他直白地表示,"毫无兴趣"再与 MSRC 的流程打交道 。那个更早的漏洞最初是报告给 GitHub 的 HackerOne 漏洞奖励项目的,但对方明确告知他这不在奖励范围内,并让他去找 MSRC——这种官僚化的相互推诿,导致他的发现既没有得到报酬,也没有得到认可
。
这个攻击巧妙地将三个漏洞串联起来,形成了一条能绕过 github.dev 所有安全防线的无缝攻击链。
VS Code 的 Webview——用于渲染 Jupyter 笔记本、Markdown 预览等内容的隔离沙箱——被设计成安全的独立空间。但为了让其中的键盘快捷键能够正常工作,编辑器会将沙箱化 Webview 中的按键事件转发至主编辑器进程 。
攻击者仓库中的一个恶意 Jupyter 笔记本,会从沙箱化的 Webview 中向 VS Code 主窗口发送合成的键盘事件(如 Ctrl+Shift+A、Ctrl+F1)。这些键盘操作会悄悄触发"安装扩展"命令,并绕过原本用于阻止不受信任扩展的发行商验证弹窗
。
攻击者的仓库里包含一个预先打包的 VS Code 扩展,存放在 .vscode/extensions 文件夹中。由于 github.dev 会将与工作区一同提供的扩展视为隐式信任,这个恶意扩展的安装完全不会有任何权限提示 。
一旦运行起来,这个恶意扩展便能完全访问 github.dev 的运行时环境。该环境中存有一个 GitHub OAuth 令牌,这是 github.com 在用户打开任何仓库时,通过 POST 请求悄无声息地传递给 github.dev 的。关键问题在于,这个令牌的作用域并不局限于当前打开的仓库——它携带着用户全部的访问权限 。扩展提取令牌后,会向 GitHub API 查询受害者的私有仓库列表,并将令牌和仓库元数据一并发送给攻击者
。
6 月 3 日,微软部署了服务端修复措施,包括在打开基于浏览器的 Notebook 时增加信任确认步骤,以及阻止扩展安装命令接受任意的调用者信息 。到了 6 月 4 日,又部署了对 Webview 事件的额外处理限制
。
这个攻击链之所以引人注目,主要有三个原因。
首先,攻击界面是一个 URL。受害者无需下载文件、打开终端或批准任何权限。一个指向 github.dev 的浏览器链接就是全部先决条件。
其次,令牌的作用域之广令人担忧。github.com 传递给 github.dev 的 OAuth 令牌并不局限于正在查看的特定仓库,而是携带了用户全部的 GitHub 权限。这意味着,一个攻击者即便只是攻破了一位为公共开源项目做贡献的开发者,也能顺藤摸瓜获得该开发者所在公司的私有仓库的访问凭证 。
第三,工作区信任被逆转。这个旨在让本地开发更顺畅的特性——信任与项目一同提供的扩展——反而成了让恶意载荷自动执行的绝佳通道。
与此同步披露的,还有研究人员在 OpenClaw AI 智能体框架中发现的五个零日漏洞。这些漏洞允许攻击者冒充许可名单(allowlist)上的用户,从而在多个即时通讯平台上劫持受信任的 AI 智能体的访问权限 。
问题的根源在于其架构设计:OpenClaw 支持 15 种不同的渠道适配器(Channel Adapter)——包括 Telegram、Slack、Discord、WhatsApp 等——而每个适配器都独立实现自己的许可名单授权和 Webhook 验证 。用于许可名单检查的安全关键身份字段,例如用户可读的显示名称,在各通讯平台上是可变的,并且在不同适配器中映射到稳定的用户 ID 时,实现方式不一致
。
由于缺乏一个统一的集中式策略执行层,攻击者可以:
2026 年 6 月 3 日发布在 arXiv 上的一篇安全分析论文指出,漏洞分布在多个架构层(执行策略、网关、渠道、沙箱、浏览器、插件、提示词),其主导的结构性模式是 逐层、逐调用点的信任执行,而非统一的安全策略边界 。该分析发现,离散的架构弱点可以组合成完整的未认证远程代码执行路径
。
Comments
0 comments