热门 npm 包 node-ipc 遭投毒:恶意版本可窃取云密钥与开发者凭证

111次阅读
没有评论

共计 1405 个字符,预计需要花费 4 分钟才能阅读完成。

进展时间线

周下载超 69 万次: 热门 npm 包 node-ipc 被投毒, 可窃取密码等敏感信息

npm 生态的供应链风险再次被放大。 热门 Node.js 进程间通信模块 node-ipc 近日被曝出现多个被植入恶意代码的新版本, 攻击目标直指开发者本机、CI 环境以及服务器中的敏感凭证。

📌 事件概览: 从常用工具变成风险入口

node-ipc 是一个用于 Node.js 的进程间通信模块, 支持 Unix、Windows、UDP、TLS、TCP 等多种通信方式。由于其长期被不少项目依赖, 即便在当前阶段, 该包在 npm 上的周下载量仍超过 69 万次。

此次安全事件的关键变化在于: 问题并非来自项目自身功能缺陷, 而是部分新发布版本被加入了信息窃取代码 。也就是说, 开发者原本只是更新或安装依赖, 却可能在应用加载包入口时触发恶意逻辑。

🔍 已确认的恶意版本

目前公开信息中, 已确认涉及的恶意版本包括以下三个:

多家应用安全机构指出, 恶意代码被放入 CommonJS 入口文件 node-ipc.cjs。这意味着只要项目加载了受影响版本, 相关代码就可能自动运行, 风险不局限于开发者电脑, 也可能波及自动化构建流水线和线上服务器。

💡 攻击方式: 先识别环境, 再集中窃取凭证

研究人员的分析显示, 本次攻击疑似源于外部攻击者入侵了一名不活跃维护者的账户 。恶意代码经过混淆处理, 会先判断受感染系统环境, 再扫描并收集多类敏感数据。

被重点盯上的信息包括:

  • AWS、Azure、GCP、OCI、DigitalOcean 等云服务凭证;
  • SSH 密钥、Kubernetes、Docker、Helm、Terraform 相关配置;
  • npm、GitHub、GitLab、Git CLI 等访问 Token;
  • .env 文件、数据库凭证、Shell 历史记录以及 CI/CD 机密;
  • macOS Keychain、Linux keyring、Firefox 配置、Microsoft Teams 本地存储等路径数据。

📊 隐蔽点: 利用 DNS TXT 查询外传数据

相比常见的 HTTP 命令控制通信, 这次恶意程序选择通过 DNS TXT 查询传出数据, 并使用伪装成 Azure 相关的域名启动解析流程。安全厂商估算, 如果外传一个约 500KB 的压缩包, 可能产生约 29400 次 DNS TXT 请求。

这种方式更容易混入正常 DNS 流量中, 给企业排查带来更高难度 。与此同时, 恶意程序还会跳过大于 4 MiB 的文件, 不扫描 .git 和 node_modules 目录, 并将收集到的数据临时打包为 tar.gz, 传输完成后删除归档, 以减少明显痕迹。

🚀 开发者应关注的几个动作

从目前信息看, 该恶意程序尚未被描述为具备持久化机制 , 也没有下载第二阶段载荷, 行为更接近“快速收集、快速外传”。但对依赖链较长的项目而言, 仍应尽快排查。

  • 检查项目依赖树, 确认是否使用上述 node-ipc 版本;
  • 回滚或锁定到未受影响版本, 并重新生成锁文件;
  • 轮换可能暴露的云密钥、Git 平台 Token、npm Token 和 SSH 密钥;
  • 排查近期异常 DNS TXT 请求和可疑构建日志;
  • 对 CI/CD 环境中的环境变量和密钥管理策略进行复核。

这起事件再次提醒开发团队: 开源依赖更新并不总是低风险操作。 对于高下载量、深度嵌入项目构建链的基础包 , 版本锁定、依赖审计和凭证最小权限, 已经不再是可选项。

后续仍需结合新增披露持续校准判断。
本文基于公开信息整理, 如有侵权请联系删除。
正文完
 0