一名黑客通过社会工程学手段骗取开发者凭据后,在18个热门npm包中植入窃取加密货币的恶意软件。
网络安全机构Aikido Security周一表示,这18个软件包的周下载总量超过20亿次。该机构当天发现,恶意代码被植入这些包中,用于拦截浏览器中的加密货币及Web3相关活动。
“嗨,是的,我被黑了。对不起大家,非常尴尬。”开发者John Junon(用户名qix)写道。他收到一封来自npmjs.help 的钓鱼邮件,要求更新双因素认证(2FA)。该域名是npm官网域名npmjs.com 的打字劫持变体,注册于9月5日。“我当时用的是手机,错误地点击了链接,而不是像平时那样直接访问官网。”他补充道。
Aikido称,在npm管理员暂停其账户前,该开发者已成功删除了大部分受感染的包。Junon周一晚间表示,他的账户已恢复,“我的包应该已恢复正常”,并透露警方已就此事联系他。
截至目前,与该事件相关的实际加密货币盗窃金额相对有限。“我们追踪到约970美元的资金被盗至攻击者控制的钱包,”Aikido Security首席恶意软件研究员Charlie Eriksen在邮件中告诉《信息安全媒体集团》,“财务影响出人意料地小。”
Eriksen表示,有数据显示,恶意包在被下线前已被下载260万次。Junon删除恶意包的行动“无疑阻止了大量潜在传播,他值得高度赞扬。”
恶意更新中包含嵌入浏览器的混淆代码,通过挂钩fetch、XMLHttpRequest等网络请求接口及常见钱包接口,在用户查看或确认交易前篡改支付数据。
一旦激活,恶意软件会扫描网络中与以太坊、比特币、Solana、Tron、莱特币和比特币现金相关的钱包地址,并将其替换为攻击者控制的地址以转移资金。
Aikido称此次攻击“在多个层面运作”,因此尤为危险,包括同时篡改网站、API调用和用户应用。
npm仓库是供应链攻击的常见目标,黑客或感染可信包,或上传模仿热门下载的恶意包。
Eriksen认为,npm安全可通过配置账户使所有更新通过GitHub或GitLab进行改进:“这需要利用代码仓库提供的常规工作流和控制措施——例如要求多人审核拉取请求后才能合并到主分支并发布新版本。”
微软首席技术专家Paul Lizer周一警告,快速发布周期和自动化意味着“恶意代码可在几分钟内进入生产环境,且往往无需人工审核。”
Immersive首席应用安全专家Chris Wood表示,尽管此次攻击看似并不复杂,但可能成为“大规模企业数据泄露的跳板”。
“这暴露了开源生态的一个关键弱点:开发者默认从仓库拉取的代码是安全的,”Wood告诉《信息安全媒体集团》,“当维护者账户被盗,整个生态系统都将面临风险。”
Wood建议开发者采取“信任但验证”的策略以避免使用易受攻击的包:“团队不应依赖公共npm registry,而应使用可信内部仓库,在包进入开发环境前进行扫描和审查。”
发表评论
您还未登录,请先登录。
登录