
本周,全球范围内使用最广泛的 JavaScript HTTP 客户端库 Axios 遭遇严重供应链攻击。疑似受朝鲜背景支持的黑客组织通过控制该项目的 NPM 维护者权限,推送了带有恶意代码的版本。尽管攻击在 3 小时内被迅速拦截,但这一事件再次敲响了开源软件供应链安全的警钟。
事件始末:三小时的生死时速
2026年3月30日,全球开发者社区突然陷入震动。作为网页开发中几乎不可或缺的组件,NPM 软件包 Axios 被发现遭到了未经授权的恶意修改。
根据安全研究公司 StepSecurity 的深度分析,攻击者在周一晚间成功接管了该包的发布权限,并迅速推送了一个植入了后门的版本。Axios 是目前 JavaScript 生态系统中最流行的库之一,每周下载量以千万计,数百万个应用程序和企业级软件依赖它进行 API 请求和数据交互。这意味着,任何在攻击窗口期内执行依赖更新或构建项目的开发者,都可能在不知情的情况下将恶意代码引入生产环境。
值得庆幸的是,安全监控系统迅速捕捉到了异常发布行为。在攻击发生后的约三小时内,维护团队与 NPM 官方紧急介入,撤回了恶意版本并锁定了受影响账号,将潜在损害控制在了最小范围。
幕后黑手:锁定朝鲜威胁组织 UNC1069
谷歌公司威胁分析小组(TAG)随即介入了后续的溯源调查。首席分析师约翰·胡尔特奎斯特(John Hultquist)在 Google Cloud 威胁情报博客中明确指出,此次攻击可以归咎于代号为 UNC1069 的威胁行为者。
UNC1069 被认为是一个受朝鲜支持的黑客组织,其行为模式与近年来多起针对加密货币机构和开发者的攻击高度重合。胡尔特奎斯特表示:“朝鲜黑客在供应链攻击方面表现出了极高的专业性。他们不再仅仅通过钓鱼邮件攻击个人,而是直接潜入开发者工具箱的最底层,试图通过污染开源基础设施来实现大规模渗透。”
该组织的最终目的高度指向了资产窃取。历史数据显示,此类攻击通常会包含用于扫描本地环境敏感文件、窃取私钥或劫持加密货币钱包地址的恶意逻辑。
技术细节:供应链攻击的隐蔽性
据报道,此次恶意版本主要通过劫持 NPM 包的身份验证令牌(Token)或利用社会工程学手段获取了维护者权限。攻击者在代码中植入了一个经过混淆的脚本,该脚本会在 postinstall 阶段执行,从远程服务器下载二级载荷。
这种攻击方式的致命之处在于其“合法性”。对于大多数 CI/CD 自动化流水线而言,从官方仓库下载的包通常会被默认为安全,而开发者也很少会去逐行审计每一个依赖包及其深层子依赖的代码变更。如果不是 StepSecurity 等公司部署的实时监控工具及时发现了发布行为的异常特征,该恶意版本可能会潜伏数天甚至数周。
行业反思:开源生态的防线
Axios 事件再次引发了开发者对开源软件托管平台安全性的讨论。尽管 NPM 近年来推行了强制性的多因素身份验证(MFA),但针对开发人员工作站的针对性攻击仍然是防线上的缺口。
安全专家建议,企业应采取更严格的依赖管理策略,例如使用锁定文件(lockfiles)、自建私有镜像库以及部署能够识别恶意代码注入的扫描工具。
此次事件再次证明,在这个高度互联的代码世界里,即使是像 Axios 这样“大而不能倒”的开源项目,也无法在国家级黑客的针对性打击下高枕无忧。对开发者而言,保护好自己的发布权限令牌,可能比编写出完美的代码更加重要。
本报道由 圈小蛙(qxwa.com) 科技资讯站特约撰稿。🐸️
圈小蛙