ClaudeCodeGitHubAction存在高危漏洞,一条Issue就能窃取密钥,接管你的GitHub仓库!

admin 2026-07-22 07:26:45 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: ClaudeCodeGitHubAction曝出高危链式漏洞,攻击者利用Bot身份绕过校验并结合间接提示注入,通过一条Issue即可窃取CI密钥与OIDC凭证,进而接管仓库或引发供应链投毒。该漏洞已有npm包投毒真实案例。建议立即升级至v1.0.94以上版本,严格审计触发配置,最小化密钥与权限,落实输入隔离与输出审计,将AIAgent视为半信任执行体。 综合评分: 92 文章分类: AI安全,供应链安全,漏洞分析,漏洞预警


cover_image

Claude Code GitHub Action存在高危漏洞,一条 Issue就能窃取密钥,接管你的GitHub仓库!

原创

mmc mmc

AGI安全

2026年6月5日 11:08 北京

在小说阅读器读本章

去阅读

SUPPLY CHAIN · PROMPT INJECTION · 2026

Claude Code GitHub Action存在高危漏洞,一条 Issue就能窃取密钥,接管你的GitHub仓库!

Claude Code GitHub Action 曝出权限绕过与提示注入链式漏洞。攻击者仅凭在公开仓库开一个 Issue,就可能窃取 CI 密钥、写入代码,甚至污染 Anthropic 官方 Action 本身。

| | | | | | — | — | — | — | | 7.8 CVSS v4 | v1.0.94 修复版本 | 4天 首次修复 | 50+ 绕过方式 |

漏洞背景 · Bot 绕过 · 提示注入攻击链 · 供应链风险 · 真实案例 · 加固建议

01 Claude Code Action 是什么?

GITHUB ACTIONS · CI/CD

Anthropic 的 Claude Code GitHub Action 把 Claude 嵌入 CI/CD 流水线,可自动分拣 Issue、打标签、审查 Pull Request,或响应斜杠命令。默认情况下,该 Workflow 拥有对仓库代码、Issue、PR、讨论区及 Workflow 文件的读写权限——权限面相当宽。

因此 Action 设计了触发者校验:理论上只有具备 Write 权限 的用户才能触发 Claude。但 GMO Flatt Security 研究员 RyotaK 在 1 月发现,这套校验存在可被利用的缺口。

时间线

· 1 月:RyotaK 向 Anthropic 报告核心绕过

· 4 天内:Anthropic 完成首次修复

· 春季:持续加固,修复版本 claude-code-action v1.0.94

已发放漏洞赏金

严重性

Anthropic 将该问题评为 CVSS v4.0 7.8(高危)。更棘手的是:Anthropic 自家的 claude-code-action 仓库也运行同一套 Workflow——若攻击成功,恶意代码可能被推入 Action 本体,进而影响所有下游引用该 Action 的项目。

02 身份校验的致命漏洞

触发校验的逻辑有一个想当然的假设:用户名以 [bot] 结尾的 Actor,就是管理员安装的可信 GitHub App。

绕过原理

任何人都可以注册一个 GitHub App,安装到自己拥有的仓库,再用该 App 的 Token 在任意公开仓库上开一个 Issue 或 Pull Request。Action 看到 Actor 名以 [bot] 结尾,便直接放行。

| 运行模式 | 额外校验 | 风险 | | — | — | — | | Tag 模式 | 有真人身份二次确认 | 相对较低 | | Agent 模式 | 无额外校验 | 完全暴露 |

攻击者无需 Write 权限,只需在目标公开仓库开一个 Issue,即可让 Claude 读取并执行攻击者精心构造的内容。

03 提示注入 → 密钥窃取 → 仓库接管

INDIRECT PROMPT INJECTION

绕过身份校验后,攻击者借助间接提示注入(Indirect Prompt Injection):在 Issue 正文中植入看似正常的「错误信息」或「恢复指令」,诱导 Claude 执行攻击者隐藏的命令,而非原本的分拣/审查任务。

第一步:读取环境变量

攻击目标是 Linux 文件 /proc/self/environ——它保存了进程的全部环境变量,包括 CI 密钥。Claude Code 虽对直接读取有防护,RyotaK 仍找到了绕过方式,让 Claude 把变量值写回 Issue 正文,攻击者随后即可抓取。

第二步:换取写入令牌

环境变量中最有价值的是 GitHub Actions 用于申请 OIDC Token 的凭证对——一种可证明「我是某仓库中正在运行的 Workflow」的签名令牌。Claude Code 用它向 Anthropic 后端换取 Claude GitHub App 安装令牌,该令牌拥有目标仓库的写入权限。

第三步:完全接管

