dev.to | 📄 原文链接 | 2026-10-27 收录

13500 个投毒工作流,用偷来的令牌种进仓库

来源:dev.to — 2026-10-26

📋 概述

当所有人盯着 LiteLLM 时,另一场更安静的战役在五周里做了更坏的事:用偷来的 GitHub 令牌,往每一个够得着的仓库里提交一个窃取密钥的工作流。这个行动叫 Gheist,涉及 850 多个被盗账号、13500 个被种下的分支,个人项目和企业私有仓库都在其中。工具枚举令牌能碰到的所有仓库,新建一个 ci-sync-XXXXXX 分支,以「ci: sync config」为提交信息、不带签名地写入一个只有两行的 workflow:把 env 和 toJSON(secrets) 做 base32 编码后打进日志,然后用 API 取回日志、删除这次运行。四个细节值得记牢:base32 让 GitHub 的密钥掩码失效,因为掩码只认逐字出现的值;permissions: {} 保护的是自动生成的 GITHUB_TOKEN,管不到 secrets 上下文;工具会枚举部署环境,把通常只在生产用的密钥也打印出来;全程没有外部 C2,数据从 GitHub 自己的 API、自己的 IP、用你签发的令牌出去。

🔑 核心要点

💡 金句

“GitHub masks secret values in logs only when they appear verbatim. Encode them and the masking sees nothing.”
译:GitHub 只会在密钥值逐字出现时才对日志做掩码。把它们编码一下,掩码就什么也看不见了。
← 返回 dev.to 首页