社区所有版块导航
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

"巨齿鲨"恶意软件6小时攻陷5500+GitHub仓库,窃取云凭证与密钥

FreeBuf • 4 月前 • 174 次点击  


2026年5月18日,代号"巨齿鲨"(Megalodon)的大规模自动化供应链攻击席卷GitHub平台,在不到六小时内向超过5,500个代码库注入了恶意CI/CD后门,创下GitHub Actions投毒攻击的最快扩散纪录。


Part01

攻击时间线与手法

安全公司SafeDep发现,2026年5月18日UTC时间约11:36至17:48期间,"巨齿鲨"行动通过随机八字符用户名的临时账户,向5561个GitHub代码库推送了5,718个恶意提交。攻击者伪造了build-bot、auto-ci、ci-bot、pipeline-bot等作者身份,使用build-system@noreply.dev和ci-bot@automated.dev邮箱伪装常规CI自动化维护。提交信息如"ci: add build optimization step"和"chore: optimize pipeline runtime"经过精心设计,可规避常规代码审查。


Part02

恶意负载变体分析

该攻击部署了两种共享同一C2服务器(216.126.225.129:8443)的GitHub Actions工作流变体:


  • SysDiag(大规模变体):
新增.github/workflows/ci.yml文件,触发条件设为每次push和pull_request_target,确保所有分支的提交都会自动执行

  • Optimize-Build(定向变体):

替换现有工作流为workflow_dispatch触发,创建静默后门,攻击者可随时通过GitHub API激活且不产生可见的CI运行记录


两种变体均要求id-token: write和actions: read高权限,用于窃取 OIDC令牌,实施云身份冒充。Base64编码的bash脚本(共111行)被触发后会执行多阶段凭证窃取:


  • 收集所有CI环境变量、/proc/*/environ及PID 1环境数据
  • 提取AWS凭证(访问密钥、秘密密钥、会话令牌)
  • 通过gcloud auth print-access-token获取GCP访问令牌
  • 从AWS IMDSv2、GCP元数据和Azure IMDS端点获取实时凭证
  • 窃取SSH 私钥、Docker认证配置、.npmrc、.netrc、Kubernetes 配置、Vault令牌和Terraform凭证
  • 使用30多个正则表达式扫描源代码中的API密钥、JWT、数据库连接字符串、PEM 密钥和云令牌
  • 窃取GitHub Actions OIDC令牌实施直接云身份冒充

Part03

典型受害案例分析

开源在线聊天平台Tiledesk成为关键下游攻击目标。攻击者通过提交acac5a9入侵其GitHub代码库,将合法Docker构建工作流替换为Optimize-Build后门。维护者在不知情的情况下,将受污染的@tiledesk/tiledesk-server 2.18.6至2.18.12版本发布到npm registry,导致后门通过软件包传播(应用代码未改动,仅工作流文件被篡改)。

Part04

入侵指标(IoC)

注:IP地址和域名已做无害化处理(如[.]),仅在MISP、VirusTotal等威胁情报平台使用时需还原


Part05

应急缓解措施

若代码库在2026年5月18日收到来自build-system@noreply[.]dev或ci-bot@automated[.]dev的提交,应立即:


  1. 回退恶意提交并审计所有.github/workflows/文件
  2. 轮换GitHub Actions运行器可访问的所有密钥(令牌、API密钥、SSH密钥、云凭证)
  3. 检查云日志中是否存在未知工作流运行的异常OIDC令牌请求
  4. 在Actions标签页检查意外的workflow_dispatch执行记录
  5. 将GitHub Actions固定到特定提交SHA而非可变版本标签
  6. 为外部贡献者的拉取请求设置工作流审批关卡

SafeDep的Malysis引擎在检测@tiledesk/tiledesk-server@2.18.12捆绑工作流文件中的base64编码负载时首次发现该攻击,凸显了自动化供应链扫描工具在捕获绕过传统代码审查的攻击时的价值。

参考来源:

Megalodon Malware Compromised 5,500+ GitHub Repos Within 6 Hours
https://cybersecuritynews.com/nine-year-old-linux-kernel-vulnerability/

推荐阅读

电报讨论

扫码加入AI安全交流群
下载FreeBuf知识大陆APP

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