本周早些时候,安全工具 Socket 报告称,多个流行的 NPM 包遭到破坏,这可能导致开发者的机器受到影响。 让我们看看这个漏洞是如何工作的,以及你如何可以保护自己免受其影响 👇
步骤 1:NPM 发布者访问 黑客通过网络钓鱼手段入侵了拥有这些包发布权限的账户。 这使得黑客能够发布这些流行 NPM 包的恶意版本。
步骤 2:依赖安装下载恶意软件 当开发者安装这个新的恶意版本时,NPM 包中的 "postinstall" 脚本会在安装后运行,并在开发者的机器上下载并执行恶意软件。 这可能会危及进一步的开发者账户或窃取他们计算机上的凭证。
我们如何才能避免这种类型的漏洞? 作为包的作者: 使用双重身份验证(2FA),以减少网络钓鱼活动对您包的发布权限的影响。 作为开发者: 1. 限制依赖项。 幸运的是,这已经是标准做法,否则这种漏洞的影响将会更大。 2. 尽量避免使用后安装脚本。 大多数包不需要后安装脚本就能正常工作,因此建议将其关闭。MetaMask 创建了一个很好的开源工具,名为 LavaMoat。 3. 审计依赖项。 保护自己免受这些类型漏洞的最佳方法是谨慎添加依赖项到您的项目中。Socket 是一个非常有用的工具,可以帮助自动化这种审计。
291