几天之内,研究人员就在 npm 上发现新的可疑包,其行为与 Shai‑Hulud 十分相似,甚至直接复用了代码。
事情进一步升级,是因为 TeamPCP 与知名黑客论坛 BreachForums 推出了一项竞赛:
参赛者通常根据影响规模评分,例如被感染软件包的下载量或依赖规模。
这种规则意味着攻击者会优先选择 高下载量库或大型依赖树,以最大化影响范围。安全研究人员认为,这种竞赛相当于把供应链攻击“游戏化”,鼓励多个攻击者同时使用同一工具发动攻击。
在源码公开后不久,研究人员发现新的恶意 npm 包已经出现。其中一项调查报告列出了至少四个可疑包:
chalk-tempalte@deadcode09284814/axios-utilaxois-utilscolor-style-utils其中至少一个包包含 未混淆的 Shai‑Hulud 克隆代码,其他包则包含信息窃取程序或 DDoS 僵尸网络组件。
这些包出现的速度说明:一旦攻击框架公开,恶意软件可以在开源生态中迅速复制和扩散。
这些恶意包大多利用一种常见攻击方式:typosquatting(拼写相似欺骗)。
攻击者发布名称与热门依赖非常接近的包,希望开发者在输入依赖名或更新依赖时出现拼写错误。
例如:
chalk-tempalte 模仿真实包 chalk-templateaxois-utils 看起来像 axios 相关工具包在 npm 生态中,安装依赖往往是自动化完成的,比如 CI/CD 构建流程或依赖链自动安装。一旦错误依赖被引入,恶意代码就可能在安装阶段执行。
Shai‑Hulud 并不是普通的恶意 npm 包,它的行为更接近 自传播供应链蠕虫。
研究人员分析发现,它通常具备以下能力:
在早期事件中,一旦恶意代码获得维护者 token,它就能自动发布被感染的新包,使攻击在 npm 生态中持续扩散,而无需中心控制服务器。
Shai‑Hulud 本身已经很危险,因为它瞄准的是 开发基础设施,而不是终端用户设备。
但两个变化让风险大幅升级:
第一:攻击框架被公开。
源码发布后,Shai‑Hulud 从单一攻击行动变成了可复用的攻击工具包,任何攻击者都可以使用。
第二:攻击被激励和竞赛化。
BreachForums 的竞赛为攻击者提供了直接激励,推动更多人尝试和复制攻击。
这意味着威胁模型发生变化:不再是一个组织发起攻击,而是 多个独立攻击者同时使用同一工具发动供应链攻击。
Shai‑Hulud 事件凸显了一个趋势:攻击者越来越多地瞄准 软件开发基础设施本身,例如:
一旦恶意包进入这些系统,它可以在安装阶段执行代码,从构建环境中窃取密钥,并影响所有依赖该包的下游项目。
Shai‑Hulud 源码公开后迅速出现的大量模仿攻击说明:当攻击工具公开化时,单一供应链漏洞可以迅速演变为整个生态的系统性风险。
对开发者和企业而言,这意味着软件安全已经不仅是保护应用程序本身,更要保护整个构建与发布流程。