Xygeni 官方的 xygeni-action GitHub Action 遭遇了一起精密的供应链投毒攻击。
2026 年 3 月 3 日,攻击者利用被盗凭证绕过标准分支保护机制,将命令与控制(C2)后门注入到开发者普遍信任的版本标签中。
攻击流程如下:
攻击者先创建多个包含混淆 Shell 代码但未合并的 Pull Request。尽管分支保护规则已阻止这些 PR 合入主干,但攻击者利用泄露的 GitHub App 凭证实施了标签投毒(tag poisoning)。
报告揭露了这一技术漏洞:
攻击者将可变的 v5 标签指向了某个未合并 PR 中的恶意提交。
由于该提交仍保留在 Git 对象库中,任何引用 @v5 的工作流都会拉取并执行恶意代码,即便它从未被正式合并。
- 注册上线:CI 执行机向 C2 服务器注册,上报主机名、用户名与系统版本。
- 指令执行:在 180 秒内持续轮训服务器,通过 eval 接收并执行任意系统命令。
- 数据回传:指令执行结果经压缩、Base64 编码后回传给攻击者。
此次漏洞暴露窗口约 6 天,从 2026 年 3 月 3 日至 3 月 10 日。
尽管潜在危害极大,但实际影响范围相对可控。报告指出:v5 标签主要被 Xygeni 自有及关联仓库使用,目前未发现外部公共仓库受影响。
Xygeni 已删除被投毒的 v5 标签,仍引用该标签的工作流会直接报错 “reference not found”。
为恢复安全,管理员必须立即采取以下措施:
-
固定到安全提交:将工作流更新为指向 v6.4.0 的校验通过提交哈希:
xygeni/xygeni-action@13c6ed2797df7d85749864e2cbcf09c893f43b23 - 密钥轮换:轮换所有 CI 执行机可访问的密钥,包括云令牌、部署密钥、仓库密钥等。
-
审计排查:检查 CI 日志中是否存在对恶意 IP
91.214.78.178的连接,并核查近期构建产物是否被篡改。








发表评论
您还未登录,请先登录。
登录