检查 node.js 项目中的漏洞

yarn audit --groups dependencies --level moderate 是什么?

一条命令、两个参数,让依赖漏洞无处遁形。


命令全貌

bash 复制代码
yarn audit --groups dependencies --level moderate

Yarn 会分析你的 node_modules,在已知漏洞数据库中比对所有包,然后只输出你真正需要关心的那部分------生产依赖里,危险程度达到"中等"及以上的漏洞


两个参数各管什么

--groups dependencies

只扫 dependencies,跳过 devDependencies

打包上线的代码才需要被审计,本地开发工具(如 ESLint、Jest、Webpack)的漏洞不影响线上用户,不必占用排查精力。

--level moderate

过滤掉 low 级别的噪音,只展示 moderate / high / critical 的漏洞,让报告专注在真正有风险的问题上。


漏洞等级一览

等级 说明 --level moderate 是否显示
low 低危,影响极小 ✗ 过滤掉
moderate 中危,有一定利用可能
high 高危,建议立即修复
critical 严重,必须立刻处理

为什么不扫 devDependencies?

devDependencies 只在开发环境运行,不会进入生产构建产物。攻击者拿不到它们,扫出来的漏洞对用户无实际威胁。

精准扫描 = 更少误报 + 更快 CI。


扫完之后怎么处理?

  1. 读报告 --- Yarn 列出漏洞名称、受影响的包、CVE 编号,以及是否有修复版本可用。

  2. 先跑升级 --- 对有新版本的包直接升级:

bash 复制代码
   yarn upgrade <package-name>
  1. 用 resolutions 强制锁版本 --- 若漏洞在深层传递依赖里,直接升顶层包无效,可在 package.json 里强制指定:
json 复制代码
   {
     "resolutions": {
       "vulnerable-package": "^2.0.0"
     }
   }
  1. 无修复版本时评估风险 --- 判断攻击向量是否可达。不可达的漏洞可暂时豁免,等上游发布补丁后跟进。

加进 CI 流水线

bash 复制代码
# CI 中用 high,避免中等漏洞太多堵死流水线
yarn audit --groups dependencies --level high

# 本地排查用 moderate,做更完整的扫描
yarn audit --groups dependencies --level moderate

--level high 版本加到 CI 检查步骤,可以阻止带有高危漏洞的 PR 合入主分支。


背景说明

yarn audit 背后调用的是 npm 公开漏洞数据库(npm Advisory Database),数据与 npm audit 同源,覆盖了 CVE、GitHub Advisory 等主流漏洞来源。

相关推荐
FungLeo5 小时前
成为全栈·Node 后端篇·容器化:给 Node 应用写一个像样的 Dockerfile
docker·node.js·dockerfile·成为全栈·后端服务容器·docker 容器
WeiXin_DZbishe8 小时前
基于springboot大学生提问箱系统-计算机毕设【课程设计】72593
javascript·vue.js·spring boot·vscode·python·node.js·php
xixiaoyunya11 小时前
Docker 容器化部署实战:从零搭建一套完整的 Nginx + Node.js + MySQL + Redis 项目环境
nginx·docker·node.js
晴天1611 小时前
npm install -f(--force)深度解析:作用原理、报错根源与风险避坑指南
前端·npm·node.js
还是大剑师兰特11 小时前
Swagger 在 Node.js 项目中的安装和完整使用方法
node.js
FungLeo17 小时前
成为全栈·Node 后端篇·全文搜索:从 LIKE 到全文索引
node.js·全文索引·模糊搜索·全文搜索·成为全栈·like 搜索
倾颜1 天前
AI Chat 长会话性能实践:消息虚拟化、动态高度与流式滚动设计
前端·react.js·node.js
FungLeo1 天前
成为全栈·Node 后端篇·接口文档自动化:让 OpenAPI 与代码不脱节
node.js·openapi·成为全栈·接口文档自动化
右耳朵猫AI1 天前
Node.js周刊2026W36 | NestJS 12发布、Remix 3 RC、pnpm 12 Rust重写、Node.js 26.8.0
开发语言·rust·node.js
www_aiyuanma_vip1 天前
实验室设备借用系统
node.js