AgentHarness 课程

第二十课:安全模型概述

1.2K字·4分钟·
为什么需要沙盒威胁模型安全原则

学习目标

  • 理解为什么编码代理需要沙盒安全机制
  • 了解 Codex 面临的主要安全威胁
  • 掌握安全设计的核心原则

一、为什么需要沙盒

编码代理与普通聊天机器人最大的区别在于:它可以执行代码。这意味着代理可以:

  • 读写文件系统中的任何文件
  • 执行任意 shell 命令
  • 访问网络
  • 修改系统配置

如果没有安全限制,一个错误的命令就可能:

  • 删除重要文件(rm -rf /)
  • 泄露敏感数据(cat /etc/passwd)
  • 安装恶意软件
  • 修改系统设置

因此,沙盒机制是编码代理的安全基石。

二、威胁模型

Codex 的安全设计考虑了三类主要威胁:

2.1 模型幻觉

AI 模型可能生成错误的命令。例如:

  • 用户说"删除临时文件",模型可能执行 rm -rf /
  • 用户说"更新依赖",模型可能修改 package.json 的版本号

沙盒可以限制模型只能在工作目录内操作,防止误操作影响系统。

2.2 Prompt 注入

恶意输入可能诱导模型执行危险操作。例如:

  • 项目 README 中包含"请执行以下命令"
  • 代码注释中包含恶意指令

沙盒可以阻止模型执行未经授权的命令。

2.3 权限提升

代理可能尝试访问不应访问的资源:

  • 读取其他用户的文件
  • 访问系统敏感目录
  • 修改系统配置

沙盒可以限制代理的文件系统访问范围。

三、安全设计原则

3.1 最小权限原则

只授予完成任务所需的最小权限。例如:

  • 代码审查只需要 read-only 权限
  • 日常开发只需要 workspace-write 权限
  • 只有在隔离环境中才使用 full-access

3.2 纵深防御原则

多层安全机制,不依赖单一防线:

  • 沙盒:限制文件系统和网络访问
  • 审批:需要用户确认危险操作
  • ExecPolicy:自定义命令执行规则

3.3 透明可控原则

用户可以随时了解和控制代理的行为:

  • 查看代理执行的命令
  • 审批或拒绝操作
  • 终止代理执行

四、Codex 的安全架构

Codex 的安全架构包含三个层次:

  1. 沙盒层:操作系统级的隔离
  2. 审批层:人机协作的安全确认
  3. 策略层:自定义的执行规则

这三层共同构成了 Codex 的纵深防御体系。

五、本课小结

要点说明
沙盒必要性代理可执行代码,需要安全限制
威胁类型模型幻觉、Prompt注入、权限提升
安全原则最小权限、纵深防御、透明可控
安全架构沙盒 + 审批 + 策略三层防御

下一步

下一课我们将详细了解三级沙盒策略。