如何应对npm投毒?

背景

最近发生好多次npm投毒事件,偶尔用npm的小白看得怕怕的

请问各位通过什么方式应对?

几个投毒例子,更多案例一搜一大把

整理了一些相关内容

pnpm audit 是用来检查项目依赖中已知安全漏洞的命令。

它的工作原理:

  1. 读取你的依赖树(包括直接依赖和间接依赖)
  2. 对比公开的漏洞数据库(如 GitHub Advisory Database)
  3. 报告发现的漏洞,包括:
    • 受影响的包名和版本
    • 漏洞严重程度(low / moderate / high / critical)
    • 漏洞描述和 CVE 编号
    • 建议升级到的安全版本

与 Socket CLI 的区别:

pnpm audit Socket CLI
需要认证 不需要 需要 API token
检查范围 已知 CVE 漏洞 漏洞 + 供应链风险(恶意代码、typosquatting 等)
使用门槛 零配置,开箱即用 需要注册账号

简单来说,pnpm audit 是免费、无需配置的基础安全检查,适合快速扫描已知漏洞。Socket 则更全面,能检测供应链攻击等高级威胁。

要我帮你跑一下 pnpm audit 看看当前依赖有没有已知漏洞吗?