窃取凭证、重放交换流程后,攻击者即获得对目标仓库代码、Issue 与 Workflow 的写入权。若目标是 claude-code-action 官方仓库本身,则可向 Action 注入恶意代码,形成供应链投毒,波及其他所有引用该 Action 的下游项目。

攻击链一览

伪造 Bot 开 Issue → 提示注入误导 Claude → 读取 /proc/self/environ → 窃取 OIDC 凭证 → 换取写入令牌 → 推送恶意代码

04 官方示例与配置陷阱

RyotaK 还发现了多条无需 Bot 绕过的「软路径」,问题出在默认配置与示例 Workflow 上。

allowed_non_write_users: “*”

Anthropic 官方 Issue 分拣示例 Workflow 默认允许任何人触发 Claude。文档虽已标注该配置有风险,但大量仓库直接复制了示例,将漏洞一并继承。

Workflow 摘要面板泄露

Claude 会把任务摘要写入 Workflow Run 的公开可见摘要面板,为数据外泄提供了现成通道——敏感信息无需通过 Issue 回传,直接在 Run 页面即可被读取。

Issue 编辑劫持

攻击者若无法自行触发 Claude,仍可编辑可信用户已触发 Workflow 的 Issue——在 Claude 读取之前替换正文,让恶意载荷以「可信输入」身份进入流水线。

05 已发生的供应链事件

这类攻击并非纸上谈兵。相同模式——AI Issue 分拣 + 宽权限 + 提示注入——已在真实环境中造成过供应链打击。

Cline npm 投毒(2026 年 2 月)

针对 Cline 项目 claude-code-action 分拣 Workflow 的提示注入:攻击者通过 Issue 标题注入指令,窃取 npm 发布令牌,未经授权推送了 [email protected]

恶意版本仅强制安装另一个无害 AI Agent,约 8 小时后被下架——但同一攻击链完全有能力推送真正恶意软件给所有自动更新的用户。

已实际利用

HackerBot-Claw 大规模探测

2 月下旬,自主机器人 HackerBot-Claw 扫描 Microsoft、Datadog、CNCF 等项目的 GitHub Actions 配置。它曾尝试通过投毒配置文件对 Claude 审查器进行提示注入,但 Claude 识别并拒绝了该次攻击。

关于本次漏洞本身

尚无公开证据表明 RyotaK 发现的「污染 Anthropic 官方 Action」路径已被用于真实攻击。研究员仅在自己的测试仓库中完成了概念验证,并与上述已实际发生的变体攻击明确区分。

06 修复建议

① 立即升级:将 claude-code-action 更新至 v1.0.94 或更高版本

② 审计 Workflow:检查所有允许无 Write 权限用户或 Bot 触发 Claude 的配置,尤其留意 allowed_non_write_users: "*"

③ 最小化密钥:若 Workflow 会处理不可信输入,除 Anthropic API Key 与 GITHUB_TOKEN 外,不要注入任何额外 Secret。

④ 收敛权限:移除可用于数据外泄的工具与权限(如不必要的文件读取、摘要面板写入等)。

⑤ 隔离 Agent 模式:Agent 模式缺少 Tag 模式的真人校验,在公开仓库中应格外谨慎启用。

| 检查项 | 风险信号 | | — | — | | Action 版本 | < v1.0.94 | | 触发范围 | 允许非 Write 用户 / 任意 Bot | | 输入来源 | 公开 Issue / PR 正文未过滤 | | Secret 范围 | 注入了 npm token 等额外密钥 | | 输出通道 | 摘要面板 / Issue 回写可公开访问 |

07 提示注入仍未被「解决」

RyotaK 表示,他已向 Anthropic 报告了约 50 种绕过 Claude Code 权限系统、强制执行命令的方式。AI 编码 Agent 的提示注入漏洞正呈持续性高发态势。

核心矛盾在于:一旦 Agent 拥有真实工具与真实 Token,攻击者能把它推到权限允许的任何边界。修补单个绕过只是打地鼠;真正的防线是权限最小化 + 输入隔离 + 输出审计的组合策略。

给开发者的提醒

把 AI Agent 接入 CI/CD 时,请把它当作拥有仓库写入权的半信任执行体,而非「只会读文档的助手」。不可信输入 + 宽权限 + 可写回通道,就是一条完整的攻击链。

漏洞要点速览

| | | | | | — | — | — | — | | 7.8 CVSS 评分 | 1条 Issue 即可触发 | 50+ 权限绕过 | .94 修复版本 |

如果你也热爱AI安全,欢迎评论区留言,转发,分享,点赞,关注,投稿!


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:AGI安全 mmc mmc《Claude Code GitHub Action存在高危漏洞,一条 Issue就能窃取密钥,接管你的GitHub仓库!》

评论:0   参与:  0