你的密钥,正在流水线上裸奔
📋 总体概括
GitHub Actions 被伪装成安全检查的恶意工作流盯上,2577 个密钥成为目标;npm 上一人运营的 MALFEX 投毒活动持续两年;Google 则因 AI 生成的低质漏洞报告暂停开源赏金计划。三件事指向同一个判断:开源信任链正被系统性套利,防御必须从代码层前移到流水线与身份层。
📄 正文
过去两周,开源供应链安全接连被撕开三道口子。
GitHub Actions 被滥用窃取 SSH 密钥与云凭证;npm 上一个疑似单人运营的投毒活动已经潜伏两年;Google 则干脆暂停了开源漏洞赏金计划——原因不是漏洞太少,而是 AI 生成的低质报告太多。
三件事看起来各不相干,底层却是同一个逻辑:攻击者不再正面撬系统,而是寄生在开发者天然信任的机制里——自动化的流水线、复用的依赖包、慷慨的赏金计划。当信任本身成为套利对象,传统的边界防御基本失效。
这篇文章拆开这三件事,看看攻击者的成本结构变了什么,又该把防御资源往哪里挪。
🔑 最危险的后门,穿着安全检查的制服
GitHub Actions 这轮滥用,手法最值得细看。
Wiz 研究团队将其命名为 GhostAction 攻击 [1]:攻击者通过自动化提交,把恶意工作流伪装成“安全检查”注入大量开源仓库。开发者和审计者看到的是一个再正常不过的 CI 环节——跑测试、做扫描、出报告——但流水线一启动,工作流就开始在运行环境里翻找敏感信息:SSH 私钥、云厂商凭证、各类访问令牌,随后通过硬编码的远程端点外传。
这是典型的“寄生式攻击”:不穿透任何边界,直接借用目标系统自己的自动化机制干活。CI/CD 环境恰恰是整个研发体系里密钥浓度最高的地方——数据库连接串、云 API 密钥、部署凭证,全都在环境变量和 Secrets 里等着被读取。
规模数据很能说明问题。研究人员追踪发现,这批恶意工作流被注入了 3000 多个仓库,定位目标是 2577 个密钥 [1]。但“被定位”不等于“被偷走”——根据 GitHub 的官方通报 [2],最终被确认成功外泄的是 26 个密钥,涉及 13 个仓库,其余恶意工作流在被拦截或被信任的仓库所有者手动撤销前,根本没走到执行那一步。
这 2577 与 26 之间的落差,本身就是一堂课:恶意注入的覆盖面可以很广,但真正执行到载荷、且密钥恰好可读、且外传通道没被拦住的概率链条层层折损。攻防的胜负手,往往就在“注入”到“执行”之间的这几个环节。
这次事件也印证了公开滥用报告里的趋势:与其花力气打穿主机,不如让宿主自己的机器人把密钥送出来——工作流注入的攻防成本差,比传统入侵低一个数量级。
产业判断很直接——CI/CD 已经从“研发工具”变成了“最高价值攻击面”。防御重心必须跟着挪:Secrets 最小化授权、用 OIDC 短期令牌替代长期静态密钥、对工作流变更强制独立审批、第三方 Action 锁定版本并审计来源。这些东西不性感,但它们就是现在的主战场。
📦 一个人的作坊,搅动整个生态
如果把 GhostAction 比作“借鸡生蛋”,npm 上的 MALFEX 则展示了供应链攻击的另一个极端——低成本、长周期、单人可运营。
这个被安全厂商披露为 MALFEX 的持续性行动 [3],通过八个恶意 npm 包分发 Windows 恶意软件(远控与信息窃取类载荷)。研究人员溯源后发现,整个活动疑似由一个运营者操盘:多个包之间复用相似的代码结构、注释习惯和命令控制基础设施,指纹高度一致。该活动自 2023 年 8 月起活跃至今,两年间不断更换包名和载荷变体,直到近期才被披露、相关包由 npm 下架。
单次投毒的下载量不算爆炸,但这恰恰说明了问题:长尾依赖的下游消化能力远超直觉——很多下载来自自动化构建和不加审查的项目引用,而不是开发者逐个甄别后的选择。一个恶意包只要混进构建链,就能沿着 package.json 的依赖树横向铺开;而对单人运营者来说,两年的“低强度慢火”成本极低,收益却随时间复利累积。
这条路径同样在验证 AI 的杠杆效应:写一个能通过初步审查的恶意包、生成足够逼真的 README 和版本更新日志,如今的成本都在快速趋近于零。防御方如果还按“攻击者很贵”的旧假设配置资源,会被不对称地消耗掉。
🛡️ 防御要前移到流水线和身份层
三件事拼在一起,时间线其实很清楚:2023 年 8 月,MALFEX 投毒活动开始活跃;此后恶意 Actions 工作流注入持续蔓延,直到 2025 年被 GhostAction 事件集中曝光;几乎同一时期,Google 宣布暂停开源软件漏洞赏金计划(OSS VRP)的报告受理,公开理由是大量低质量报告——其中相当一部分是 AI 批量生成的——淹没了人工分诊 [4][5]。
共同点是:三个事件都发生在“开发者默认信任”的机制里——信任流水线、信任依赖、信任报告。解法也要从这个根上拔起:
- CI/CD 密钥治理:用 OIDC 短期令牌替代长期凭证,Secrets 按任务最小授权,工作流变更强制独立审批——即使被注入,也拿不到可用的长期密钥。
- 依赖治理:启用依赖锁定与来源审计,新引入包做行为沙箱检测,关键项目锁定 Action 与依赖版本;对存量长尾依赖做一次清点,而不是等投毒事件再追溯。
- 报告入口治理:赏金与报告入口引入自动化初筛与复现验证门槛,优先承接带可复现 PoC 的报告,把人工分诊留给真正的信号。
这套清单不神秘,难点全在执行率。从 GhostAction 事件公开的细节就能看到[1][2],即便定位了 2500 多个密钥目标,真正形成泄露的仍是少数——但只要 Secrets 授权粒度粗到一次泄露即等于交出整朵云,剩下那百分之几的概率就是不可接受的。
另一层判断:平台方会被迫承担更多守门人责任。npm 所在的 OpenJS 基金会、GitHub 的 Actions 市场,这类生态基础设施的治理压力只会越来越大——因为个体开发者既没有能力也没有动力替全网做安全审查,这个成本只能由平台、基金会和企业买家三方分摊。Google 暂停赏金计划本身,就是治理成本被推到平台极限的一个信号。
📉 小结:信任链的成本,该重算了
三个事件,三个信号:攻击者寄生在自动化机制里、单人作坊也能打持久战、AI 把防御方的分诊成本抬到了平台暂停计划的程度。
开源生态过去二十年的繁荣,建立在“默认信任”的低摩擦之上。现在这套信任被系统性套利,补课的钱必须花在流水线、身份和依赖治理上。可以预见的趋势是:短期凭证替代静态密钥、依赖来源可验证、AI 辅助的攻击与 AI 辅助的初筛对冲——谁先把信任链的成本算清楚,谁就先拿到下一阶段的入场券。
参考信源
1. Wiz Research:《GhostAction: New Attack Injects Malicious GitHub Actions Workflows into Thousands of Repositories》,2025 年 9 月(含恶意工作流 IOC 与 2577 个目标密钥的追踪数据)
2. GitHub 官方对 GhostAction 事件的通报:确认 13 个仓库共 26 个密钥外泄,其余恶意工作流已被拦截
3. 安全厂商关于 MALFEX 活动的公开披露:八个恶意 npm 包投递 Windows 恶意软件,基于代码与基础设施指纹判定为单一运营者,活跃起始时间 2023 年 8 月(含 IOC 与包名列表,npm 已下架相关包)
4. Google Bug Hunters 门户关于暂停 OSS VRP 报告受理的官方公告,2025 年 9 月
5. BleepingComputer / The Register 对 Google 暂停开源漏洞赏金计划的报道:低质量与 AI 生成报告洪泛为主要原因
本文由本站 AI 辅助聚合生成,原始来源如下: