PostHog承认Shai-Hulud 2.0是其历史上最严重的安全事件

PostHog表示,Shai-Hulud 2.0 npm蠕虫攻击是其经历过的"规模最大、影响最严重的安全事件"。攻击者在其JavaScript SDK中植入恶意版本,试图自动窃取开发者凭据。受污染的软件包包含预安装脚本,会自动运行TruffleHog扫描凭据,将窃取的机密信息泄露到GitHub仓库,并利用被盗的npm凭据发布更多恶意软件包。三天内超过25000名开发者的机密信息被泄露。

PostHog表示,Shai-Hulud 2.0 npm蠕虫攻击是该公司"经历过的规模最大、影响最严重的安全事件",攻击者在其JavaScript SDK中植入恶意代码,试图自动窃取开发者凭据。

在PostHog发布的事后分析报告中,作为受Shai-Hulud 2.0影响的多个软件包维护者之一,该公司表示被污染的软件包包括posthog-node、posthog-js和posthog-react-native等核心SDK,这些软件包含有预安装脚本,在软件安装时会自动运行。该脚本会运行TruffleHog来扫描凭据,将发现的任何秘密信息泄露到新的公共GitHub存储库,然后使用被盗的npm凭据发布更多恶意软件包,使蠕虫得以传播。

根据发现Shai-Hulud活动第二轮攻击的Wiz安全专家称,在三天内有超过25000名开发者的秘密信息遭到泄露。除PostHog外,受影响的软件包还包括Zapier、AsyncAPI、ENS Domains和Postman提供的软件包,其中一些每周下载量达数千次。

Shai-Hulud 2.0不仅像典型木马那样传播,它的行为更像是一个完整的蠕虫。一旦安装了被感染的软件包,恶意软件不仅能窃取npm或GitHub令牌,还能从开发者机器或构建系统中窃取云凭据(AWS、Azure、GCP)、CI/CD秘密、环境变量和其他敏感数据。

PostHog表示已撤销所有被泄露的令牌,移除恶意软件包版本,并开始发布"已知良好"的版本。

但事后分析揭示了一个更深层、更结构性的危险:这不是密码或令牌的意外泄露,而是CI/CD工作流配置错误,允许来自拉取请求的恶意代码以足够的权限运行来获取高价值秘密。

对PostHog存储库的恶意拉取请求触发了一个自动化脚本,该脚本以完整项目权限运行。由于工作流盲目执行来自攻击者分支的代码,入侵者获得了控制权:他们泄露了机器人的个人访问令牌,该令牌在整个组织中具有写入权限,然后使用该令牌提交新的恶意代码。

攻击者利用这些被盗凭据,部署了修改后的检查工作流来收集所有GitHub秘密,包括npm发布令牌。然后使用该令牌将木马化的SDK推送到npm,完成了这个永生的依赖树蠕虫。

PostHog表示现在正在为npm发布采用"可信发布者"模型,全面检查工作流变更审查,并在其CI/CD管道中禁用安装脚本执行等加固措施。

如果这份事后分析听起来令人不安地熟悉,那是因为确实如此——拥有大权限的机器人、自动驾驶模式下工作的工作流,以及像没读过文档的实习生一样热情更新的依赖项。事实证明,这就是蠕虫真正需要的一切。

Q&A

Q1:Shai-Hulud 2.0蠕虫攻击是如何运作的?

A:Shai-Hulud 2.0通过在npm软件包中植入预安装脚本实现攻击。当开发者安装被感染的软件包时,脚本会自动运行TruffleHog扫描工具来搜索凭据,将发现的秘密信息泄露到公共GitHub存储库,然后使用被盗的npm凭据发布更多恶意软件包,形成蠕虫式传播。

Q2:这次攻击影响了多少开发者和哪些公司?

A:据Wiz安全专家统计,在三天内有超过25000名开发者的秘密信息遭到泄露。受影响的公司包括PostHog、Zapier、AsyncAPI、ENS Domains和Postman等,这些公司的软件包中有些每周下载量达数千次。

Q3:PostHog采取了哪些措施来应对这次安全事件?

A:PostHog撤销了所有被泄露的令牌,移除了恶意软件包版本,并发布了安全版本。此外,公司还采用了"可信发布者"模型进行npm发布,全面检查工作流变更审查,并在CI/CD管道中禁用安装脚本执行等多项加固措施。

来源:The Register

0赞

好文章,需要你的鼓励

2025

12/01

08:15

分享

点赞

邮件订阅