CVE-2025-30066:tj-actions changed-files供应链攻击分析
漏洞概述
tj-actions/changed-files 在45.0.7及之前版本存在高危漏洞,允许远程攻击者通过读取Actions日志发现敏感机密信息。该漏洞被评定为高危级别,CVSS评分为8.6。
影响范围
受影响的版本
- 所有 <= 45.0.7 的版本
已修复版本
- 46.0.1
攻击详情
供应链攻击时间线
攻击发生在2025年3月14日至15日期间,攻击者通过逆向修改多个版本标签来引用恶意提交,影响了超过23,000个代码仓库。
关键攻击指标(IoC)
恶意提交哈希:
|
|
被篡改的标签:
- v1.0.0 → 指向恶意提交
- v35.7.7-sec → 指向恶意提交
- v44.5.1 → 指向恶意提交
恶意代码执行机制
攻击脚本通过以下命令下载并执行恶意Python脚本:
|
|
该脚本扫描Runner Worker进程内存中的机密信息,进行base64编码后输出到GitHub Actions日志中。
漏洞复现步骤
复现工作流配置
|
|
检测方法
- 使用Harden-Runner分析网络流量,检测到对
gist.githubusercontent.com的未授权出站请求 - 检查Actions日志中是否存在异常的base64编码输出
应急响应措施
立即行动检查清单
-
审查受影响期间的工作流
- 检查2025年3月14-15日期间执行的工作流
- 在changed-files部分查找异常输出
-
解码可疑输出
1echo 'xxx' | base64 -d | base64 -d -
更新工作流引用
- 如果工作流直接引用恶意提交SHA,立即更新
- 使用标签版本的用户无需操作(标签已修复)
-
轮换可能暴露的机密
- 立即轮换在此期间可能暴露的所有API密钥、令牌和凭证
影响评估
漏洞类型
- 供应链攻击
- 机密信息泄露
- 信息泄漏
受影响群体
- 使用tj-actions/changed-files的23,000+仓库
- 拥有公开仓库的组织风险最高
潜在后果
- CI/CD机密信息被盗(API密钥、云凭证、SSH密钥)
- 对源代码、基础设施和生产环境的未授权访问
- 公开仓库中的凭证泄露,可能导致进一步的供应链攻击