星途科讯 1小时前
六大AI编程助手现高危漏洞,攻击者可静默获取SSH权限
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

安全研究公司 Wiz 于 7 月 8 日披露名为 "GhostApproval" 的高危漏洞,指出六款主流 AI 编程助手存在被诱骗风险,攻击者可在开发者机器上静默写入受控 SSH 密钥。即便工具设有审批对话框,攻击仍可通过显示无害文件名掩盖真实写入路径而得逞。目前,Augment 和 Windsurf 尚未发布补丁。

GhostApproval 原理与受影响范围

受影响的六款工具包括:Amazon Q Developer、Anthropic Claude Code、Augment、Cursor、Google Antigravity 以及 Windsurf。这些工具在专业开发者中普及率极高。

攻击核心在于利用 Unix 系统中的符号链接(symbolic link)。攻击者构建一个看似普通的配置文件(如 project_settings.json),实则将其指向敏感系统文件 ~/.ssh/authorized_keys。当 AI 代理按指令向该 " 配置文件 " 写入内容时,操作系统会跟随符号链接,将攻击者的 SSH 公钥写入授权列表。若开发者机器开放 SSH 访问,攻击者即可获得持久远程控制权,且全程无异常提示。

另一种变体则将恶意载荷植入 ~/.zshrc 等 Shell 启动文件,实现无需 SSH 即可持久执行代码。

" 人在回路 " 安全模型失效

GhostApproval 的关键突破点在于欺骗了本应作为安全防线的权限提示。当 AI 代理准备写入文件时,审批对话框显示的是符号链接名称(无害的配置文件),而非真实目的地(系统敏感文件)。开发者点击 " 接受 " 时,实际授权了对系统文件的修改。

在测试中,Claude Code 的内部推理链虽正确识别出文件异常,但该信息并未同步至用户界面。Wiz 研究员 Maor Dokhanian 指出:" 当代理展示一种行为却执行另一种行为时,用户批准毫无意义。确认对话框从安全控制退化为形式。" 这种批准显示层与内部推理的解耦,构成了结构性安全缺口。

部分工具的问题更为严重:Windsurf 在弹出对话框前已完成写入,按钮仅具撤销功能而非拦截关卡;Augment 甚至未显示任何对话框,可静默读取项目外的 AWS 凭证。

厂商回应:三家修复,两家沉默,一家争议

Wiz 于 2026 年 2 月提交报告,经 90 天协调披露后于 7 月 8 日公开。厂商回应分化明显:

Amazon Q Developer:已在语言服务器版本 1.69.0(2026 年 5 月 27 日部署)中修复 CVE-2026-12958。另修补了 CVE-2026-12957,防止恶意仓库自动加载配置窃取凭证。

Cursor:在版本 3.0(2026 年 6 月 5 日发布)中修复 CVE-2026-50549,并致谢 Wiz 与 Cato AI Labs。

Google Antigravity:在版本 1.19.6(2026 年 5 月 22 日部署)中修复,CVE 待定。

Augment 与 Windsurf:均承认收到报告,但截至发稿未发布补丁或时间表。

Anthropic:认为该场景超出当前威胁模型,主张信任仓库并批准编辑是用户自主决定。不过,Claude Code 早在 2026 年 2 月 5 日的版本 2.1.32 中已加入符号链接警告,作为内部主动加固。

争议焦点在于:若 UI 误导用户,形式的同意是否有效?MITRE CWE-451 标准将 " 关键信息的用户界面误述 " 列为正式安全弱点,支持反对观点。

同类漏洞频发,攻击基础设施已活跃

GhostApproval 并非孤例。2026 年 5 月,Adversa AI 披露名为 SymJack 的类似漏洞,影响包括 GitHub Copilot 在内的六款工具,所有厂商最初均拒绝归类为漏洞,随后 Anthropic 等更新了防护。Cato AI Labs 也以 DuneSlide 为名独立发现了相同模式。Acceligence CEO Justin Greis 评论称,这表明行业面临全类别的设计挑战,而非孤立错误。

尽管 GhostApproval 本身未被观测到实战应用,但利用 AI 代理配置文件的攻击已成现实。归因于 TeamPCP 组织的 Miasma 蠕虫自 2026 年 6 月 1 日起活跃,曾通过恶意提交向 Microsoft Azure GitHub 组织仓库植入凭证收集载荷,影响 73 个仓库。该载荷搜寻 AWS、Azure、GCP 等云凭证及开发者工具链数据,且因无需安装包,常规漏洞扫描无法检测。

开发者应对建议

立即行动: Amazon Q Developer、Cursor 和 Google Antigravity 用户请确认已更新至最新修补版本。若网络阻止自动更新,需手动重装或重载 IDE。

缓解措施: Augment 和 Windsurf 用户在补丁发布前,应避免对不受信任的仓库运行 AI 代理。所有用户均建议在容器或沙箱中运行代理,限制文件系统访问权限,使符号链接指向无效路径。此外,养成审查仓库 README 及配置文件的习惯,并在会话后检查 ~/.ssh/authorized_keys 和 ~/.zshrc 等敏感文件的时间戳,排查异常写入。

修复方向: Wiz 建议开发商在生成审批对话框前解析符号链接至规范路径,确保用户看到真实写入目的地;对 workspace 外的写入操作发出醒目警告;并强制执行 " 先批准后写入 " 规则,杜绝预授权写入模式。

常见问题解答

哪些工具已修复 GhostApproval 漏洞?

Amazon Q Developer(v1.69.0+)、Cursor(v3.0+)和 Google Antigravity(v1.19.6+)已发布修复。Augment 和 Windsurf 暂未修复。Anthropic 虽质疑漏洞定性,但已在 v2.1.32+ 中加入符号链接警告。

符号链接如何导致 SSH 权限泄露?

恶意仓库中的无害文件名实为指向 ~/.ssh/authorized_keys 的符号链接。AI 代理写入该文件时,系统跟随链接将攻击者公钥注入授权列表。攻击者随后可免密登录开发者机器,全过程无需特殊权限或代码执行。

为何开发者批准了写入仍算漏洞?

批准编辑 " 配置文件 " 不等于批准修改 " 系统密钥文件 "。当 UI 展示信息与实际操作不符时,用户无法做出知情决策。这属于 CWE-451 定义的 " 关键信息 UI 误述 ",如同浏览器必须显示真实域名以防钓鱼。

运行 AI 代理后应检查哪些文件?

重点检查项目目录外的敏感文件,如 ~/.ssh/authorized_keys、~/.zshrc/~/.bashrc 及 AI 工具配置文件。若发现时间戳异常变动,可能表明遭受写入攻击。若怀疑中招,应立即轮换 SSH 密钥及云凭证。特别是在 2026 年 6 月 2 日至 5 日期间接触过 Microsoft Azure GitHub 仓库的用户,建议全面轮换凭证。

【星途科讯 图文丨三一一 首发于 ZAKER 科技,转载请注明出处】

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

ai 编程 界面 aws
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论