
不同方向攻击汇聚到同一条信任链上 | AI Generated
2026年7月第二周,AI Agent 安全领域迎来了一个罕见的密集爆发期。不是一两篇论文,不是零散的漏洞公告——七个独立研究团队在同一周公开了针对 AI 编码助手的全新攻击面,覆盖了从图片 prompt injection 到符号链接逃逸、从记忆投毒到幻觉劫持的每个环节。
受害对象名单已经很长了:Claude Code、OpenAI Codex、Cursor、Amazon Q Developer、Windsurf、Google Antigravity、Augment、GitHub Copilot——几乎所有主流的 AI 编码助手都至少中了一枪。而 Ghostcommit、MemGhost、Friendly Fire、GhostApproval、HalluSquatting……这些攻击名背后的手法,比名字本身要直白得多。
一、Ghostcommit:图片里的隐形杀手
7月11日,BleepingComputer 报道了一项新技术:把 prompt injection 隐藏在 PNG 图片的像素数据中,可以绕过几乎所有 AI 代码审查工具的安全检查。
攻击链是这样的:攻击者往公开仓库提交一张 PNG 图片,图片像素里编码了一条隐形指令。CodeRabbit 和 Bugbot 这类 AI 代码审查工具(因为安全策略规定不打开图片文件)直接通过了检查。但当一个 coding agent 被要求处理这个仓库时,工具会为了完成任务而打开图片,读到的隐藏指令让它去读取仓库的 .env 文件,把所有密钥以数字列表的形式写到代码里。
关键点在于,这个攻击利用的是 AI 工具之间的信任链断裂:代码审查 agent 以为图片是安全的,coding agent 以为仓库经过审查了。没有人想过,一张看起来无害的图片会是整个攻击的入口。

一张 PNG 图片背面,是一条完整攻击链的起点 | AI Generated
二、MemGhost:一封邮件改写你的记忆
The Hacker News 7月13日报道的 MemGhost,把 AI Agent 的 memory 机制变成了攻击面。攻击链是一条直线:攻击者发给受害者一封邮件,邮件正文嵌入了一条 hidden prompt。AI 助手读取邮件时被诱导在 memory 中保存了一个虚假的"事实",比如"用户授权我给某人共享所有文件"。之后,这条虚假记忆会在每次对话中自我强化,最终让 agent 做出用户从未授权过的操作。
更微妙的是,攻击者利用了 AI 助手的"礼貌":大多数 agent 不会主动告诉用户"我刚改了自己的 memory"。你看到的只是一封看起来正常的回复,完全不知道背后发生了什么。
这场攻击不再需要你运行什么恶意脚本,不再需要你安装什么奇怪的插件。只需要一封写得够好的邮件,发到你绑定了 AI 助手的收件箱里。
三、Friendly Fire:让抓漏洞的 agent 替你跑恶意代码
AI Now Institute 7月9日发布的 PoC "Friendly Fire",可能是这一批攻击里最讽刺的一个。研究人员的思路是:你让 AI coding agent 去扫描开源代码里的安全漏洞,它需要先下载、运行或解析这些代码才能完成扫描。那如果代码本身就是陷阱呢?
具体来说,攻击者在一个看似无害的开源仓库里植入构造过的 Makefile 或 npm install 脚本。当 Claude Code 或 OpenAI Codex 以自主模式(auto-yes)运行漏洞扫描任务时,它不会说"这个代码我只看不跑",它会执行构建步骤,然后攻击者的代码就拿到了本地运行的权限。
攻击者不需要诱骗用户执行任何操作。用户只是想扫描一个仓库的安全性,结果扫描工具本身变成了攻击工具。
四、GhostApproval:那个 symlink 你点开了
Wiz 研究团队发现的 GhostApproval 漏洞击中了一个更基础的信任假设:AI 编码助手在写入文件时,真的写到了你以为的地方吗?
受影响的工具包括 Amazon Q Developer、Claude Code、Cursor、Google Antigravity、Augment、Windsurf,六款主流 AI 编码助手,无一幸免。攻击者在一个仓库中创建一个符号链接(symlink),指向一个看起来无害的文件路径(如 src/utils/helper.js),但 symlink 实际指向的是 ~/.ssh/id_rsa 或 /etc/sudoers。AI 助手弹出提示"我要修改 src/utils/helper.js,同意吗?"你点了同意,它写的是你的 SSH 私钥文件。
Wiz 的发现揭示了一个系统性的设计盲区:几乎所有 AI 编码助手都依赖文件路径的白名单来限制写操作范围,但没有一个助手会解析 symlink 的实际目标路径。路径检查只在表层发生,攻击者利用这个 gap 轻松绕过。

