2026年8月26日——澳大利亚联邦警察(AFP)在与西澳警方及FBI的联合调查中逮捕并起诉两名西澳男子,共14项罪名,指其参与网络犯罪团伙TeamPCP。检方指控该团伙的恶意代码窃取了超过50万条凭证与至少300GB数据,波及上千个组织,修复成本估计高达数亿美元。调查仍在进行中,不排除进一步逮捕。 ## 从云攻击到供应链:一次教科书式的转型 TeamPCP于2025年底浮出水面,最初瞄准暴露的云基础设施。据威胁情报公司Flare的研究,2026年2月,该团伙利用Aqua Security的Trivy漏洞扫描器项目中一个配置错误的GitHub Actions工作流,窃取了一个服务账户令牌。 这里值得停留一秒:Trivy是安全工具,是帮企业发现漏洞的软件——攻击者恰恰选中了它。入侵后凭证虽然被轮换,但据报道部分访问权限仍然存活。 三周后的3月19日,TeamPCP利用残留权限向Trivy的CI/CD管道推送了含凭证窃取代码的恶意版本。真正的连锁反应在这里发生:LiteLLM的构建管道运行了被投毒的Trivy,攻击者由此获得LiteLLM的PyPI发布令牌,3月24日在PyPI发布两个带后门的LiteLLM版本——这个AI网关包月下载量约9500万次。安全工具的沦陷沿着构建链传导到了AI生态的核心组件。 攻击面还不止于此:团伙还用窃取的GitHub个人访问令牌攻击了Checkmarx KICS(开源基础设施即代码安全扫描器),向其GitHub Action的全部35个版本标签强推恶意提交。GitHub Actions、Docker Hub、npm、PyPI、OpenVSX——五大生态全部成为投毒通道。 ## 归因之路:一张头像串起的身份链 TeamPCP在网络上保持高调,使用多个别名通过社交媒体与Telegram活动。Flare的调查从别名DeadCatx3开始,通过重复使用的凭证与账户信息逐步串联其他身份。 破局线索颇为经典:一张有辨识度的头像图片,同时关联着一个Steam账户和一个TeamPCP的Telegram账户。Flare综合全部证据,以高置信度认定已识别出TeamPCP的一名操作者,随后将发现移交给执法部门。 但逮捕并不等于组织消亡。Flare副总裁的评价很清醒:"逮捕对TeamPCP是重大打击,但现在断言该组织已经消失为时过早。TeamPCP是个松散团体,我们不知道还有多少人参与其中。" ## 泄露凭证的"保质期"幻觉 这起案件为凭证管理提供了最鲜活的反面教材。Flare副总裁的总结一针见血:"攻击者不在乎凭证是老是新,他们只在乎它是否还有效。" Trivy入侵后的凭证轮换本应是止损的终点,但"部分访问仍存活"这个细节让三周后的第二波攻击成为可能。教训是明确的:轮换必须覆盖受影响环境关联的每一枚凭证,遗漏一个令牌就足够让攻击者卷土重来。 ## 防御建议 1. 全面清查组织关联的泄露凭证:老泄露不等于失效泄露,所有仍然有效的立即重置; 2. 发布令牌最小权限化并设置短生命周期:令牌权限应限定到必需范围,而不是账户级权限; 3. GitHub Actions按完整commit SHA固定而非可变标签:供应链攻击最常见入口是可变引用被替换; 4. 监控开发工具的异常出站流量:安全工具被投毒后的外传行为,往往在流量层最先暴露; 5. 把威胁情报共享当作战术而非慈善:Flare向执法部门移交线索直接促成此次逮捕,行业协作的回报是实打实的。 一个配置错误的CI工作流,最终演变成横跨五大软件生态、波及上千组织的供应链灾难——这中间的每一步放大,都发生在"信任的软件"内部。TeamPCP的故事讲完了,但它验证的攻击经济学不会随之消失:安全工具本身,就是最值得攻陷的软肋。