Guardrail、沙箱与人工审批
本节目标
理解内容 guardrail、确定性策略、沙箱和人工审批解决不同问题;能为高影响动作设计参数绑定、短时有效的批准;能为代码/工具运行配置默认拒绝的文件、网络和资源边界。
纵深防御:假设每层都会失败
| 控制 | 擅长解决 | 不能单独解决 |
|---|---|---|
| 输入/输出 guardrail | 已知有害模式、数据格式、敏感字段提示 | 完整授权、所有绕过、操作系统隔离 |
| 确定性策略 | 工具允许列表、身份、对象、目的地、预算 | 自然语言内容正确性、未知业务风险 |
| 沙箱 | 文件、网络、进程、资源爆炸半径 | 某次退款在业务上是否应当执行 |
| 人工审批 | 高影响动作的知情判断与问责 | 隐藏参数、疲劳点击、审批后的参数替换 |
| 审计与监控 | 检测、追责、事件证据 | 事前阻断全部攻击 |
不要把“guardrail”泛化成所有安全控制。基于模型的内容分类器也是概率组件,会误报、漏报或受对抗输入影响;它适合补充,不应成为唯一授权者。
确定性策略层
模型只能提出候选动作;策略层接收可信身份、任务用途、规范化参数、对象、数据分类、环境、预算和审批状态,返回 allow/deny/review。默认拒绝未知工具、字段、目的地和状态。策略决策与模型文字分离,才能单元测试和审计。
Guardrail、沙箱与人工批准都不能替代服务端对象级授权。即使审批者同意“发送这封邮件”,执行器仍要确认当前主体确实能访问正文、能代表该租户发送给该收件人,且批准所绑定的对象与版本仍未变化。
安全人工审批
有效批准不是一个可复用的 approved=true。审批界面至少展示:
- 谁在什么租户执行;
- 规范化后的工具、对象、收件人/目的地和关键参数;
- 将使用或外发的数据类别与必要摘要;
- 预计副作用、数量/金额/成本和是否可撤销;
- 输入来源与风险提示;
- 批准有效期。
批准令牌应绑定主体、动作、规范化参数哈希、对象、状态版本和过期时间,由可信服务签发并一次性消费。任何关键参数或对象状态变化都重新审批。这防止“批准 A,执行 B”和检查时/使用时(TOCTOU)差异。
人类在环也会失败:批量弹窗造成疲劳、界面省略真实参数、审批者没有权限或无法判断。审批只放在真正高影响的断点,并提供安全默认、拒绝、编辑、升级和超时路径。
沙箱设计清单
运行模型生成代码或不可信工具时,最低限度考虑:
- 隔离主体:非特权、短生命周期、每次任务独立;
- 文件系统:只挂载必要输入,输出到专用目录,禁止宿主敏感路径;
- 网络:默认拒绝;若必须访问,按域名/IP/端口与重定向限制,防 DNS/SSRF 绕过;
- 进程与系统调用:禁止特权、设备、容器 socket 和不必要系统调用;
- 资源:CPU、内存、磁盘、文件数、进程数、运行时间和输出大小限额;
- 秘密:默认不注入生产凭据,需要时签发短期最小权限令牌;
- 产物:验证类型、大小与内容,防止危险可执行文件或路径穿越;
- 生命周期:超时强制终止、清理、审计、补丁和逃逸告警。
容器是实现隔离的一种工具,不是自动安全边界。具体强度取决于运行时、内核、权限、挂载和网络配置;高风险代码应由基础设施安全团队选择合适的隔离技术。
控制组合示例
“生成并运行 CSV 清洗代码”可以这样分层:模型只生成候选代码;静态检查拒绝危险导入;沙箱只读挂载输入、无网络、限制资源;输出只能是指定 CSV/报告;策略检查数据分类;用户预览行数变化和输出位置后批准替换原文件;所有步骤写入 run ID 对应的审计轨迹。
某一层漏过时,其他层仍限制影响。比如静态检查没识别混淆代码,无网络和只读挂载仍阻断外泄与覆盖。
紧急控制与安全失败
准备工具级紧急停用、凭据吊销、队列暂停、模型/Prompt/依赖回滚和只读降级。失败时不要自动切到权限更大的备用路径;拒绝原因应足够调试但不泄露秘密。紧急开关必须定期演练,否则事件中可能无效。
常见错误
- 审批只显示模型自然语言摘要,不显示实际参数。
- 批准永久有效或可跨用户、对象、状态复用。
- 沙箱仍挂载 Docker socket、宿主凭据或全网络。
- 过滤器失败时“为了可用性”默认放行。
- 把拒绝后换措辞重试当作恢复,形成绕过循环。
练习与自测
为“生成并运行数据清洗代码”写一页控制契约:允许的输入/输出、文件与网络策略、资源配额、禁止能力、需要审批的动作、批准绑定字段、超时与紧急停用。再写五个负向测试:路径穿越、未知网络、资源耗尽、参数替换、批准重放。
- 能说明 guardrail、策略、沙箱和审批各自失效模式。
- 能把批准绑定到真实且不可变的动作。
- 能让运行环境默认无秘密、无外网、最小文件权限。
- 能演练停用、撤权、回滚和安全降级。
下一步
继续 红队、监控与事件响应,验证控制在攻击与事故下是否真实有效。
参考资料
- NIST AI 600-1, Generative AI Profile(2024-07;获取日期:2026-07-21)
- OWASP GenAI Security Project(获取日期:2026-07-21)
- MITRE ATLAS(持续更新;获取日期:2026-07-21)