
近期针对NPM包开发者的攻击事件频传,例如今年7月热门NPM包eslint-config-prettier被曝出被植入木马程序,起因是该包维护者JounQin遭遇钓鱼攻击。如今又有热门包出现类似的供应链攻击。
根据网络安全新闻网站Bleeping Computer的报道,化名qix的包开发人员Josh Junon也遭遇了钓鱼攻击,导致他维护的NPM包被植入恶意软件。由于这些包每周被下载超过26亿次,影响范围可能非常广泛。
攻击起因:钓鱼邮件诱导重置双因素验证
事件的曝光源于9月8日,有人发现Josh Junon所维护的多个热门包被植入后门,推测他的NPM账号已被黑客入侵,并通过社交平台Blue Sky发出通报。随后Josh Junon证实了这一事件,并表示他收到了一封看似合法的双因素验证重置邮件,之后账号便被控制,他正尝试联系NPM以取回账号。
之后Josh Junon再次发帖说明情况,表示自己已无法访问NPM账号,目前由NPM方面进行处理。他也公布了发送钓鱼邮件的邮箱地址:support [at] npmjs [dot] help。
此次事件中,NPM协助Josh Junon恢复了账号,并移除了非其本人发布的恶意包。Josh Junon表示虽然自己的账号和包似乎已经恢复正常,但还有其他包开发者也受到了类似攻击,呼吁大家提高警惕。
类似钓鱼邮件广泛出现,威胁开发者更新凭证
Josh Junon的警告并非空穴来风,因为有其他开发者也收到了类似的钓鱼邮件,并公布了邮件内容:对方声称收件人最后一次设置双因素验证已经超过一年半,他们正在要求所有开发者更新相关凭证,并威胁如果不处理,将继续使用旧凭证,从9月10日起暂时锁定账号。
后续也有开发者留言表示收到相同的钓鱼邮件。Bleeping Computer对钓鱼邮件中的链接进行了分析,发现其中包含一个登录表单,会将用户输入的账号密码泄露到特定的URL。对此展开调查的安全公司Aikido也证实了这一现象,因为他们也检测到黑客正向其他包开发者发送此类钓鱼邮件。
受影响包数量众多,加密货币交易成攻击目标
根据Aikido的统计,Josh Junon总共有18个包被植入恶意代码,这些包每周的总下载量高达26亿次,影响极其广泛。一旦用户不慎安装,恶意软件就会将自身注入浏览器,监控敏感数据,并修改浏览器访问目标,引导用户访问攻击者控制的网站,甚至劫持以太坊(Ethereum)、Solana等加密货币交易内容。
这些受感染的包按下载次数排序如下:
- ansi-styles(每周被下载3.71亿次)
- debug(每周被下载3.58亿次)
- chalk(每周被下载3亿次)
- supports-color(每周被下载2.87亿次)
- strip-ansi(每周被下载2.61亿次)
- ansi-regex(每周被下载2.44亿次)
- wrap-ansi(每周被下载1.98亿次)
- color-convert(每周被下载1.94亿次)
- color-name(每周被下载1.92亿次)
- is-arrayish(每周被下载7380万次)
- slice-ansi(每周被下载5980万次)
- error-ex(每周被下载4717万次)
- color-string(每周被下载2748万次)
- simple-swizzle(每周被下载2626万次)
- supports-hyperlinks(每周被下载1920万次)
- has-ansi(每周被下载1210万次)
- chalk-template(每周被下载390万次)
- backslash(每周被下载26万次)