news 2026/7/14 21:46:57

Ghostcommit 攻击深度解析:一张 PNG 图片如何让 AI 代码助手泄露你的密钥

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ghostcommit 攻击深度解析:一张 PNG 图片如何让 AI 代码助手泄露你的密钥

上周五下午,我在 GitHub 上刷到一个项目,名字叫 ghostcommit,来自 ASSET Research Group。当时我正用 Claude Code 写一个文件搜索 MCP Server,读到一个 PR 里有人贴了一张 PNG 图片当技术文档。我没多想,扫了一眼就把 PR 合并了。看到 ghostcommit 的描述后,我后背一凉——那张图可能就是突破口。

Ghostcommit 的攻击逻辑简单到让人害怕:攻击者提交一个 PR,里面加一份 AGENTS.md 配置文件和一个 PNG 图片。AGENTS.md 里只有一行字——"build specs see docs/images/build-spec.png"。没有密钥名,没有恶意指令,任何文本审查都看不出问题。真正的攻击指令被渲染进了那张 PNG 图片里:读 .env 文件,逐字节转成整数序列,作为源码常量输出。PR 审查通过、合并,攻击触发的那一步要等到开发者正常使用 AI 编程工具时才会发生。

这不是科幻小说。研究团队用 Cursor、Codex CLI、Antigravity 全部复现成功,只有 Claude Code 系列模型拒绝执行。今天这篇文章,我把整个攻击链拆开讲清楚,同时聊聊这对每个用 AI 编程的人意味着什么。如果你也在用 AI 编程工具写代码、审 PR,Ghostcommit 就是你今天必须知道的攻击手法。

攻击链全景:四步走完一场无声的窃密

第一步,攻击者在目标仓库创建一个 PR,包含两个文件:AGENTS.mddocs/images/build-spec.png。AGENTS.md 的内容看起来人畜无害——它只是一个指向图片的文档。真正的恶意指令被嵌入在 PNG 图片的像素内,以可见文字的形式呈现(不是隐写术,就是图片里的文字渲染)。

第二步,PR 被提交给 AI 代码审查工具审核。Cursor Bugbot、CodeRabbit 等工具只分析文本差异,不会打开 PNG 图片。CodeRabbit 的默认配置甚至直接跳过 .png 文件。于是这张藏有完整攻击指令的图片毫无阻碍地通

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 21:45:30

Vibe Coding治理:从情绪共振到可验证信号的工程化实践

1. 项目概述:这不是“反内卷”,而是重建编码节律的真实实践“Surviving Vibe Coding: Strategies for Staying Productive”——这个标题乍看像一句带点自嘲的社交平台口号,但在我连续三年深度参与远程协作开发、带过七支跨时区小团队、亲手重…

作者头像 李华
网站建设 2026/7/14 21:36:39

pandas多维聚合实战:从groupby到滚动计算的工程化落地

1. 项目概述:为什么多维聚合不是“高级技巧”,而是日常分析的呼吸本身你有没有过这种经历:凌晨两点,报表系统告警,风控模型突然飘红,业务方在群里你问“上个月南区高净值客户交易额同比为什么跌了12%&#…

作者头像 李华
网站建设 2026/7/14 21:33:30

毕业设计项目 机器学习的垃圾邮件分类系统(源码+论文)

文章目录 0 前言1 项目运行效果2 设计概要4 最后 0 前言 🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师…

作者头像 李华