六款主流的 AI 编码助手无一幸免 | AI Generated
五、HalluSquatting:幻觉不是 bug,是特性
如果你用 ChatGPT 久了,一定遇到过它给你编造一个看起来完全真实、但实际不存在的 npm 包名。这种情况开发者通常当笑话看。但 7月8日发表的 HalluSquatting 研究,把这个"笑话"变成了攻击工具。
研究者的想法很直白:先找出 AI 编码助手经常幻觉出哪些不存在的包名,然后把这些名字提前注册到 npm 和 PyPI 上。等开发者用 AI 助手写代码时,助手的安装建议就会指向攻击者的恶意包。然后 preinstall 脚本就能在开发者机器上植入 botnet。
这不是供应链攻击的变种,它比供应链攻击更恶劣。供应链攻击需要攻破一个已有的合法包。HalluSquatting 需要的只是 AI 模型自己的"幻觉偏好",然后注册一个不存在的名字。成本低到几乎没有。
六、AI 编码助手已经触发了安全告警
Sophos 在同一周发布了一个更让人哭笑不得的发现:AI 编码助手的行为模式,已经和攻击者没有区别了。
他们对一周的端点数据进行回溯分析后发现,Claude Code、Cursor、Codex 在正常工作中频繁触发端点安全检测规则:解密浏览器凭据、遍历 Windows 凭据管理器、读取 SSH 配置……这些行为在行为检测引擎看来,和真实攻击一模一样。一位安全分析师盯着告警屏,看到的是一串"攻击"事件,实际上只是开发者在用 AI 写代码。
这个结论的意义不只是"AI 编码助手要调整",它意味着传统的行为检测规则在 AI Agent 时代需要重新设计。当你的合法工具的行为模式越来越接近非法操作时,规则本身就成了最大的噪音源。

一封邮件,就能改写 AI 助手的记忆 | AI Generated
这一周意味着什么
把这些攻击放在一起看,你能发现一条清晰的脉络。
Ghostcommit 攻击的是"AI 工具之间的信任":代码审查 agent 相信图片无害,coding agent 相信仓库经过审查。这是生态链上的缝隙。
MemGhost 攻击的是"AI 记忆的持久性假设":一旦写入,几乎不可质疑。
GhostApproval 攻击的是"路径检查的浅层信任":你只看文件名,不追踪文件指向哪里。
HalluSquatting 攻击的是"模型幻觉是一个可预测的盲区",连 bug 都可以被武器化。
Friendly Fire 攻击的是"让 agent 审查代码本身就是风险":信任链上最脆弱的一环,是那个被你赋予了执行权限的人。
这些攻击有一个共同特征:不需要用户犯错。不需要你点钓鱼链接,不需要你下载恶意附件,不需要你输密码。你只是在写代码,AI 助手只是在帮你审核,信任链就已经在看不见的地方被利用了。
六记闷棍打下来,真正的问题不是"某个厂商的补丁打没打上",而是整个 AI 编码助手的信任模型需要重写。当 agent 可以读文件、写文件、执行命令、访问网络、修改 memory,安全设计就不能只停留在"提示词有护栏就行"的层面。sandbox、路径验证、操作审计、记忆隔离,这些在传统安全领域已经成熟的实践,到了 AI Agent 时代得重新来过。
你怎么看?在你的团队里,AI 编码助手的使用策略是"信任并验证"还是"永不信任"?
夜雨聆风