6小时,5561个GitHub公开仓库被植入后门!

admin 2026-06-02 04:01:30 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 代号Megalodon的供应链攻击在6小时内污染5561个GitHub仓库,通过恶意工作流窃取云凭证。研究发现33%受害账户源于开发者终端被窃密软件入侵,攻击者利用合法权限绕过审查直接推送。建议收紧工作流权限、强制多人审查、限制运行器出网、采用OIDC替代长期凭证并强化终端EDR防护。 综合评分: 88 文章分类: 供应链安全,终端安全,数据安全,威胁情报,安全运营


cover_image

6 小时,5561 个GitHub 公开仓库被植入后门!

数据安全矩阵

2026年5月25日 18:44 上海

在小说阅读器读本章

去阅读

以下文章来源于AGI安全 ,作者mmc

AGI安全 .

专注于AGI安全方向,提供最专业的Agent安全服务,Agent专家顾问服务,Agent安全合规服务,Agent数据安全评估,企业AI安全培训服务。

2026 · MAY 18 · GITHUB SUPPLY-CHAIN INCIDENT

6 小时5561 个GitHub 公开仓库被植入后门!

这是整个开源供应链被反复撕咬这个夏天里,最大的一次Github被入侵投毒事件,CI/CD 流水线、云凭证、SSH 密钥、容器配置,全部被打包带走。代号:Megalodon(巨齿鲨)

| | | | | | — | — | — | — | | 5,561 受感染仓库 | 5,718 恶意 commit | 6 h 攻击时间窗 | 33% 受害账户 = 信息窃取受害者 |

事件回顾 · 攻击如何发生 · 偷走了什么 · 入口在哪里 · 这不是孤立事件 · 一个典型受害样本 · 如何防御 · 最后

01 事件背景

5 月 18 日,开源安全公司 SafeDep 监测到 GitHub 上有一波异常激增的自动化提交。6 个小时之内,5718 条恶意 commit 砸进了 5561 个公开仓库。提交者签名五花八门——「build-bot」「auto-ci」「ci-bot」「pipeline-bot」——清一色伪装成基础设施账号。

攻击者所做的事情非常简单

· 拿合法账号登录 GitHub

· 在每个有写权限的仓库里塞一个 GitHub Actions workflow 文件

· workflow 一旦被触发,就把仓库里和云环境里的所有秘密打包外发

外发地址:216.126.225.129:8443

研究人员把这场行动命名为 Megalodon(巨齿鲨)——一种已灭绝的史前巨型鲨鱼。理由很直接:体量太大

02 攻击过程

这次攻击属于一种叫 Poisoned Pipeline Execution (PPE) 的供应链攻击范式——「投毒流水线执行」。它又分两种:

| 类型 | 入侵方式 | 是否经过审查 | | — | — | — | | i-PPE (间接) | 通过 Fork + PR 注入 | 通常会被 Code Review 拦下 | | d-PPE (直接) | 直接 push 到默认分支 | 完全跳过 PR 审查 |

Megalodon 走的是 d-PPE——拿到合法账号写权限后,直接推到 main 分支,没有任何「人工审查」环节可以阻拦。这才是它能 6 小时打穿 5561 个仓库的原因。

两种载荷变种

① 大规模型变种「SysDiag」

新增一个 workflow,触发条件是每次 push 和每次 PR——只要仓库有人动,就自动执行恶意代码。最大化「自动化收割」。

② 定向变种「Optimize-Build」

替换已有 workflow,触发条件改成 workflow_dispatch——一个「睡眠态后门」,攻击者随时可以通过 GitHub API 远程唤醒它。

03 攻击危害

Workflow 一旦执行,所有能被 CI runner 触摸到的秘密都会被外发。下面这份清单几乎覆盖了现代工程团队的全部凭证类型:

☁️ 云凭证

AWS 密钥、GCP token、Azure 实例元数据接口的角色凭证

🔑 身份与登录

SSH 私钥、GitHub token、Bitbucket token、OIDC token

📦 基础设施配置

Docker config、Kubernetes config、Vault token、Terraform 凭证

🔍 源码扫描

遍历仓库源码,按 30+ 个 secret regex 模式扫出硬编码 token

真正可怕的不是”偷”,是”冒充”

拿到 GitHub token + 云凭证之后,攻击者可以以开发者的身份进入 AWS / GCP / Azure,看起来跟合法操作毫无区别。横向扩散、加密勒索、数据偷渡,都只是时间问题。

04 攻击初始入口依旧定位在开发者电脑

安全公司 Hudson Rock 把受感染仓库的 978 个不同用户名,与他们的「信息窃取数据库」(即被 infostealer 入侵过的电脑)做了交叉比对——

33%

受害账户(331 / 978) 直接匹配上了已被 infostealer 窃取的本地凭证

Hudson Rock 的结论是:「这次供应链攻击使用的账户,全部来自信息窃取者的数据。」

攻击链条其实非常”经典”

① 开发者电脑中招 infostealer(破解软件、伪装插件、钓鱼附件)→ ② 浏览器存储的 GitHub token、本地 .gitconfig 被打包外传 → ③ 这些凭证被批量挂到地下市场 → ④ 攻击者购买、登录、用脚本批量改 workflow。

这次攻击并没有使用任何”高端漏洞”,全是被忽视的基本安全问题

