一个 GitHub Issue 就能攻陧 Claude Code、Gemini CLI 和 Codex:Black Hat 2026 揭露 AI 编程工具 CI 漏洞
Black Hat USA 2026:Novee Security 演示了一个 GitHub Issue 即可触发 Claude Code、Gemini CLI 和 Codex 的 RCE、凭证盗取和指令投毒。
TL;DR
在 Black Hat USA 2026 上,Novee Security 演示了一个令人不安的事实:任何人都可以在公开仓库提交一个 GitHub Issue,然后通过这个 Issue 远程执行代码、窃取 CI 密钥、并在 AI 编程助手中植入持久化指令。受影响的不只是一个工具——Claude Code、Gemini CLI 和 OpenAI Codex 全部中招。它们的共同弱点:GitHub Actions 工作流给了 AI Agent 写入权限的 CI Runner,而攻击者控制的 Issue 内容能通过 Agent 的工具调用链接触到这些 Runner。所有漏洞都已修复,但你的工作流配置大概率还没改。
发生了什么
Novee Security 研究员使用各厂商自己的公开仓库和默认工作流配置,演示了三条不同的攻击路径——全部从同一个 GitHub Issue 触发:
Claude Code — CVE-2026-54316(通过 Hugging Face 窃取数据) Claude Code 的 WebFetch 工具对 huggingface.co 有预授权访问。攻击者构造了一个 Issue 正文,让 Agent 将 API 密钥字符逐个编码到 Hugging Face 模型的公开下载计数中。由于 Hugging Face 下载计数是公开的,攻击者可以从外部读取被编码的数据。从 0.2.54 到 2.1.162 的所有 Claude Code 版本均受影响,修复版本为 2.1.163。
Gemini CLI — CVSS 10.0(完整 CI Runner 沦陷)
@google/gemini-cli npm 包和 google-github-actions/run-gemini-cli GitHub Action 都将未过滤的 Issue 内容直接传给了运行在 CI Runner 上的 Gemini Agent——这个 Runner 拥有写入令牌。Agent 执行了攻击者提供的命令,相当于攻击者获得了 Runner 的 Shell 访问权限和所有仓库密钥。Google 已在 Gemini CLI 0.39.1 和 run-gemini-cli 0.1.22 中修复。
OpenAI Codex — 持久化指令投毒 Codex 的 GitHub Action 允许 Issue 内容注入系统级指令,这些指令在 Agent 的多次独立调用之间持久存在。一个无法在第一次运行时获得代码执行的攻击者,可以埋下指令,等到下一次 CI 触发时激活——可能是几天后,由另一个开发者触发的工作流。
共同的根因
三个攻击利用了同一个架构模式:AI 编程 Agent 在 CI 中以写入权限运行,摄入不可信内容(Issue 正文、PR 描述),然后通过工具调用对这些内容做出反应。Agent 本身没有恶意,它们只是在执行指令。问题是指令来自信任边界之外,而工作流给了这些指令接触生产密钥的权限。
Novee 的建议很直接:从运行 AI Agent 的 CI 任务中移除写入令牌,或者将 Agent 执行沙箱化,使其无论如何都无法接触密钥、仓库或部署基础设施。
开发者现在该做什么
-
立即更新。Claude Code → 2.1.163+,Gemini CLI → 0.39.1+,run-gemini-cli → 0.1.22+。这些补丁封堵了 Novee 演示的具体攻击向量。
-
审计你的 CI 工作流。如果任何 GitHub Action 以
contents: write或id-token: write权限运行 AI 编程 Agent,就假设它可被利用。补丁封堵了已知路径,但架构风险依然存在:CI 中以写入权限运行的 AI Agent 会执行 Issue 正文让它执行的任何东西。 -
沙箱化 Agent 执行。在隔离环境中运行 AI 编程 Agent,即使被攻破也无法访问密钥。一个只读仓库访问、无密钥注入的专用 CI 任务比通用 Runner 安全得多。
-
将 Issue 分类与代码执行分离。如果你的工作流在新 Issue 上运行 Agent,Agent 应该只读取和标记——永远不要修改代码、推送提交或访问凭证。
-
检查残留的投毒指令。Codex 用户如果工作流曾摄入不可信的 Issue 内容,应审查 Agent 配置和系统提示词,排查可能跨运行持久化的注入指令。
更大的图景
我追踪 AI 编程工具安全已经几个月了,这不是孤立事件。上周我们报道了 Ruflo 的 CVSS 10.0 MCP 桥接漏洞。七月是 Cursor 的 DuneSlide RCE。现在三个主流平台——Claude Code、Gemini CLI 和 Codex——全部倒在同一类攻击下:不可信输入接触到权限过大的 Agent。
工具在被修复。工作流没有。大多数团队六个月前从厂商 README 复制粘贴了一个 GitHub Action YAML,之后再也没碰过。这些工作流仍然以写入权限运行,仍然把 Issue 正文直接灌进 Agent 提示词。
如果你本周无法全面审计 CI 工作流,今天就做一件事:找到每个调用 AI 编程 Agent 的 GitHub Actions 任务,把 contents: write 改成 contents: read。这一行改动就能阻断 Novee 演示的整个攻击类别,不管你的工具是否已打补丁。
主题中心
2026 AI 编程工具全景指南
从 Copilot 改版到 Claude Code / DeepSeek 低成本方案——把分散资讯收成可搜索、可对比的工具矩阵。
进入「2026 AI 编程工具全景指南」 →赚钱视角
这个趋势怎么赚钱?
WayToClawEarn 的差异在可验证的赚钱案例,而不只是资讯。从这些复盘开始:
浏览全部案例 →