本文基于 bestblogs.dev 的《Agent 安全与沙箱化指南》主题解读深度整理,综合 Anthropic、OpenAI、Claude Managed Agents、Project Glasswing、MCP 生产部署与供应链攻击案例。


引子:安全边界的定义,已经变了

今天的 AI Agent 正在获得越来越大的权力:终端、浏览器、代码仓库、MCP 服务、企业内网访问权——它能读你的文件、跑你的代码、连你的数据库、调你的生产 API。

在这个背景下,一个根本性的转变发生了:

真正的安全边界,不再是"让模型听话",而是把威胁建模、沙箱隔离、网络出口、密钥治理、供应链审计和人工审批,合成一套可验证的运行时。

一句话概括这份指南的灵魂:

Agent 安全的核心转向,是从「提示词约束」转向「运行时约束」。

你不能再把安全寄托在一段 system prompt 上。因为 Agent 既是用户界面,也是可执行主体,还可能通过 MCP、浏览器扩展、CI/CD、代码仓库和私有 API 直接进入组织内部。这不是单个产品的加固问题,而是一套全新的应用安全模型


一、两个奠基性的工程实践

Anthropic 的 Containment:把风险分类隔离

Anthropic 在 claude.ai、Claude Code 和 Claude Cowork 中,把风险拆成三类,再用不同的隔离模式兜底:

风险类型 说明
用户滥用 恶意用户主动利用 Agent 做坏事
模型行为不当 模型自身误判、越权、被误导
外部攻击者 被注入的网页、仓库、依赖

对应的隔离手段包括:临时容器、人工参与沙箱(human-in-the-loop)、本地虚拟机

Containment 文章最值得借鉴的不是具体技术名词,而是把「风险、环境、模型和外部内容」分开建模的思路。

OpenAI 的 Windows Codex:不要只做「软约束」

OpenAI 为 Codex on Windows 走过一轮很有教育意义的路径:

  1. 先用 SID 与写入受限令牌限制文件写入;
  2. 随后承认网络隔离不能只靠环境变量
  3. 最终改用专用 Windows 用户和防火墙规则做强边界。

这个案例是"不要只做软约束"的最佳工程参照:环境变量代理、提示词承诺、"默认不联网"都不是强边界;真正可靠的是专用用户、防火墙规则、ACL、容器/VM 或经过验证的运行时原语。


二、核心框架:把 Agent 安全拆成六个问题

这份指南把复杂的 Agent 安全,收敛成六个必须回答清楚的问题:

# 问题 对应的安全机制
1 它能什么? 文件读权限、只读挂载
2 它能什么? 文件写范围、ACL
3 它能哪里? 网络出口白名单、防火墙
4 它能拿到什么密钥 短生命周期身份、密钥拆分
5 谁批准高风险动作? 人工审批、策略引擎
6 失败后如何审计和回滚 审计日志、取证隔离、可撤销路径

把这六个问题回答清楚,你就有了一份 Agent 的威胁模型骨架。


三、五大工程实践

1. 先画威胁模型,而不是先选沙箱产品

把 Agent 看成一个会读取上下文、生成计划、调用工具、执行副作用的主体。第一步不是买产品,而是列两张清单:

  • 资产清单:代码、密钥、用户数据、生产 API、浏览器登录态、内部 MCP 服务;
  • 攻击者清单:恶意用户、被注入的网页或仓库、被污染的依赖、模型误判、过度授权的内部工具。

2. 把文件、网络和进程权限做成硬边界

沙箱至少要回答三件事:

  • 哪些目录可读写?
  • 哪些网络目的地可达?
  • 子进程以什么身份运行?

OpenAI 的 Windows Codex 经验说明:环境变量代理、提示词承诺和"默认不联网"都不是强边界。真正可靠的是专用用户、防火墙规则、ACL、容器/VM 或经过验证的运行时原语。沙箱设计要落到用户、ACL 与防火墙这类可执行边界

3. 把工具执行留在你能审计的边界内

企业 Agent 的关键,不是让模型服务商"看不见一切",而是让敏感执行发生在企业能施加网络策略、日志、密钥管理和取证流程的地方

Claude Managed Agents 提供了典型模式:

  • 模型服务商只负责上下文与编排
  • 工具执行、私有文件、密钥和内部服务,保留在客户基础设施或客户选择的托管沙箱中;
  • MCP 隧道避免把私有服务直接暴露到公网。

4. 把 Agent 配置纳入供应链审计

这是最容易被忽视、也最危险的一环。不要只审计 package-lock 和 CI workflow。

近期供应链分析显示,攻击者已经开始把这些当作凭证目标:

  • .claude/settings.json
  • VS Code tasks
  • MCP token
  • CI/CD OIDC 配置
  • 开发环境持久化钩子(安装脚本 hook)

安全基线应包括:依赖隔离、令牌最小权限、安装脚本审计、可疑配置 diff、离线取证,以及**"先隔离后轮换凭证"的响应顺序**。来源证明和 2FA 不能替代最小权限与取证隔离。

