【安全资讯-恶意 npm 包伪装为合法应用程序远程删除应用程序目录】此文章归类为:安全资讯。

根据 Socket 的报告,最近发现的恶意 npm 包伪装成合法应用程序工具,创建了具有破坏性的后门端点,允许远程删除应用程序目录。相关的恶意包分别为 express-api-sync 和 system-health-sync-api,这两者由 npm 用户 botsailer 于 2025 年 6 月 3 日发布,随后因恶意代码被 npm 移除。
express-api-sync 虽声称是用于 Express 应用程序的数据同步 API,但实际上并没有合法功能。相反,该包集成的中间件注册了一个名为 "/api/this/that" 的恶意 HTTP POST 端点,该端点静静等待攻击者的 "杀死命令";一旦接收到包含硬编码密钥 "DEFAULT_123" 的 POST 请求,该恶意软件便会利用 child_process.exec
函数执行Unix删除命令 rm -rf *
,从而删除应用程序的工作目录中的所有文件。
尽管 express-api-sync 仅影响运行于 Unix 类系统上的 Express 应用程序,但 system-health-sync-api 则更为复杂且多功能,提供看似合法的功能,以及其隐藏的破坏性特征。该包依赖于像 nodemailer 和 performance-now 等合法依赖,并且包含一个返回基本服务器状态信息的功能性健康检查端点。它还为用户提供多种配置选项,进一步加强了其合法性的模糊感。
然而,system-health-sync-api 也创建了破坏性后门——一个主要端点(POST //system/health)和一个备份端点(POST //sys/maintenance),以防第一个端点被屏蔽。与 express-api-sync 一样,这些端点在接收到包含特定密钥的攻击者请求后会触发删除命令。攻击者通过使用其电子邮件地址 anupm019@gmail.com 作为通信渠道来接收来自恶意软件的通知,包括任何由目标开发者所做的配置更新。虽然 "杀死命令" 请求的默认硬编码密钥是 "HelloWorld",但攻击者可以根据受害者改变这个密钥。
该恶意软件能够自动检测操作系统(Windows 或 Unix 类)和框架(Express、Fastify 或原生 HTTP 模块),因此能够将其行为量身定制为目标应用程序。对于 Unix,其使用删除命令 rm -rf *
,而在 Windows 上则使用 rd /s /q .
来清除应用程序文件。此恶意软件在删除文件前,还会收集关于目标系统的信息,包括主机名、IP 地址和环境变量哈希,后者可用于创建一个 "指纹",以帮助攻击者识别具备特定配置的服务器或监测环境变量的变化。
尽管这两款短命的包在上线期间仅共获得约 300 次下载,但其发现强调了开发者在依赖 npm 工具时需警惕的威胁。与常见的 npm 攻击(通常针对加密货币和凭证盗窃)不同,这些包通过其破坏能力威胁到开发者的工作安全。
Socket 团队总结认为,未来可能会出现更多针对特定应用程序框架(如 Express 和 Fastify)的攻击,以及涉及整个公司基础设施的潜在侦察的更高级别攻击。此外,这些包中植入的 “杀死开关” 可能在数月甚至数年内处于潜伏状态,而后执行其破坏性命令,从而实现协调攻击,使受害者无法轻易检测并采取应对措施。这类事件不仅使得开发者在工具的选择上更需谨慎,也凸显了对第三方 npm 包信任所隐含的风险。
随着技术的发展,恶意软件的手法愈发多样化,而开发者们还需时刻保持警惕,以防止误入这些精心设计的陷阱中。合理的安全策略、定期审查和监控将对抵御此类攻击至关重要。开发者要谨慎使用 npm 包,并了解其可能的安全风险,以更好地保护自己的项目和数据安全。
更多【安全资讯-恶意 npm 包伪装为合法应用程序远程删除应用程序目录】相关视频教程:www.yxfzedu.com