亚马逊已将 2025 年 9 月 npm 包 debugchalk 的劫持事件与朝鲜关联。十个月以来,该事件一直被公开记录为加密货币盗窃:一名维护者通过仿冒 npm 域名钓鱼,随后在至少 18 个每周下载量超过 20 亿次的包中植入了钱包引流脚本。

Aikido 和 Wiz 的原始报告并未将该事件归因于朝鲜。根据亚马逊威胁情报在 7 月 29 日发布的研究,其对 2026 年 3 月 axios 遭入侵事件幕后团体的评估置信度为中等。

亚马逊称,同一团体于 2025 年 3 月在一个名为 typo-crypto 的小型包中植入了木马文件,比其入侵 axios 早整整一年。分析师是在追查 axios 调查中出现的 2025 年注册域名时发现该文件的。

下载量虽低,但该手法“与我们后来在更流行包上观察到的攻击一致”,亚马逊写道,并将该包解读为一次测试。亚马逊的归因涵盖十二个月内三个活动中的四个命名包。它表示,三次攻击均以相同方式开始:社会工程学欺骗可信维护者,随后发布更新。

亚马逊未报告新的入侵。debug 和 chalk 的响应范围、浏览器 bundle 与缓存仍与已公开的机制一致。变化的仅是归因。

Cybersecurity

亚马逊公布的证据比其声明更为单薄。其文章提到了跨活动共享的手法、木马化包、post-install 钩子、代码复用以及重叠的命令与控制指标,但并未说明哪项证据对应哪起事件。

这一空白对 debug 和 chalk 尤为重要。AikidoWiz 记录了一个浏览器端拦截器,它挂钩了 fetchXMLHttpRequest 和钱包 API,以便在用户签名前改写交易地址。该脚本未在机器上留下持久化痕迹。与 axios 载荷不同,这段代码不依赖 npm post-install 钩子。typo-crypto 同样如此,它等待触发条件。

Google 独立将 axios 归因于 UNC1069,引用了 WAVESHAPER.V2 后门及该团体此前使用过的 AstrillVPN 节点。Microsoft 将同一入侵归因于 Sapphire Sleet,并称其与其他厂商追踪的 UNC1069、STARDUST CHOLLIMA、BlueNoroff、Alluring Pisces、CageyChameleon 和 CryptoCore 存在重叠。

命名差异已解决,但亚马逊的证据空白依然存在。在本文审阅的来源中,亚马逊是 debug、chalk 和 typo-crypto 入侵事件的唯一归因来源。axios 的归因在入侵后两天内完成,另外两起事件则分别在事发十个月和十六个月后才被归因。

亚马逊将此模式解读为财务动机驱动。Socket 当时告诉 The Hacker News,9 月份的钱包获利约 600 美元。

亚马逊描述的恶意文件 core.js 在仓库中伪装成合法的 core-js 包。它在以 0098273 开头的哈希输入上触发,并从硬编码的 C2 获取特定于操作系统的第二阶段,使用基于 01042025 的 XOR 密钥通过 base64 混淆。网络指标为 npmjs[.]store216[.]74[.]123[.]126

亚马逊的文章引用了 OSV 记录,但未命名版本。The Hacker News 已核实:MAL-2026-3400 指向 [email protected],归功于 Amazon Inspector,并于 5 月 8 日发布,距归因近三个月。

The Hacker News 于 2026 年 7 月 30 日检查了注册表。[email protected] 仍处于发布状态且可安装。它未声明 install 脚本,因此拉取它本身不会执行任何操作。npm 提供的 tarball 与注册表自身的完整性哈希匹配。

注册表列出了一个版本,于 2025 年 3 月 31 日创建和发布,相隔 204 毫秒。发布账户与包作者字段中命名的开发者不符。其描述和关键词复制自 crypto-js,版本比 crypto-js 最新版 4.2.0 高一个发行版。crypto-js 是与 core-js(该文件伪装的对象)不同的项目。

该记录不符合亚马逊描述的“维护者被入侵后恶意更新”的模式,而是符合从首次发布起就构建为伪装 crypto-js 的包。该记录无法显示账户如何被获取,只能表明之前没有可更新的版本。

Cybersecurity

该文件与文章在一点上一致:core.js 包含触发值和亚马逊命名的 XOR 密钥。哈希不匹配。亚马逊将 core.js 的 SHA256 列为包哈希,其所述 core.js 哈希未出现在 tarball 中的任何文件中。这可能是指标标记错误或来自不同副本的哈希。亚马逊的文章未说明具体情况。

The Hacker News 已联系亚马逊,要求其详细说明哪些证据关联 2025 年 9 月的入侵,并联系 Aikido 了解其对重新归因的看法,待收到回复后将更新此报道。

npm 于 7 月 8 日发布 v12,默认关闭依赖生命周期脚本,移除了 axios 使用的默认 post-install 路径。但这并未关闭 debug、chalk 和 axios 背后的维护者入侵路径。Sarah Gooding 在回顾该版本时为 Socket 撰文指出,“无论是 install-script 阻止还是 OIDC 都无法关闭这一入口。”

7 月 28 日,npm 开始扫描新发布的包,以在可安装前检测恶意软件。该扫描仅适用于新发布,不适用于已在注册表上的包。

觉得这篇文章有趣?关注我们的 Google 新闻TwitterLinkedIn,阅读更多独家内容。