第二十课:安全模型概述
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 的安全架构包含三个层次:
- 沙盒层:操作系统级的隔离
- 审批层:人机协作的安全确认
- 策略层:自定义的执行规则
这三层共同构成了 Codex 的纵深防御体系。
五、本课小结
| 要点 | 说明 |
|---|---|
| 沙盒必要性 | 代理可执行代码,需要安全限制 |
| 威胁类型 | 模型幻觉、Prompt注入、权限提升 |
| 安全原则 | 最小权限、纵深防御、透明可控 |
| 安全架构 | 沙盒 + 审批 + 策略三层防御 |
下一步
下一课我们将详细了解三级沙盒策略。