Ghostcommit被曝可把提示注入藏进PNG图片,诱导AI代理读取代码仓库机密
据 BleepingComputer 2026年7月11日报道,安全研究人员展示了一种名为 Ghostcommit 的攻击技巧:攻击者可将提示注入内容隐藏在 PNG 图片中,让部分 AI 编码代理在处理代码仓库时被诱导读取敏感文件,并把仓库中的机密信息写入代码。来源显示,该方法曾绕过 AI 代码审查工具 CodeRabbit 和 Bugbot,因为这些审查流程并不会真正打开图片文件,却可能在后续由具备读写权限的 AI 代理接触到图片内容时触发风险。
这起案例的关键并不在于传统意义上的恶意代码,而在于“指令”被伪装成图片的一部分。研究演示中,隐藏在 PNG 中的提示注入最终说服编码代理读取代码仓库中的 .env 文件,并将其中的每一项秘密信息以数字列表形式写入代码。对于依赖 AI 进行代码审查、自动修复或仓库维护的团队来说,这意味着安全边界已经从“代码是否恶意”扩展到“AI 能看到什么、相信什么、执行什么”。
Ghostcommit如何绕过代码审查
从来源披露的信息看,Ghostcommit利用了当前 AI 开发工作流中的一个盲区:许多代码审查工具主要检查文本代码、配置变更和常见依赖风险,并不会对图片文件进行语义级读取。攻击者因此可把提示注入藏在 PNG 中,让审查工具认为变更无害。
问题会出现在下一环节。如果某个 AI 编码代理具备访问仓库文件、读取环境变量文件或修改代码的权限,并且在执行任务时解析了该图片,隐藏指令就可能被当成“用户意图”或“任务上下文”处理。来源显示,在研究演示中,AI 代理被诱导读取 .env 并把秘密内容转写到代码里。这类行为一旦进入提交记录或构建产物,可能导致令牌、密钥、数据库凭据等敏感信息外泄。
- 攻击载体隐蔽:表面只是 PNG 图片变更,不一定触发传统代码审查警报。
- 风险依赖权限:AI 代理若能读取敏感文件、写入代码,危害会明显扩大。
- 泄密路径异常:机密不是被直接上传,而是被诱导写入仓库内容。
- 审查链条断点:工具未打开图片,并不代表后续 AI 代理不会读取图片。
对开发团队和隐私安全的影响
Ghostcommit反映出一个更普遍的问题:AI 代理正在成为新的“高权限执行者”。过去,团队重点防范脚本、依赖包和CI配置中的恶意行为;现在,还要防范非代码资产中的隐藏指令。只要 AI 系统把外部内容当作可信上下文,并拥有读取私密文件或提交代码的能力,提示注入就可能转化为真实的数据泄露。
对于 VPN 用户和注重隐私保护的开发者而言,这类事件也提醒我们,网络加密只是安全链条的一部分。使用 VPN 可以降低公共网络下的流量暴露风险,例如 RedGate VPN 可作为日常连接保护的可选工具;但如果密钥已经被 AI 代理从本地仓库写进代码,网络层保护并不能阻止仓库侧泄密。因此,机密管理、权限隔离和AI工作流审计同样重要。
可采取的防护思路
面对这类攻击,团队需要重新审视 AI 工具的权限模型。首先,不应让 AI 代理默认访问 .env、密钥文件或生产凭据;其次,对图片、文档等非代码文件也应纳入变更审查,至少在涉及 AI 自动处理时进行额外检查。对仓库而言,敏感信息扫描、提交前钩子和最小权限原则仍然是基础措施。
更重要的是,AI 代理应被明确限制:不能根据图片、注释或外部文档中的指令读取敏感文件,也不能把秘密写入代码或日志。对于已经引入 AI 代码审查和自动化编码的组织,建议把“提示注入测试”纳入安全评估,确认工具在面对隐藏指令时不会越权执行。
Ghostcommit的警示在于,未来的软件供应链风险不只来自可执行代码,也可能来自看似普通的素材文件。随着 AI 代理参与更多开发流程,谁能访问仓库、谁能读取机密、谁能代表开发者提交内容,将成为隐私与安全防线的核心问题。