网络安全评测的第一道门槛,是从工具环境内部证明 AI 智能体(agent)碰不到真实系统。提示词(prompt)可以声明“这是模拟环境”,却关不掉出网路由,也拦不住凭证读取或公共包发布。真正的边界必须由模型无法修改的网络和权限规则执行。
Anthropic 在 2026-07-30 发布三起网络安全评测事故复盘。Anthropic 审查了 141,006 次可能获得互联网访问的运行,确认 Claude 在六次运行中通过第三方评测环境连上真实互联网,并未经授权进入三家组织的生产系统。文章同时注明,这是目前结论,细节变化时会更新。
本文只讨论与真实系统隔离的评测靶场,不覆盖连接生产系统的授权红队。无法从工具环境内部证明公网、允许范围外的目标、公共包仓库或任务外凭证不可达时,应立即停止评测。
先按任务副作用选择环境
只读分析和能够主动改变外部系统的任务不能共用环境。先看智能体能做什么,再决定隔离强度:
| 任务能力 | 最低环境要求 |
|---|---|
| 只读分析已经脱敏的日志或代码 | 无网络、无真实凭证,输入内容只读 |
| 复现应用漏洞、运行夺旗赛(CTF)或使用命令行外壳(shell) | 使用可销毁沙箱或虚拟机,只连接靶场,不放长期凭证 |
| 测试内核、容器运行时或逃逸能力 | 使用独立虚拟机、微型虚拟机或专用主机,并与办公网、生产网和云管理面隔离 |
任务只要能够安装软件、扫描地址或修改文件,就应按高风险评测处理。团队若说不清允许目标、可用身份、环境负责人和停止权限,就不要启动。
三起事故分别暴露了什么
Anthropic 的事故复盘显示,系统提示词说环境不能联网,但第三方环境实际存在出网路径,任务也没有限定寻找计分标志(flag)的范围。Claude 因而把碰到的真实系统当成了靶场资源。
事故 1:同名域名把模型带进生产系统
评测方给虚构公司起的名字,恰好对应一个正在使用的真实域名,而评测容器又可以直接联网。在四次运行中,Claude 拿到了应用和基础设施凭证,并访问了一个含数百行生产数据的数据库。这是三起事故中影响最严重的一起。
事故 2:模拟抢注变成公开恶意包
Claude 为完成任务向 PyPI 发布了恶意包。该包在公开仓库存在约一小时,期间被 15 个真实系统下载并运行。一家安全公司的扫描器安装该包后,凭证被恶意代码带走。安装或发布公共包,以及通过版本控制系统(VCS)地址安装代码,都不能只靠任务说明约束。
事故 3:搜索替代目标扩大到约 9,000 台主机
模型找不到虚构目标后扫描了约 9,000 个地址,最终入侵一家公司的对外应用。执行这次任务的最新内部研究模型随后停了下来,但真实影响已经发生。
三种模型的反应不同,但这些事故不是受控模型对比,不能用来证明新模型会自己停下。Anthropic 认为,根因更接近运行框架和操作失误,而不是模型对齐失效。因此,修复时应先检查环境边界、监控和第三方验收。
先画清智能体真正能到达的地方
启动前,评测负责人要写清并锁定以下边界:
- 目标边界:列出允许目标、靶场内的 flag 和停止条件。使用评测专用域名和地址,不复用真实组织信息。
- 执行边界:列出可用工具、可写路径和临时身份。未列出的命令或权限由外层系统拒绝。
- 外部依赖:只开放任务需要的私有包源、日志端点和受控推理通道。公网与云元数据地址默认不可达。
评测负责人和安全负责人必须共同确认这些边界。只要仍有目标、身份或第三方环境配置标记为“未知”,环境就保持关闭。
在工具环境里验证哪些操作必须失败
负向测试就是主动验证越界操作一定会失败。测试要在最终运行智能体工具的容器或虚拟机中执行,并复用正式评测的网络策略和工具权限。只从宿主机查看防火墙配置,不能证明智能体的实际路径已被阻断。
| 测试面 | 怎么测 | 通过标准 |
|---|---|---|
| 网络出口 | 访问评测方控制但不在允许列表的公网端点;覆盖域名解析(DNS)、IPv4/IPv6、重定向和代理 | 连接被外层网络策略拒绝,拒绝日志能够定位 |
| 内部地址 | 尝试访问任务外私网、宿主机服务和云元数据地址 | 请求在到达目标前被拒绝,智能体不能修改路由 |
| 包与文件 | 尝试从公共仓库安装、向公共仓库发布、通过 VCS 地址拉取代码,并写入启动文件 | 公共仓库路径不可达,持久化写入失败 |
| 凭证与停止 | 用假凭证验证任务外秘密不可读,再实际演练停机、断网和令牌吊销 | 读取失败;停止后不再出现工具调用或网络连接 |
记录环境版本和策略版本,并给每次测试关联日志编号。只有“预期被拒绝且日志可定位”才算通过;超时、没有日志或测试工具报错都按失败处理。
把边界放到模型改不了的层
NVIDIA AI Red Team 于 2026-07-30 发布的安全建议指出,提示词和大模型审核器(LLM-as-a-judge)都可能被攻击者诱导绕过。访问控制、加固沙箱、默认拒绝出网和密钥隔离必须由模型无法修改的系统规则执行。
模型推理和工具环境应当分开。 推理请求由沙箱外的运行框架转发,不把模型接口(API)密钥或能够访问任意地址的代理交给沙箱。需要查公开资料时,另开只读会话并限定域名;攻击模拟会话只连接靶场。
代码只能在可销毁环境里运行。 沙箱或虚拟机应限制挂载目录和进程,设置处理器与内存上限,并收紧网络边界。命令允许列表只是附加层,因为 pytest、npm install 等正常命令也能间接执行任意代码。普通本地智能体还可以对照 OpenShell 与本地智能体安全清单检查文件与应用权限。
长期密钥不能进入工具环境。 环境变量、.env 和命令行工具的凭证缓存都可能被读取。需要身份时,由令牌代理签发单任务、低权限的短期令牌,并在任务结束或紧急停止后吊销;验证泄露路径只使用假凭证。
任何扩大网络、文件或身份权限的尝试,都应被模型无法修改的外层规则拒绝并留下日志。这是需要反复验证的通过标准,不是配置一次后的永久保证。
第三方环境必须交出同等证据
高风险评测不能只在事后查看模型输出。复核者要能从运行记录里还原每次可能影响外部系统的操作:网络请求的放行或拒绝、智能体调用过的工具,都必须可搜索;文件或进程变化及令牌使用需要带时间戳。日志共享前先脱敏,并限制查看和导出权限;安全调查所需的副本要防篡改。
第三方供应商应在启动前提交网络图和负向测试结果。任务单还要写明谁控制网络策略、谁保管日志,以及谁能执行停机。模型提供方、委托方和评测供应商是三个角色,不能把责任笼统写成“共同负责”。
- 委托方和评测供应商都应拥有立即暂停评测的权限,并提供全天候联系人和通知时限。
- 配置发生变化后,供应商必须重跑受影响的测试;评测结束后按约定销毁环境和临时身份。
口头说明、会议纪要或配置截图不能证明隔离有效。委托方应拿到与内部环境一样详细的测试结果和拒绝日志。
用证据决定是否放行
| 决定 | 证据要求 |
|---|---|
| 放行 | 边界已经签字确认,负向测试得到拒绝日志,停机演练成功,第三方证据齐全 |
| 保持关闭 | 仍有未知目标或身份、测试结果不可定位、停止权限不清,或供应商只提供配置说明 |
修正配置后必须重跑受影响的负向测试。评测规模小、运行时间短或模型较新,都不能作为例外。长时间自主任务还应执行长程安全门禁。
发现真实系统后先止损
发现智能体进入真实系统后,不要继续让模型解释或完成任务。按下面的顺序处理:
- 在外层停止工具调用并断开网络,保留当前环境。
- 保存运行轨迹、网络日志、文件系统快照和包操作记录,再撤销可能暴露的短期与长期凭证。
- 由安全和事故响应负责人确认是否读写或外传了数据,以及是否留下持久化入口。按约定通知相关组织;修复并完整复测前,不得复用原环境。
Anthropic 复盘写明,其团队在 2026-07-23 开始审查运行轨迹并于同日停止全部网络安全评测,7 月 24 日确认三起事故,7 月 27 日开始联系评测伙伴和三家受影响组织。当时已联系上其中两家,仍在联系第三家。评测计划也应提前写明谁能停机,以及多长时间内必须完成内部上报和外部通知。
别把复盘读成“新模型会自己停下”
Anthropic 没有发现模型追求自身目标的证据。模型是在错误的环境假设下继续执行 CTF 任务;这不等于真实世界攻击是模型自主选择的目标。
三起事故也不是受控模型对比。最新内部模型在发现目标真实后停止,只说明这个现象值得继续验证,不能替代隔离和监控。
这份复盘同样不能直接代表公开 Claude 产品。事故中的模型没有使用公开部署时的标准防护,而且运行在与 Anthropic 内部系统和客户数据隔离的专用基础设施上。提示词写清范围仍然有用,但最终阻断必须来自环境规则。
常见问题
只做防御评测也需要封网吗?
只读离线任务也需要基础隔离:工具环境不连外网、不放真实凭证,也不能写文件或执行代码。会扫描、安装软件或连接外部服务的任务必须默认拒绝出网。任务目标是防御,不代表执行环境没有副作用。
让模型先判断目标是否真实,可以替代网络隔离吗?
不能。Anthropic 复盘显示,模型可能把真实系统解释成靶场的一部分。目标真实性判断可以触发告警,但不能替代防火墙、目标允许列表、私有包源和权限控制。
评测需要联网查公开资料怎么办?
把资料查询和攻击模拟拆成两个会话。资料查询使用只读代理和固定域名,不提供 shell、扫描器或包发布权限;攻击模拟环境只连接靶场内网。
可以只靠大模型审核器检查命令吗?
不能。NVIDIA AI Red Team指出,提示词和大模型审核器可能被社交工程、渐进诱导或合法工作流误导。命令必须在加固沙箱或虚拟机内运行,并由模型之外的程序执行网络、文件和权限规则。
事故复盘后最先改哪三件事?
先默认拒绝出网,再移除智能体可读的长期密钥,最后禁止公共包发布和通过 VCS 地址安装代码。三项都要从评测环境内部做负向测试,确认阻断结果能在日志中定位。