
2022年在比利时创立的安全初创公司Aikido Security本周一(9月8日)披露,黑客通过假冒NPM(Node Package Manager)平台的客户服务部门,向大量NPM包开发者发送钓鱼邮件,骗取登录凭证,并成功在至少18个热门包中植入恶意代码,涵盖调试工具、终端显示相关的核心包以及CLI工具常用的终端样式库等基础依赖包,每周下载量达数十亿次。黑客的主要目的是窃取受害者的加密货币。
根据调查,黑客是在2025年9月5日注册了npmjs.help域名,以模仿官方域名npmjs.com,随后向包维护者发送伪装成NPM客服的钓鱼邮件,通常声称账户存在安全问题或需要验证,但邮件中的链接指向的是黑客伪造的NPM登录页面,诱导维护者在该页面输入账户密码及多因素验证码。
黑客在获得凭证后登录维护者账户,发布植入恶意代码的新版本包;一旦这些包被用于前端项目并在浏览器中执行,恶意代码便会自动运行,用于探测浏览器中的加密货币钱包,拦截应用与钱包之间的交互过程,并伺机篡改交易的目标地址,将收款方替换为黑客控制的钱包地址。
值得注意的是,黑客似乎专门针对热门包进行攻击,受害名单中绝大多数都是基础设施级别的组件,包括每周下载量高达3.7亿次、用于终端文字样式的ansi-styles,每周下载量超过3.5亿次的调试工具debug,以及每周下载量接近3亿次的终端字体着色工具chalk,其他还包括supports-color、strip-ansi、ansi-regex、wrap-ansi、color-convert、color-name、is-arrayish、slice-ansi、error-ex、color-string、simple-swizzle、supports-hyperlinks、has-ansi、chalk-template和backslash等。
Aikido的威胁情报系统于9月8日检测到NPM出现异常新版本,随后开始出现关于包被攻击的讨论,维护者才意识到自己被骗输入了凭证,并发现自己的NPM后台出现了非本人发布的版本更新。
安全专家建议包维护者应立即更改所有凭证,强制启用多因素验证,撤销恶意版本并重新发布安全版本/公告,并应通知下游项目或企业用户。开发者则应暂停自动升级,开展安全检查,并重建部署环境。