5. 用 LLM 做安全放大器,但保留独立验证和披露节奏

LLM 可以加速漏洞发现和代码审计,但它也会把组织瓶颈从"发现"推到"验证、分类、修复和披露"

Project Glasswing 把问题说得很清楚:发现速度提升后,生态系统更需要分流、确认和补丁部署能力。Claude 的源代码安全指南也建议:

独立验证步骤过滤误报,在沙箱里构建 PoC,而不是让一个 Agent 同时发现、证明和修复所有问题

更稳的流程是"发现 Agent + 独立验证 Agent"分离——把安全 Agent 的产出降级为候选事实


四、生产级 Agent 安全基线清单

把上述实践落成一份可执行的安全基线:

维度 基线要求
网络出口 允许列表绑定目的地、协议、端口和时间窗口;"模型认为需要联网"的请求走审批或策略引擎
身份 每个工作区使用短生命周期身份,不复用用户主 token
密钥 不把长期 API key 放进 prompt、shell history 或项目配置;MCP credential 按服务器和能力拆分
动作分级 读文件、跑测试、生成补丁可自动化;删数据、推代码、发布包、调生产 API、改安全组必须有明确审批、审计事件和可撤销路径
输入污染 把提示注入当作输入污染(而非模型道德问题)——网页、README、issue、日志、依赖说明都可能携带指令;隔离、只读挂载、schema 校验和工具权限才是可证明的控制
安全 Agent 产出 降级为候选事实,误报、重复、披露协调和修复验证都要独立管理

Anthropic 的经验提醒:自定义 allowlist 和代理逻辑,比成熟的 VM / syscall / runtime 原语更容易出错。 能用成熟原语就别自己造轮子。


五、常见问题(FAQ)

Q1:Agent 安全是不是主要靠 system prompt?
不是。System prompt 可以表达策略,但它不是强制执行层。真实防线应放在文件系统、网络、身份、工具 schema、审批流和审计日志里。你不能把安全寄托在一段文字上。

Q2:本地 Agent 和云端 Agent 哪个更安全?
没有绝对答案。本地 Agent 更接近用户文件、终端和浏览器登录态,权限过大时风险很高;云端 Agent 更容易集中审计和隔离,但需要处理数据边界和供应商信任。Claude Managed Agents 的方向是折中:模型编排在云端,工具执行和私有服务留在企业边界内。

Q3:MCP 的安全风险主要在哪?
不是协议名字本身,而是工具被连接后的权限组合。本地 stdio server 可能带来未经验证的二进制;远程 MCP 需要 OAuth、授权服务器发现、传输安全和服务生命周期治理;MCP token 若和 IDE、CI、仓库配置混在一起,也会成为供应链攻击目标。

Q4:让 Agent 自动修漏洞可靠吗?
可以作为加速器,但不应直接等同于可信修复。更稳的流程是"发现 Agent + 独立验证 + PoC + 分类 + 修复验证"分离,而非一个 Agent 包办全部。


结语:团队今天最应该先做的三件事

如果这份长长的地图让你无从下手,指南给出了三个立刻可以开始的动作:

  1. 盘点权限——盘点 Agent 能读写的目录、token、MCP server、浏览器登录态和生产 API;
  2. 关掉默认出口——把默认网络出口关掉,只为任务开放目的地,并记录审批;
  3. 扫描配置——把 Agent 配置纳入供应链扫描:检查 .claude.vscode、CI workflow、安装脚本、包管理器 hook 和 MCP credential diff。

Agent 安全的时代命题,是承认一个残酷的现实:提示注入、模型失误和外部攻击,都可能同时发生。 沙箱之所以是"最后防线",正是因为它不依赖模型是否遵守指令。当你把安全从"说服模型"迁移到"约束运行时",你才真正拥有了可证明的控制力。


延伸阅读(源自 BestBlogs 站内引用)

  • Anthropic:官方工程复盘,最系统地解释如何在不同产品里做 Agent containment
  • OpenAI:Windows Codex 沙箱设计,理解文件与网络隔离为何要落到 OS 原语
  • Project Glasswing:AI 安全工具会把瓶颈从"发现"推向"验证和修复"
  • Claude Managed Agents:自托管沙箱与 MCP 隧道,企业 Agent 安全部署代表案例
  • Claude 源代码安全指南:威胁建模、沙箱、发现、验证、分类、修复的实操循环
  • 供应链分析材料:把 Agent 配置、MCP token 和 IDE tasks 纳入应急响应
  • LessWrong:系统提示影响构造场景中的 Agent 行为(作为风险研究视角,非真实事故)
  • MCP 生产部署演讲:补足 OAuth、远程 MCP 和企业架构视角

原始主题页:bestblogs.dev/explore/topics/agent-security-sandboxing(10 篇引用,10 篇延伸阅读)
本文由 AI 辅助整理并经人工审核,围绕站内引用编排。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