EN
L4 · 化粪池炸了供应链 · GitHub Actions · 密钥ghostaction-returns

GhostAction 回来了:打着安全审计的旗号偷你的密钥

GhostAction 卷土重来:被劫持的维护者账号植入“security-audit.yml”工作流,把你的 CI 密钥往外送

被盗的 GitHub 账号推送了伪装成安全任务的工作流,用来窃取 Actions 密钥。新变种会扫描完整的 git 历史,三年前删掉的密钥照样算数。GitHub 从 10月9日开始拦截这个工作流。

披露时间
2026年10月9日
公开披露日期
严重程度
化粪池炸了
无 CVE:这是入侵事件,不是漏洞
波及范围
约 1,900 个账号、30,000 多个仓库成为目标(GitGuardian 数据);尝试窃取的密钥达 3,174 个
github-actions
在野利用
已发现
在 GitHub 拦截之前,已有数千个密钥被偷走

一句话说清楚

用偷来的维护者令牌推一个“安全审计”工作流;它在 push 时触发,把所有密钥和 git 历史里一切长得像凭据的字符串全部导出来,POST 给攻击者。

发生了什么

GhostAction 最早出现在 2025 年。这一波从 2026年8月31日 悄悄开始,到 10月8日 全面爆发。攻击者以真实维护者的身份登录,用的很可能是泄露的个人访问令牌(PAT,未证实),然后推送一个名字听着很让人放心的工作流,比如 security-audit.yml。

这个工作流会读取指定名称的 Actions 密钥,再用 13 种凭据模式去 grep:AWS、Anthropic、OpenAI、OpenRouter、GitHub 和 GitLab 令牌、GCP、Slack、SendGrid。较新的变种会用 fetch-depth: 0 检出代码,再跑 git log -p --all。只要曾经提交过,就在射程之内,哪怕你几年前就删掉了。结果通过 HTTP POST 发往 193.32.204[.]199。

规模有多大?

各家数字对不上,干脆全列出来:

来源 说法
GitGuardian 约 1,900 个账号,30,000 多个仓库成为目标,尝试窃取 3,174 个密钥
Socket 500 多个账号,“数万个”仓库。它的详细统计是 2 个账号的 346 个仓库
StepSecurity 10月9日仍有 378 个仓库留着该工作流

有些受害者是前几波的回头客:上次被偷的密钥一直没轮换。GitHub 从 10月9日开始拦截这个工作流,之后 10月10日和12日的几波攻击都空手而归。

案发时间线

  1. 2026年8月31日

    GitGuardian 首次发现新一波攻击

    StepSecurity 观察到外传端点从 9月4日至5日开始投入使用。

  2. 2026年10月8日

    大规模扫荡

    kitao 和 henrywoo 两个账号把工作流推到了 345 个仓库。据 GitGuardian 统计,10月8日至9日约有 28,000 个仓库成为目标。

  3. 2026年10月9日

    GitHub 开始拦截该工作流;Socket 和 StepSecurity 发布分析

  4. 2026年10月10日、12日

    后续几波攻击没能再偷到密钥

各方说法

我们列出每条说法和它的出处,并标出一手来源(厂商、研究人员、软件仓库)。各方说法不一致时,按最坏的可信情况定级。

  • Socket一手来源从 10月7日开始跟踪;称涉及 500 多个账号、数万个仓库,详细统计为 2 个账号的 346 个仓库
  • StepSecurity一手来源10月9日仍有 378 个仓库的默认分支上留着该工作流;怀疑 PAT 来自信息窃取木马的日志(未证实)
  • The Hacker News引用 GitGuardian 的数据:约 1,900 个账号、30,000 多个仓库、3,174 个密钥
  • The New Stack同样引用 GitGuardian 的数据