一幅在近乎黑色背景上生成的抽象插画:一个淡蓝色玻璃制成的密封腔体容纳着一个发光的琥珀色立方体;一条狭窄的开口管道从腔体右下侧伸出,将一条细细的琥珀色光线引向右侧边缘一个小型深色控制台。腔体的墙壁完好无损,没有裂纹。没有文字,没有标志,没有人。
AI Safety Incidents

DeepSeek Harness CVE-2026-82533:一个沙箱化智能体用一条命令禁用了自己的沙箱

作者

Rowan Sterling

发布日期

最新模型 · 20查看全部模型 →
基准测试:Artificial Analysis · 每日更新
返回全部文章

VulnCheck 于 2026 年 9 月 8 日发布了 CVE-2026-82533:这是一个严重的认证绕过漏洞,可让 AI 编程代理用一条 shell 命令关闭自己的沙箱。该软件是 DeepSeek Harness,即 DeepSeek 面向编程代理的开源本地运行时;云安全联盟称其在数周内获得了约 215,000 个 GitHub 星标;0.1.2-alpha.1 之前的所有版本均受影响。它根据调用方自己的 Host 头来判断调用方是否来自本地,因此请求可以声称自己来自回环地址。由于其沙箱限制了文件写入,却没有限制回环网络,受限制的代理可以调用该 harness 在 3080 端口上未经认证的控制 API,并将其会话切换为 danger-full-access,同时关闭审批。VulnCheck 给出的评分为 9.4,属严重级别;未声称存在在野利用。该记录是 AI 事件公共数据集中的一条,而Orca AI Incident Archive保存了完整记录集,其中包含每条记录的日期、严重性等级和来源。

那个询问请求是什么的检查

易受攻击的组件是 harness 的本地 agent-control API,即 Web 界面和命令行用来驱动正在运行的会话的小型 HTTP 服务。根据 Cloud Security Alliance 于 2026 年 9 月 10 日发布的研究简报(该简报借鉴了发现该漏洞的公司 OX Security 的报告),该服务默认监听 127.0.0.1 的 3080 端口,并在一个简报中命名为 isTrustedApiRequest 的函数中做出信任判断。该函数读取 HTTP Host 头,并在其值与 localhost 或 127.0.0.1 等环回名称匹配时授予访问权限。Host 头是客户端写入的元数据;它完全不说明 TCP 连接来自何处。The Hacker News 于 2026 年 9 月 9 日援引受影响源码报道称,该检查从未查看连接的来源,同一文件中的一条注释称该检查“不是认证层”。

这就是 CWE-807 的全部内容,即在安全决策中依赖不可信输入;这也正是 VulnCheck 已发布的记录所描述的情况:接受客户端提供的回环 Host 头,而不是验证实际的 TCP 连接来源。

把一张空头支票变成逃逸路线的,是执行框架把代理自己的钥匙交给了它。据 Hacker News 报道,执行框架会把控制接口的地址和当前会话的标识符传给代理的 shell,因此命令无需自行发现这两者。与此同时,沙箱只覆盖了一个通道,却没有覆盖另一个:受影响版本的命令行参考说明,在默认设置下,写入操作会留在工作区和临时文件夹内,而读取和网络访问则不受限制。

A white card headed 'One command, from inside the sandbox', subtitled 'DeepSeek Harness 0.1.1-rc.2 and earlier, on shipped defaults — the sequence OX Security described', with a kicker reading 'CVE-2026-82533 · CVSS 9.4 · CWE-807'. Five numbered steps: the sandbox confines files but not the network; the harness hands the agent's shell the control interface address and session identifier; the API on 127.0.0.1:3080 is unauthenticated and isTrustedApiRequest accepts any Host header claiming loopback; no approval prompt fires because the call changes the session setting rather than requesting broader access; the agent then runs as the user who launched the harness. A footer credits the Cloud Security Alliance note of 10 September 2026 and The Hacker News of 9 September 2026.

为什么批准提示没有阻止它

该 harness 确实有批准提示,但这些提示与其说是被绕过,不如说是不适用。Hacker News 报道称,在受影响版本中,只有当某条命令试图获取比会话已有权限更广的访问权限时,才会请求批准。那次提权调用并没有寻求这类访问;它改变的是会话的设置。执行该调用的智能体进入了 OX Security 称为 danger-full-access 的模式,批准提示被设为 never,并继续以启动该 harness 的用户身份运行,完全处于沙箱之外。

OX Security 关于这一边界的证据是一组受控对照。The Hacker News 报道称,该公司以完全相同的默认设置运行了两个会话,并向两者发出了相同的命令:发起调用的那个会话写入了其工作区之外的文件夹,而另一个则被阻止。

第二条路径,以及它所需的前提条件

