事件背景与影响
近期,知名代码混淆工具 jscrambler 的 NPM 包被曝出安全事件。攻击者通过某种非法途径发布了 8.14.0 版本,该版本在安装过程中会自动执行恶意载荷。根据我们的应急响应经验来看,攻击者利用了开发者对常用依赖包的信任,通过 NPM 仓库进行“供应链投毒”。
虽然该恶意版本已被后续发布的 8.15.0 版本覆盖,但 8.14.0 版本并未从仓库中彻底下架,这意味着如果企业的 lock 文件或 CI 配置文件仍锁定在该版本,依然会触发感染。这一环节是很多企业容易忽视的,往往因为版本回溯或锁文件更新不及时,导致内网环境持续暴露。
攻击链深度解析
本次攻击采用了典型的“安装钩子(Install Hook)”触发机制。恶意版本在 dist/ 目录下增加了 setup.js 和 intro.js 两个文件。其中 intro.js 并非 JavaScript 代码,而是一个包含针对 Windows、macOS 和 Linux 三大平台原生二进制文件的压缩包。
当用户执行安装指令时,setup.js 会自动识别操作系统,将对应的二进制文件释放到系统的临时目录并赋予执行权限。最令人担忧的是,该恶意代码并未出现在 jscrambler 的官方 GitHub 仓库中,这表明攻击者直接绕过了项目的正常发布流程,极有可能是通过入侵维护者账号或篡改构建流水线直接向 NPM 推送了恶意制品。
技术手法与危害
该后门程序由 Rust 编写,具备极强的隐蔽性与破坏力。从我们的技术分析来看,其主要行为包括:
- 敏感数据窃取:针对开发者环境进行了深度定制,不仅搜集 AWS、Azure 等云凭证,还窃取 MetaMask 等加密钱包助记词、浏览器存储的 Cookie 及密码,甚至能够读取 Claude、Cursor、VS Code 等 AI 开发工具的配置文件,从而获取 API Key。
- 内核级驻留:在 Linux 平台上,该恶意程序利用 eBPF 技术将代码加载到内核中,实现了深度的持久化控制,远超一般用户态恶意软件的能力。
- 持续监控与持久化:在 Windows 和 macOS 上,攻击者通过创建隐藏的计划任务或 LaunchAgent 实现重启后自启,并具备反调试检测功能,试图规避安全人员的静态分析。
Solar 安全建议
针对此次事件,Solar 应急响应团队建议广大企业与开发者采取以下紧急行动:
第一,立即排查:检查项目 lock 文件和 CI/CD 构建记录,确认是否在 7 月 11 日后使用了 jscrambler@8.14.0 版本。如果存在,必须立即升级至 8.15.0 或回退至 8.13.0,并清理本地缓存。
第二,全面重置:如果机器曾运行过 8.14.0 版本,请务必假设所有存储在其中的敏感信息已泄露。建议立即重置云平台访问凭证、GitHub/NPM Token、AI 工具 API Key 以及各类系统登录凭据。
第三,防御加固:类似攻击近年来明显增加。建议企业在 CI/CD 流水线中启用 NPM 12+ 的安全特性(默认禁用安装脚本),或采用更严格的私有仓库代理机制,对外部依赖进行自动化安全扫描。此外,定期审计系统定时任务和启动项是发现此类后门的有效手段。
如果您想了解勒索病毒的最新发展趋势,或在实际业务中遇到类似安全事件,欢迎关注“Solar应急响应团队”。
全国热线:400-613-6816 官网:www.solarsecurity.cn / www.sierting.com