安全隔离 — 实现方式对比
三个层次
Level 1: 无隔离
凭证在环境中随处可用,Agent 可以访问一切。
| Agent |
状态 |
| Claude Code |
本地执行,环境变量直接可用 |
| omp |
本地执行,环境变量直接可用 |
| Aider |
本地执行 |
| OpenCode |
本地执行 |
| Cursor |
本地执行 |
Level 2: 云端沙箱
Agent 在隔离的云端容器中执行,与本地环境分离。
| Agent |
实现方式 |
| Codex |
云端沙箱,独立容器 |
| Devin |
云端一体环境 |
优点:本地凭证不暴露给 Agent;执行环境可销毁重建
缺点:依赖云端服务;无法访问本地资源
Level 3: 凭证卫士(Credential Guard)
统一管控所有凭证访问,验证调用者 + 检查授权 + 记录日志。
| Agent |
实现方式 |
| Hermes |
Credential Guard 系统 |
Hermes Credential Guard:
- 所有凭证访问走统一关卡
- 子代理只能拿到最小权限(principle of least privilege)
- 每次访问记录审计日志(谁、什么时候、访问了什么)
- 本地工具看不到云端凭证,反之亦然
安全事件记录
Claude Code 追踪事件(2026-07)
- 4月2日:v2.1.91 植入追踪代码
- 6月30日:安全研究者逆向审查后公开披露
- 7月1日:Anthropic 承认,称是”政策合规研究”
- 7月2日:v2.1.197 版本移除追踪代码
- 7月8日:工信部 NVDB 定性为”存在安全后门隐患”
做了什么:检测中国用户时区和代理域名,用 Unicode 隐写术嵌入分类结果到 system prompt。
关键点:不受 DISABLE_TELEMETRY 开关控制;VPN 改不了时区才能避免标记。
关键问题
- 密钥存储:明文配置文件 vs 加密存储 vs 环境变量
- 网络访问:Agent 是否可以发起任意网络请求?
- 文件系统边界:Agent 是否可以访问项目目录外的文件?
- 审计能力:是否有完整的操作日志?
待补充