同一个缺失的检查使该框架暴露给了从未身处沙箱内的调用方,但仅在默认配置并未创建的一种条件下才会如此。命令行拒绝将 API 绑定到所有网络接口,因此只有当用户已经转发该端口时,才能从其他地方访问它——据 The Hacker News 报道,这可以通过隧道、反向代理、SSH 转发或编辑器自带的端口转发功能实现;Cloud Security Alliance 的说明列出了同一组方式。VulnCheck 的公告指出,在满足该前提条件的情况下,未经身份验证的调用方可以创建会话、执行任意命令,并窃取已存储的对话记录。The Hacker News 还补充说,同一接口还响应了一个可下载会话完整日志的请求。

沙箱化路径需要不同的前提条件:即智能体将会阅读并据以行动的文本。云安全联盟的说明描述了一个受约束的智能体处理嵌入在代码注释、README 文件或 issue 文本中的攻击者提供的提示。两条路径都不需要被盗密钥,而且该说明指出,一旦端口暴露,远程路径完全不需要与模型进行任何交互。

因此,受影响人群是任何使用默认配置运行 0.1.1-rc.2 或更早版本测试框架的人,而星标数只能粗略体现这一群体的规模。The Hacker News 在 2026 年 9 月 9 日统计到超过 216,000 个星标,并提醒说,星标只是书签,而非安装。

什么是已确立的,什么不是

根据 CVE 记录本身可以确认:VulnCheck 是编号管理机构,它于 2026 年 8 月 29 日预留了该标识符,并于 9 月 8 日 16:59 UTC 发布了该记录;弱点为 CWE-807;受影响范围是 0.1.2-alpha.1 之前的所有版本;致谢归于 Nir Zadok 和 Moshe Siman Tov Bustan。该记录包含的两个评分——CVSS 4.0 下的 9.4 和 CVSS 3.1 下的 9.6——来自 VulnCheck,而非来自第二个独立评分方——NVD 将这两项指标都列为来源于 VulnCheck——因此它们是同一项评估以两种框架表达,而不是两项评估得出一致结论。

已从仓库确认:修复提交 3e24087 的标题为“fix(web): authenticate the browser Host API”,日期为 2026 年 8 月 24 日;根据 GitHub API,该提交新增了一个浏览器认证模块,以及 210 行针对新流程的端到端测试。标记为 dsh-v0.1.2-alpha.1 的版本随后于 8 月 27 日 17:06 UTC 发布。

未确认:使用。CVE 记录、VulnCheck 的公告以及 DeepSeek 的发布说明均未描述在野利用,NVD 将漏洞利用成熟度记录为未定义。FIRST 的 EPSS 模型在日期为 2026 年 10 月 27 日的数据馈送中,为该漏洞给出了未来 30 天内 1.24% 的利用概率,处于第 68.9 百分位。该存档未记录此条目的任何现实世界危害,并将其评为置信度 A,记录详实,且一手来源一致。

日期,包括最先送达的两份报告

两名开发者在还没有可指认的 CVE 之前就得出了相同结论。The Hacker News 报道称,2026 年 8 月 13 日该项目自己的讨论板上有一篇帖子显示,一个仍被沙箱限制的进程访问到了本地接口,并将会话切换为 danger-full-access,且附有测试输出;8 月 14 日的第二篇帖子则列出了该接口在无需凭据的情况下接受的请求。第二篇帖子还指出,该项目没有安全策略文件,也没有用于私下报告漏洞的渠道;The Hacker News 于 9 月 9 日核查后发现,该安全策略文件仍然缺失。

OX Security 的时间线显示,其向 VulnCheck 提交报告的时间是 2026 年 8 月 24 日——与 GitHub 记录的修复提交日期相同。该提交信息对这份报告只字未提;而正如 The Hacker News 所描述的那样,OX Security 的公开说明也没有提及更早的社区帖子。8 月 24 日的这两件事是否相关,公开记录并未说明,本文也不作此假设。

修复与披露之间的时间差并不罕见。云安全联盟的说明指出,OX Security 于8月30日确认了修复,即 VulnCheck 发布该 CVE 的九天前。

A white timeline card headed 'From discussion board to CVE', subtitled 'The escape was described publicly ten days before the firm that reported it sent its report'. Rows: 13-14 August 2026, two community reports on the project discussion board; 21 August, 0.1.1-rc.2 published to npm; 24 August, OX Security reports to VulnCheck and fix commit 3e24087 is dated the same day; 27 August, GitHub release dsh-v0.1.2-alpha.1 at 17:06 UTC, never published to npm; 29 August, CVE identifier reserved; 30 August, fix confirmed and 0.1.2-alpha.2 becomes the first fixed npm release; 6 September, one Windows wrapper moves to 0.1.3-alpha.1; 8 September, CVE-2026-82533 published at 16:59 UTC with CVSS 9.4; 9 September, no security advisory on the repository's advisory list.

