从版本 7 开始,npm 使用更快的 Bulk Advisory 端点来优化计算审计结果的速度。
npm 将生成一个 JSON 有效负载,其中包含树中每个包的名称和版本列表,并将其 POST 到路径 /-/npm/v1/security/advisories/bulk 处的默认配置注册表。
树中任何 package.json 文件中没有 version 字段的包都将被忽略。如果指定了任何 --omit 选项(通过 --omit 配置,或诸如 --production、--only=dev 等简写之一),则将在提交的有效负载中适当地省略包。
如果注册表响应错误或无效响应,则 npm 将尝试从 Quick Audit 端点加载咨询数据。
预期结果将包含一组与咨询范围匹配的每个依赖项的咨询对象。每个咨询对象都包含一个 name、url、id、severity、vulnerable_versions 和 title。
然后 npm 使用这些咨询对象来计算树中依赖项的漏洞和元漏洞。