近年来,随着开源生态系统尤其是NPM(Node Package Manager)的高速发展,开发者社区极大地依赖各种第三方组件以提升开发效率和项目功能多样性。然而,这也使得安全风险显著增加,恶意代码潜伏于看似无害的依赖包中,给应用和企业带来极大隐患。2025年6月初,两款恶意NPM工具包——express-api-sync和system-health-sync-api被曝光,此事件一度震惊安全圈,也揭示了现代软件供应链攻击的新趋势。这些工具包表面上看似正常且功能实用,实则隐藏着极具破坏性的后门,能够远程通过特定命令删除整个应用程序目录,造成项目数据和代码的惨重损失。根据安全团队Socket的详细分析,express-api-sync打着为Express应用提供跨数据库数据同步的旗号,实则无任何实际功能,而其最危险之处在于自动注册了一个隐秘的HTTP POST接口“/api/this/that”。只要攻击者发送含有硬编码密钥“DEFAULT_123”的POST请求,恶意包便会利用Node.js的child_process.exec方法执行Linux系统中的“rm -rf *”命令,快速彻底地清除应用工作目录下所有文件。
该攻击仅针对运行于Unix类系统的Express应用,攻击门槛相对较窄,但危害极大。相比之下,system-health-sync-api则更加复杂且具迷惑性。该工具包包含真实依赖项如nodemailer和performance-now,同时提供看似正常的健康检查功能和丰富可配置选项,极大程度上迷惑开发者,让人误以为其为正规实用包。它通过主备两个隐藏的HTTP POST接口——POST /_/system/health和POST /_/sys/maintenance来实现恶意功能,攻击者可通过特定携带密钥“HelloWorld”的请求触发远程删除命令,支持Windows和Unix系统,本地依据操作系统自动选择“rm -rf *”或“rd /s /q .”等危险命令清除应用文件。更令人警觉的是,system-health-sync-api设计了功能齐全的侦察机制,秘密收集目标服务器主机名、IP及环境变量哈希值,这些信息有助于攻击者为未来精准攻击或持续隐蔽行动进行环境指纹识别。攻击者甚至通过邮件地址anupm019@gmail.com接收来自被感染主机的各种反馈和配置变更提示,展现出高度自动化和持续化的恶意运营方式。
总体来看,这两款恶意工具包在被发现前合计仅下载约300次,虽下载量有限,但其带来的风险极为严重。传统针对NPM生态的攻击通常专注于窃取加密货币或敏感凭据,而此次事件则将破坏和破坏性的后门植入作为核心目标,警示开发者供应链安全不仅需关注信息泄露,更需要防御潜在的破坏行为。此事件再次提醒业界必须强化对第三方依赖包的风险审查和监控。开发者应严格审核所引入的依赖,关注维护者身份及社区反馈,避免依赖来源不明或质量可疑的工具包。企业则需部署持续的组件安全扫描工具,及时发现异常行为和后门代码。未来,随着类似攻击技术的成熟,恶意工具包可能演进为针对更广泛开发框架如Fastify等的定制化攻击,并利用侦察能力构建全公司基础设施的攻击网络,甚至潜伏多年才触发毁灭性行动。
防范此类威胁,需要从代码审计、依赖管理、权限控制及异常行为检测等多方面协力配合。可通过限制不必要的执行权限、隔离关键生产环境、采用签名验证等方法降低风险。NPM官方与社区层面也应加强审核流程及自动化检测能力,及时剔除恶意包,对发布者严格身份认证,提高整体生态安全水平。简言之,这起事件揭示了现代软件供应链的隐匿、危险一面,不容小觑。开发者切勿掉以轻心,在追求高效开发的同时必须全面提升安全意识和防范能力,确保所依赖的每个组件都可靠可信。只有在多方合力推动下,才能遏制日益复杂的供应链攻击,守护开源生态健康稳定发展,保障应用安全和业务连续性。
。