05 供应链攻击在当前显的格外猖狂

从 2026 年 5 月 12 日起,整个开源生态像被点了名一样,连续承受了一波又一波的供应链攻击。Megalodon 只是其中最大的一次,但绝不是孤立的。

5 月 12 日 · Mini Shai-Hulud

超过 170 个 npm / PyPI 包被植入恶意代码,共 404 个被污染版本被发布。受害方包括 TanStack、Mistral AI、UiPath、OpenSearch、Guardrails AI。

5 月 19-20 日 · TeamPCP × VS Code 插件

攻击者通过一名 GitHub 员工电脑上的污染版 VS Code 插件,横向偷走了约 3,800 个内部仓库。GitHub 自己中招。

5 月 18 日 · Megalodon

5,561 个仓库、6 小时窗口、d-PPE 攻击。

关键背景

就在攻击爆发前几周,犯罪组织 TeamPCP 开源了他们的整套攻击框架 Shai Hulud。这等于把一套”工业级供应链投毒武器”摆到了所有人面前。Megalodon 的实施者据信只是模仿者之一——但他们成功了。

06 一个典型的受害样本

开源 SaaS 客服平台 Tiledesk 是这次攻击里损失最重的项目之一——9 个仓库被同时投毒,从主服务到 Docker 代理、再到 AI 模块、模板库,几乎一锅端:

· tiledesk-server

· tiledesk-dashboard

· tiledesk-llm

· tiledesk-docker-proxy

· tiledesk-community-app

· …等共 9 个仓库

二次传播带来的风险巨大

维护者完全没意识到 GitHub 源码被污染,正常发布了 npm 包 @tiledesk/tiledesk-server,结果版本 2.18.6 ~ 2.18.12 全部带毒。下游所有用 npm install 的用户,一行命令就把后门请进家门

「攻击者从未碰过 npm 账号。他们污染的是 GitHub 仓库,维护者只是照常发布——结果就被卷进去了。」

07 如何防御

研究机构给出的建议很具体,按优先级排:

① 给 GitHub Actions 减权限

默认的 GITHUB_TOKEN 权限通常远超实际需要。改成 permissions: read-all 作为基线,再按需放开。

② Workflow 文件必须强制审查

设置 CODEOWNERS,把 .github/workflows/ 目录的改动强制锁到至少 2 人审批。Megalodon 之所以能成功,靠的就是 d-PPE 绕过审查。

③ 限制 runner 的出向网络

使用 StepSecurity Harden-Runner 或自托管 runner + 严格白名单,阻止 workflow 主动连接外部 IP——Megalodon 的命门就是要往 C2 服务器发数据,断了这条路它就什么都偷不走。

④ 用 OIDC 替代长期凭证

别再把 AWS / GCP 长期密钥放进 Secrets。改用 GitHub OIDC + 严格 scope condition,凭证只在单次 workflow 生命周期内有效。

⑤ 强制开发者电脑端的 EDR

整条攻击链的真正入口是开发者电脑被 infostealer 入侵。EDR、定期凭证轮换、禁用浏览器密码保存——这些”老生常谈”,正是这次事件 33% 受害账户的共同短板。

⑥ 监控异常 commit 模式

陌生作者名、短时间大量 workflow 变更、未配对的 push——这些信号其实都能被规则检测到,关键是要主动看。

08 写在最后

Megalodon 是一次 6 小时、5561 个仓库的攻击。但它真正传达的信号要严肃得多。

第一,整套攻击没有用任何零日漏洞。所有动作都是”合法操作”:合法账户、合法 push、合法 workflow——只是账户来自被偷的密码、workflow 写的是恶意代码

第二,33% 这个比例说明:开源世界的脆弱性已经不在源码层、不在 GitHub 平台层,而是在每一台开发者电脑上。一台中招的 MacBook,可以让 9 个 npm 包同时带毒。

第三,TeamPCP 开源攻击框架意味着这类攻击的门槛塌方式下降。模仿者会越来越多,间隔越来越短,规模越来越大。

OX Security 研究员 Moshe Siman Tov Bustan 在采访里说了一句被广泛引用的话:

「我们已经进入了一个新的供应链攻击时代。TeamPCP 攻击 GitHub 只是开始——接下来是一场永无止境的、面向全球开发者的海啸。」

Megalodon 关键数字

| | | | | | — | — | — | — | | 5,561 仓库受感染 | 6 h 攻击窗口 | 33% 入口来自电脑中毒 | 30+ secret 模式扫描 | | 9 Tiledesk 中招仓库 | 170+ Mini Shai-Hulud 包 | 3,800 GitHub 内部仓库被偷 | d-PPE 攻击范式 |

供应链攻击的本质从来不是”破坏代码”——而是利用我们对自动化工具的全部信任。下一个 Megalodon 已经在路上,现在是检查 workflow、轮换凭证、收紧 runner 出网最重要的时刻


免责声明:

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

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

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

本文转载自:数据安全矩阵 《6 小时,5561 个GitHub 公开仓库被植入后门!》

微信通话bug!热搜第一 网络安全文章

微信通话bug!热搜第一

文章总结: 文档报道微信通话出现网络状态同步故障的bug,用户挂断后对方界面仍显示通话中,导致沟通误解。微信官方确认为服务器延迟所致并紧急修复,建议用户通话后手
评论:0   参与:  0