六大AI编程助手现高危漏洞,攻击者可静默获取SSH权限

博主:fm5i0dxdb2j0考研资深辅导 2026年07月11日 23:45:25

安全研究公司 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 科技,转载请注明出处】

The End