攻击概述
安全研究人员发现一场精心策划的新型软件供应链攻击正通过 npm 包注册表针对开发者,攻击者利用虚假安装日志掩盖恶意活动。这项被命名为"幽灵行动"(Ghost campaign)的攻击始于 2026 年 2 月初,攻击者构建了一系列 npm 包诱骗开发者提交系统凭证,同时在受害者机器上秘密部署远程访问木马(RAT)。
攻击流程剖析
当开发者安装恶意包时,攻击即刻启动。这些包会模拟正常的 npm 安装过程------输出日志信息、显示进度条并插入随机延迟以增强真实性。实际上,屏幕上显示的待下载包名均来自硬编码列表,所有声称要安装的依赖均不存在。这种欺骗手段使得即使经验丰富的开发者都难以察觉异常。
ReversingLabs 分析师在 2026 年 2 月初识别出该恶意活动,溯源发现 7 个相关包均由名为"mikilanjillo"的 npm 用户发布,包括:
- react-performance-suite
- react-state-optimizer-core
- react-fast-utilsa
- ai-fast-auto-trader
- pkgnewfefame1
- carbon-mac-copy-cloner
- coinbase-desktop-sdk
技术突破与后续扩散
研究人员指出,使用虚假安装日志掩盖恶意行为属于新型攻击技术,标志着威胁行为体在开源生态系统中规避检测的手段出现显著演变。攻击最终阶段会投放专门窃取加密货币钱包、收集敏感数据并接收攻击者服务器指令的 RAT。
该活动的影响范围超出最初发现的 7 个包。2026 年 3 月,JFrog 记录了名为 GhostClaw 的相关攻击集群,其技术与基础设施与 ReversingLabs 发现的样本高度相似。Jamf Threat Labs 分析进一步显示,攻击还通过伪装成交易机器人和 SDK 等合法开发工具的 GitHub 仓库传播。这些仓库先植入无害代码并长期保持静默以建立信任,随后才引入恶意组件。
核心欺骗机制:虚假日志与 sudo 钓鱼
攻击最具迷惑性的环节是诱骗开发者提交 sudo 密码。在虚假安装过程中,包会输出错误提示,声称由于缺少对/usr/local/lib/node_modules(Linux/macOS 系统标准全局包目录)的写入权限而无法安装依赖,继而诱导开发者输入 root 密码以"解决问题"。


密码确认后,恶意下载器便在虚假日志的掩护下静默运行。下载器会从 Telegram 频道获取最终载荷 URL 和解密密钥,在某些案例中这些信息被隐藏在 teletype.in 上伪装成区块链文档的 Web3 帖子中。


防护建议
开发者应特别注意:
- 安装过程中绝不应 npm 包要求输入 sudo 或 root 密码,合法包在此阶段无需系统级访问权限
- 安装前务必验证包作者及仓库历史记录
- 使用自动化安全扫描工具检测可疑脚本 企业应实施严格的依赖项审查流程,并将软件安装过程中的任何密码提示视为重大危险信号。
攻击指标(IoC)
| 包名 | 版本 | SHA1 |
|---|---|---|
| react-performance-suite | 2.0.0 | bdffc2f98ff422db9f9ddc190401cfcb686e3c32 |
| react-performance-suite | 2.0.1 | 5928e3121f12f3c5d690bc7968b28b2f67835ef5 |
| react-state-optimizer-core | 1.0.0 | cbe7c87293de7ab5853e2aef3f638d54c45f5c9f |
| react-state-optimizer-core | 3.0.3 | fe6ee1104c4b02be39819822ed959039ea313e67 |
| react-fast-utilsa | 2.0.1 | e6cfaef4b50d2a4ddd8453bf5a91e81a092d6e09 |
| ai-fast-auto-trader | 2.2.1 | 963b79f59fb2c070a06b9a2af9db2b5512c1ed74 |
| ai-fast-auto-trader | 2.2.6 | d22eb34facf13b5c1e820d9e6358eb4cd3797eaa |
| pkgnewfefame1 | 3.2.1 | 2a8c625660ad6bb7d7c953a147c84c0fcc75794b |
| carbon-mac-copy-cloner | 1.1.0 | 63783f6e59d20e2c664123b349f22dd53d1293d4 |
| coinbase-desktop-sdk | 1.5.14 | cb9208d756dc4d4674801611d8d5f5ba79e76366 |
| coinbase-desktop-sdk | 1.5.19 | d5ade32ac52140e6c25f50780dc4ff4d466faddb |