1 min read

科技

开源代码的噩梦:TeamPCP黑客组织如何让全球开发者陷入链式危机

黑客入侵开源代码

上周,一个名为 TeamPCP 的黑客组织做了一件让整个科技圈脊背发凉的事:他们攻破了 GitHub,声称获取了约 4000 个代码仓库的访问权限,并在 BreachForums 论坛上公开叫卖 GitHub 的源代码和内部数据。"我们今天在这里,为 GitHub 的源代码和内部组织数据做广告," TeamPCP 在论坛上写道,"一切都在,主平台代码都在,非常高兴向有兴趣的买家发送样本以验证绝对真实性。"

这不是一次孤立事件。在过去几个月里,TeamPCP 已经把"供应链攻击"变成了一种近乎周更的日常——污染开源工具、窃取凭据、部署勒索软件,让整个软件开发行业陷入了一种前所未有的信任危机。


他们是怎么做到的?"病毒式"扩散的链式攻击

TeamPCP 的手法用一个词概括就是:滚雪球

安全公司 Socket 的研究人员 Philipp Burckhardt 追踪了 TeamPCP 几个月,他形容这个组织的策略是"自我强化的飞轮"——通过一次次供应链攻击,让被污染的软件像病毒一样在开发者群体中扩散。

具体路径是这样的:

第一步:找到那个"桥梁"工具。 TeamPCP 不会直接攻击大公司,而是寻找那些被无数开发者日常使用的开源工具——比如 VSCode 扩展、数据可视化库、或者安全扫描器。这些工具的开发者通常规模不大,安全投入有限。

第二步:在工具里埋下恶意代码。 被污染的工具发布到 GitHub 或 npm/PyPI 等包管理平台后会迅速扩散。当其他开发者更新这些工具时,恶意代码就自动入驻了他们的开发环境。

第三步:偷走开发者的高级凭据。 恶意代码不仅破坏受害者的系统,还会窃取存储在机器上的 API 密钥、个人访问令牌(PAT)等高价值凭据。

第四步:用窃来的凭据发布更多被污染的软件。 这些凭据往往可以访问开发者自己的开源项目。TeamPCP 用偷来的密钥在合法项目中植入恶意代码,伪装成"安全更新"或"功能升级"。

第五步:重复。 受害者的数量指数级增长,雪球越滚越大。

过去几个月里,TeamPCP 的受害者名单已经包括:OpenAI(部分员工设备被入侵)、Mercor(数据泄露影响 AI 行业)、欧洲委员会公共网站、Checkmarx(Web 应用安全公司)、Mistral AI(企业 AI 平台)。以及上周的 GitHub。


"Mini Shai-Hulud":一个会自己传播的蠕虫

最让安全专家担忧的,是 TeamPCP 最近开始自动化这套攻击流程。

他们开发了一个自蔓延蠕虫,代号 "Mini Shai-Hulud"——名字来源于科幻小说《沙丘》中的沙虫。这个蠕虫会自动扫描受害者的机器,查找并窃取 GitHub、GitLab 等平台的凭据,然后自动用这些凭据发布新的被污染代码。

安全公司 Palo Alto Networks 的 Nathaniel Quist 评价道:"这就像野火蔓延——传播速度极快。攻击者发现凭据管用,他们就走这条路。现在大家都在学这套技术,因为有效。"

Wiz 公司的威胁情报主管 Ben Read 说,TeamPCP 的攻击已经变得"几乎按周计算"——不是偶尔一次,而是每周都有新的"浪潮"。根据 Socket 的数据,TeamPCP 在短短几个月内已经发动了 20 多波供应链攻击,污染了超过 500 个独立软件包,如果算上所有版本变体,这个数字更是轻松破千。


为什么这次攻破 GitHub 特别严重?

GitHub 是全球最大的代码托管平台,有超过 1 亿开发者使用。对于网络犯罪分子来说,GitHub 的源代码就是"皇冠上的宝石"——包含平台核心架构、用户认证系统、API 设计等最敏感的知识产权。

更可怕的是,GitHub 被攻破还意味着:大量使用 GitHub 登录的第三方应用可能面临连锁风险。OAuth 令牌、API 密钥、甚至企业内部代码仓库的访问权限——这些都可能因为 GitHub 的沦陷而暴露。

TeamPCP 声称他们不打算勒索 GitHub,而是直接出售数据。"这不是勒索,"他们写道,"我们不在乎向 GitHub 勒索。我们只需要一个买家,然后我们就在自己这端销毁数据。"

但他们随后加了一句威胁:"看来我们要退休了,所以如果没有找到买家,我们会免费泄露。"


这对普通开发者意味着什么?

听到"GitHub 被黑"的消息,很多开发者可能会觉得这是大公司的事,跟自己关系不大。但实际上,这件事的影响链条会延伸到每一个普通开发者:

你的开发环境可能已经被污染。 如果你最近更新过 VSCode 扩展或其他开发工具,而它们恰好被 TeamPCP 污染过——你的机器就不再安全。

你的凭据可能已经泄露。 TeamPCP 的蠕虫会扫描机器上所有存储的密钥。如果你是开发者,在多台机器上使用同一个 GitHub API 密钥,感染会迅速扩散。

信任体系正在被破坏。 当开发者无法信任开源工具的来源时,整个开源生态的协作基础都会动摇。


安全专家怎么说?

面对这种"病毒式"的供应链攻击,安全专家的建议总结起来就是:轮换你的凭据,现在就轮换。

Palo Alto 的 Quist 说:"最大的可利用漏洞是这些环境中的长期凭据。即使你完全不用 LiteLLM 或任何被污染的包,也要轮换你的令牌。如果你有 GitLab 和 GitHub 的个人访问令牌,现在就换。AWS、Azure、GCP、阿里云、Oracle——所有这些凭据都在被盗。"

Wiz 的 Read 建议对软件更新采取"冷却期"策略:不要总是安装最新版,而是等待一段时间,观察社区反馈后再更新。"你不应该总是安装最新版本,"他说,"等几天,看看有没有人报告问题。"

Socket 的 Burckhardt 则更直接:"当恶意代码到达你的机器时,一切都已经太晚了。"


一个更大的问题:开源生态的信任危机

TeamPCP 的疯狂攻击背后,揭示的是一个更根本性的问题:我们对开源软件的信任,建立在一种过时假设上。

过去,开源软件的运作模式是:开发者贡献代码 -> 社区审核 -> 发布使用。这个链条的前提是"好人"占多数,恶意代码会被发现。但 TeamPCP 展示的是:当攻击者能够入侵任何一个环节,整个链条都可以被污染——而且是在大量开发者毫无察觉的情况下完成的。

这是一个系统性的风险,不是一个补丁就能解决的。

对于普通开发者来说,现在能做的就是:保持警惕、定期轮换凭据、对工具更新保持审慎、以及——在这个信任体系正在动摇的时刻——重新思考我们在多大程度上依赖这些"免费的"开源基础设施。


参考来源