CVE-2026-111322:Archon 控制 API 默认无鉴权还绑 0.0.0.0,CVSS 9.8,连上网就能指挥你的 coding agent
CVE-2026-111322(10 月 15 日):开源工作流引擎 Archon 的 /api/* 控制 API 默认无鉴权、绑定 0.0.0.0,CVSS 9.8。同一网络的攻击者可直接给 coding agent 下指令、以 bypassPermissions 在主机执行任意命令;截至 10 月 16 日无补丁。本文解释漏洞原理、分析 agent 工具为何总在“默认安全”上翻车,并给出三步自查。

本周是 agent 工具链的"黑色一周"。前脚 OpenCode 刚承认 Console 泄露、1.4% 用户的 API key 疑遭窃(见本轮 n1),后脚又爆出一个更底层的雷:CVE-2026-111322——开源 AI 编程工作流引擎 Archon 的 /api/* 控制 API 默认没有任何鉴权,还绑定在 0.0.0.0 上。CVSS 3.1 评分 9.8(满分 10)。攻击者只要能连上你的网络,就能给你的 coding agent 发消息,让它以 bypassPermissions 模式在主机上执行任意命令。
漏洞由安全公司 VulnCheck 在 10 月 15 日公开,CVE 记录当天入库。截至 10 月 16 日,官方仓库的安全页面没有任何公告,最新版 v0.11.1 仍是受影响版本——没有补丁。而 Archon 不是什么小众玩具:GitHub 23.7k star,自称"第一个开源的 AI coding harness 构建器",驱动 Claude Code、Codex、Pi 跑 YAML 定义的开发工作流。
一、漏洞到底是什么:三行代码的教训
CWE 编号是 306:"关键功能的鉴权缺失"(Missing Authentication for Critical Function)。翻译成大白话:Archon 有一个控制 API(/api/*),你跑 archon serve 时它会在浏览器里给你看工作流进度——这个本该是"本地看看"的管理界面,默认监听 0.0.0.0,也就是对整个网络可见,而且没有任何登录。
CVE 记录里引用的三处代码行把问题钉死了:packages/server/src/auth/config.ts#L25-L27(鉴权配置)、src/index.ts#L909(服务绑定)、src/routes/api.ts#L1749-L1756(API 路由)。研究者 hieuPenguinnn 的 hackmd 原文把利用链写得很清楚,VulnCheck 的公告原文是:"binds to 0.0.0.0 by default" 且攻击者可 "send messages to the AI coding agent, which runs with bypassPermissions, to execute commands on the host as the Archon user."
注意这个链条里最要命的一环:bypassPermissions。Archon 驱动的 agent 默认带着"跳过权限确认"运行——这是为了工作流能无人值守地跑下去。但一旦控制面裸奔,这个"效率特性"就变成了"攻击者不需要社工、不需要提权,直接对一个手握 shell、且不会问'你确定吗'的 agent 下指令"。CVSS 向量 AV:N/AC:L/PR:N/UI:N 翻译过来就是:网络可达、攻击简单、无需权限、无需用户交互——9.8 分就是这么来的。
影响版本:0.2.13 到 0.11.1。也就是说,从引入这个控制 API 的版本起,一直到今天的最新版,全军覆没。
披露的时间线也值得记一笔:研究者 hieuPenguinnn 先在 hackmd 上公开了技术细节,VulnCheck 10 月 15 日发布正式公告,CVE 记录当天入库(2026-10-15T22:19:30Z);10 月 16 日,CVE 的 SSVC 评估更新,exploitation 标记为 poc(已有概念验证)、automatable 标记为 yes(可自动化利用)。翻译一下:从公告发布那一刻起,攻击代码的门槛就已经不存在了——poc 公开 + 可自动化,意味着扫描器和批量利用工具跟进只是时间问题。而官方仓库的安全页面至今没有任何 advisory,应急响应的速度明显没跟上披露的速度。
二、为什么 agent 工具总在"默认安全"上翻车
把 Archon 和 OpenCode 并排放,会发现一个 uncomfortable 的模式:agent 工具的"默认配置"普遍是为 demo 优化的,而不是为安全优化的。
想想看:Archon 的开发者为什么把 API 绑 0.0.0.0?因为"跑起来就能在浏览器里看"是最丝滑的 demo 体验;为什么不加鉴权?因为"本地跑个小服务还要登录"会劝退新用户。每一个"默认"背后都是增长逻辑——直到有人把这个默认服务暴露在不可信网络里。dev.to 上 Gabriel Anhaia 的文章标题就很直白:"Archon's Agent Control API Has No Login by Default and Listens on 0.0.0.0. No Patch Yet"(默认无登录、监听 0.0.0.0,还没有补丁)。
这不是孤例。回想一下 agent 工具这半年的安全新闻:MCP server 默认以宽松权限运行、agent 的 shell 工具没有沙箱、prompt 注入 via 网页内容——几乎每一次的根因都是"默认太信任"。传统软件花了二十年才学会"secure by default"(默认安全),agent 工具链正在把学费重新交一遍,只不过这次学费的计量单位是"能直接执行命令的 AI"。
更深一层的问题是能力与控制的不对称:Archon 这类"harness"(编排层)的存在意义,就是让 agent 跑得更自主、更少打扰人——YAML 定义工作流、自动推进、自动点 Approve。它把人的"确认"从回路里拿掉,换来了效率;但安全模型还停留在"反正跑在我自己电脑上"的假设里。当"自己电脑"变成"连着公司内网/公共 WiFi 的电脑",这个假设就碎了。攻击者不需要黑进你的电脑,只需要黑进你的网络——在咖啡馆、合租公寓、会议室 WiFi 里,这都不是难事。
三、现在该做什么:三步自查
官方没有补丁,但有三件事可以立刻做:
第一,查你有没有在跑 Archon。跑了 archon serve 的,现在就去看监听地址。如果是 0.0.0.0,立刻改绑 127.0.0.1,或者在前面加鉴权反向代理(Caddy/Nginx 配 basic auth,5 分钟的事)。这是 VulnCheck 公告里"Solution"部分的核心建议:升级到修复版本(还没有)+ 限制控制 API 的访问 + 检查所有网络接口。
第二,别把 agent 服务暴露在不可信网络。这条对所有 agent 工具通用:OpenCode、Archon、各种 MCP server、本地模型 API——默认只听 localhost,需要远程访问走 SSH 隧道或 Tailscale 这类加密内网。记住 CVE 向量里的 AV:N(网络可达):攻击者连你的机器都不用碰。
第三,重新评估 bypassPermissions 这类"免确认"开关。Archon 的 agent 默认 bypassPermissions,是为了工作流顺滑。但你要问自己:这个 agent 手里有没有 shell?它访问的网络可不可信?如果答案是"有 shell"+"不可信网络",那这个开关就是给攻击者留的门。至少做到:不可信网络下强制关掉免确认,或者把 agent 的执行环境放进沙箱(Docker/gVisor/微虚拟机),让"执行命令"的 blast radius 停在容器里。
四、给 vibe coder 的三个判断
第一,把"默认配置审计"加入你的开箱流程。以后每装一个 agent 工具,别急着跑 demo,先做三件事:ss -tlnp 看它在监听什么地址、读一遍鉴权相关的默认配置、搜一下有没有已知 CVE。Archon 这次的教训是:star 数(23.7k)和"默认安全"是完全不相关的两个指标。流行不等于安全,尤其是在 agent 工具这个"先跑起来再说"的品类里。
第二,harness 层是下一个安全重灾区,提前布局。模型层的安全(对齐、越狱)已经有大厂在卷;agent 本体的安全(prompt 注入、工具权限)正在被重视;但 harness/编排层——Archon 这种"让 agent 跑得更自主"的工作流引擎——的安全基本还是荒地。它恰恰是最危险的一层:它手握多个 agent 的调度权、默认追求无人值守、而且往往带着最高权限运行。如果你是做 agent infra 的 vibe coder,往这个方向做安全工具(默认安全的 harness 模板、控制面鉴权脚手架、agent 行为审计),现在是蓝海。
第三,本周的两起事件要连起来看。OpenCode 是"托管侧"丢 key(信任了厂商的服务器),Archon 是"控制面"裸奔(信任了本地网络)。一句话总结:agent 时代,"默认信任"的清单正在逐项作废——不信任厂商、不信任本地网络、不信任默认配置。零信任不是口号,是你下一次 npm install 一个 agent 工具之前,应该先在脑子里跑一遍的 checklist。
五、附:vibe coder 本地服务加固清单
Archon 这次翻车不是孤例——"默认绑 0.0.0.0、无鉴权"是很多本地开发工具的通病。把下面这份清单贴在工位上,每装一个新工具跑一遍,十分钟换一份安心:
1. 先看它在听谁说话。ss -tlnp(或 macOS 的 lsof -i -P)扫一遍监听端口,凡是 0.0.0.0 的管理/控制类端口,一律改绑 127.0.0.1。只在需要局域网访问时才放开,且放开必加鉴权。
2. 控制面前面永远加一道门。任何带"控制""管理""dashboard"字样的本地服务,对外暴露时前面架反向代理(Caddy/Nginx)配 basic auth 或 token。Archon 的教训是:VulnCheck 公告的"Solution"第一条就是限制控制 API 访问——官方没补丁,你自己就是补丁。
3. 远程访问走隧道,不走公网。需要从外网连回家里的 agent 服务?用 SSH 端口转发或 Tailscale 这类加密内网,别把端口直接映射到公网。记住 CVSS 向量里的 AV:N:攻击者连你的机器都不用碰,能连上网络就够了。
4. 免确认开关按网络环境分级。bypassPermissions 这类开关在可信内网开可以理解,但一旦连上咖啡馆、会议室、合租公寓 WiFi,立刻关掉,或者把 agent 的执行环境装进沙箱(Docker、gVisor、微虚拟机),让"执行命令"的爆炸半径停在容器里。
5. 给每个工具建一个"安全档案"。装完记三行:监听地址、鉴权方式、已知 CVE。每季度搜一遍 CVE 和官方 security advisory——Archon 官方仓库至今没有 advisory,应急响应明显慢于披露速度,指望厂商不如指望自己。
我们会持续跟踪 Archon 官方的修复进展——CVE 记录的 SSVC 在 10 月 16 日刚更新过一次,说明有人在跟。有补丁发布或官方公告后会第一时间更新。
参考链接:VulnCheck 官方公告 https://www.vulncheck.com/advisories/archon-0.2.13-through-0.11.1-missing-authentication-via-api-control-api ;CVE 记录 https://cvefeed.io/vuln/detail/CVE-2026-111322 ;研究者原文 https://hackmd.io/@hieuPenguinnn/archon-os-api-missing-authentication-default ;仓库 https://github.com/coleam00/Archon
评论 (0)
原始来源
相关文章

10 月 17 日,OpenCode 承认发生与"大规模蒸馏攻击"有关的安全事件:一个待下线的旧系统被未授权访问,约 1.4% Console 用户存在 workspace 里的 OpenAI、Anthropic、Google API key 可能已暴露,已有用户晒出 281 美元、1700 美元的异常账单。本文还原 48 小时时间线,解释蒸馏攻击为什么盯上你的 key,划清 Console 与本地 agent 的边界,并列出你现在必须做的四件事。

10 月 14 日 Claude Code changelog 里不起眼的两行修复,堵住了一个密钥泄露:当你用 ANTHROPIC_BASE_URL 走第三方网关时,feature flag、startup、fast mode、profile、feedback 五类请求加上服务端托管配置请求,会把网关 API key 发给 Anthropic。模型主链路没问题,出问题的是附带请求。无 CVE、无安全公告。用网关的人请升级、轮换密钥、审计 managed settings。

开发者 Henry Yuan 的开源项目 ESP32-iPhone-Agent(10 月 15 日)用一块 7 美元的 ESP32-S3 板子让 AI 操控原装 iPhone:AirPlay 镜像做眼、伪装 USB 键鼠做手,不要越狱、不要开发者账号,演示连云 API 都没用。本文拆解四步技术流水线、明确它做不到什么,并给 vibe coder 三个关于 computer use“外挂路线”的判断。