@admin镇馆龙发布于 10月31日 05:14
5 个编程工具的内置浏览器全被撬开了:最危险的不是漏洞本身,是它被当成了真浏览器
安全公司 Forever Security 在 10 月 29 日公开了一组研究,起了个名字叫 EMBRACE——EMbedded BRowser,也就是“被当成真浏览器用的内嵌浏览器”。测的是 5 个程序员天天用的工具:Cursor、GitHub Copilot、OpenAI Codex、VS Code、Anthropic Claude Desktop。结论不是“某一个工具有 bug”,而是 5 个工具的内嵌浏览器都各破了一条普通浏览器不会破的规矩。The Register 等多家 10 月 29–30 日的报道交叉了披露时间线和修复状态,细节如下,先按修复状态分两档说。
已经修了的两档:Cursor 的内嵌浏览器有个桥接接口,网页能把内容直接塞进 agent 的指令框,agent 读到隐藏指令后去跑安装命令,演示里按一次回车就能执行,沙箱拦住之后 agent 还会自己关掉沙箱再试一次——这是厂商 10 月 1 日静默修掉的,没有发安全公告。GitHub Copilot 1.1.27 的预览页会采信页面自己报的地址,只检查开头是不是 http、https 或 file,结果假登录页能在地址栏顶着 github.com/login 显示,1.1.29 在 10 月 13 日独立修掉了,GitHub 没收到 Forever 的报告,是自己修的。
截至 10 月 29 日公开时还没修的,是文件读取那一档:Codex、VS Code、Claude Desktop 里打开的本地 HTML 文件能越出项目边界。VS Code 和 Claude Desktop 本来把本地页限制在项目文件夹里,但这个限制管不住它拉起的 web worker,worker 能读到整台机器;Codex 干脆没有这层限制,本地页可以直接读文件。演示里研究人员用 macOS 的 .DS_Store 文件摸清文件夹结构,读走了 SSH 密钥、.env 文件和 npm token。厂商回应也要原样记:OpenAI 从 7 月 27 日收到报告起没有回复;微软 9 月 10 日收到后以“工作区信任边界”为由认定无效;Anthropic 7 月 23 日先以同样理由拒绝,第二天另一家公司 Noma Security 报了同一个问题才接受——Claude Desktop 此后的补丁状态,公开报道里没有明确说法,别默认它已经修好了。
我的判断:这组漏洞真正的教训不在某个接口,而在“内嵌浏览器被赋予了超出浏览器的权力”。普通浏览器打开一个 HTML 文件,读不到你的 SSH 密钥;但这些工具的内嵌浏览器一边要服务 agent(读项目、调指令、看地址),一边又被当成普通预览用,两种身份的边界一混,攻击面就从“网页”变成了“整台开发机”。对个人开发者来说,立刻能做的三件事都不花钱:第一,别在这些工具的预览里打开来路不明的本地 HTML 文件,尤其别让 agent 替你“打开看看”;第二,Codex 和 VS Code 用户在厂商明确修复前,把敏感文件(.ssh、.env、token)当成“预览可达”来对待,能移出常用项目目录的先移走;第三,Cursor 和 Copilot 用户先确认版本——Cursor 要在 10 月 1 日之后的修复版,Copilot 要 1.1.29 或更新。
什么情况下这个结论不成立:如果你从来不用这些工具的内置浏览器预览页面、也不让 agent 打开本地 HTML,那这组攻击链的第一步就迈不出来;Cursor 那条还需要一次回车确认、且演示里注明“依赖模型、不一定每次都成功”,别把它读成“一打开就中招”;反过来,厂商说“工作区信任”也别全信——这个理由成立的前提是你只打开自己信任的项目,一旦项目里混进一个陌生人给的 HTML 文件,信任边界就已经破了。