修复应用于何处,又未应用于何处

GitHub 上的标签与包仓库并未同步更新,而如果你按照其说明所建议的方式安装了该 harness,这一点尤其值得注意。命令行包 @deepseek-ai/dsh 于 2026 年 8 月 21 日发布了 0.1.1-rc.2,此后直到 8 月 30 日的 0.1.2-alpha.2 才再有动静。CVE 中指明为修复版本的那个版本 0.1.2-alpha.1,在仓库中完全找不到,因此首个可安装的修复版本比修复本身晚了三天才出现。本文所查阅的 npm 仓库元数据读取于 2026 年 10 月 28 日;The Hacker News 于 9 月 9 日报道了同样的缺口。

发布说明并未将其描述为安全版本。在例行变更中,发布说明提到 Web 界面现在要求对网络访问使用一次性令牌认证,但没有提供 CVE 引用,也没有安全公告;The Hacker News 于 9 月 9 日在仓库的公告列表中没有发现任何安全公告。正如 Cloud Security Alliance 所描述的那样,该机制是:harness 在启动时打印一次性令牌,浏览器用该令牌换取签名的 cookie,之后每次调用都必须出示该 cookie——信任绑定到进程启动时签发的密钥,而不是绑定到所声称的网络来源。

第三方构建是薄弱环节。桌面封装程序自带一份 harness 副本,因此用户运行哪个版本由封装程序维护者决定;The Hacker News 发现,一个 Windows 构建版本在 8 月下旬仍锁定在 0.1.1-rc.2,于 9 月 6 日改为 0.1.3-alpha.1,该版本包含修复。

沙箱本身没有变化。The Hacker News 在阅读 0.1.2-rc.1 命令行参考时,发现了同样的表述:读取和网络访问不受限制,并发现该代理的 shell 仍会收到接口地址。该报道中没有任何来源说明,在其工作区内工作的代理是否仍能在新方案下获得有效会话,而这也是补丁自身文档尚未回答的问题。

A generated abstract illustration on a near-black background: a glowing amber key floats above a narrow round slot in dark metal, and a thin translucent wafer slides into the slot to seal it, lit cyan at the join; a ring of small indicator lights around the slot glows steady blue. No text, no logos, no people.

记录的消息来源推荐什么

• 无论采用何种打包方式,任何 0.1.1-rc.2 或更早版本的安装都应视为受影响,包括嵌入桌面封装程序中的副本。

• 从 npm 安装 0.1.2-alpha.2 或更高版本;2026 年 10 月 27 日注册表上的最新版本为 0.2.2-alpha.2。

• 如果无法升级,请在未使用 Web 界面时将其停止,并移除任何可访问 3080 端口的隧道、代理或端口转发。

• 检查除回环地址外,端口 3080 是否可从任何位置访问,包括容器端口转发、反向代理和 SSH 隧道。

• 在 harness 层面记录权限提升和审批模式变更,因为此次攻击之所以得逞,正是通过让未经授权的权限提升看起来像例行活动。

这五个漏洞均来自 Cloud Security Alliance 的说明和 The Hacker News 的报道;CVE 记录本身除了修复版本外,未提供任何修复指导。

为什么 Cloud Security Alliance 将其视为一种模式

Cloud Security Alliance 的说明将这一 CVE 与其在 2026 年记录的其他两起编码智能体隔离失效事件并列:7 月 1 日的 GuardFall,其中 11 个流行开源编码智能体中有 10 个可被诱导运行其防护栏本应阻止的 shell 命令;以及 7 月 22 日的信任交接发现,其中受隔离的智能体写入了一个文件,随后由沙箱外的一个受信任组件执行。该说明明确指出,这三起事件均来自其自身研究,而非对市场的详尽调查,并且该模式是否会在其审查的智能体之外普遍适用尚未得到证实。它确实主张的是,这些失效位于不同层面——命令防护栏、下游信任,以及现在的控制平面身份验证——这正是它建议将沙箱架构视为采购问题、而非已满足的要求的原因。

DeepSeek 自身的安全文档并不与这种解读相矛盾。该仓库的 SAFETY.md 指出,该软件“尚未经过安全审计,不得被视为安全或可用于生产环境”,并且沙箱隔离、审批提示和权限控制“并不能保证隔离或防止损害”。在当前构建版本中,那个让智能体得以通过控制 API 逃逸的身份验证缺口已被补上。使这次逃逸过程如此短暂的不对称——对写入设有边界,而对网络却没有任何边界——仍然是沙箱的一项已声明限制,而不是该补丁旨在修复的缺陷。