yarn audit是最轻量、最贴近CI的依赖漏洞扫描方式,支持按依赖组和严重等级过滤,VSCode中可配合Vuln Cost插件实现实时风险提示,而“一键全扫”类插件多为命令行封装且存在权限、缓存、路径等问题。

直接用 yarn audit ——最轻量、最贴近 CI 的方式
VSCode 本身不提供依赖漏洞扫描能力,但你可以无缝调用 yarn audit,它原生支持 Node.js 项目,且输出结构清晰、可读性强。不需要额外安装插件或配置服务端,只要项目有 yarn.lock 就能立刻跑起来。
-
yarn audit --groups dependencies --level moderate:只扫生产依赖,过滤 low 级别噪音,适合本地快速排查 -
yarn audit --groups dependencies --level high:CI 流水线推荐用这个,避免中危漏洞堆积导致误判 - 如果项目用 npm,
npm audit --audit-level=moderate效果类似,但 npm 的报告格式更啰嗦,修复建议也不如 yarn 明确
装 Vuln Cost 插件 ——写代码时就看到风险
它不是扫描器,而是“实时提示器”:当你在 import 或 require 一个包时,VSCode 编辑器里会直接标出该包的已知漏洞数量和严重等级(low/moderate/high/critical),不打断编码节奏。
- 安装后默认只对含漏洞的包加内联装饰(比如在
import express from 'express'行末显示 ⚠️ 2 moderate),没漏洞就不打扰 - 点击警告图标能跳转到 Snyk 页面,看到 CVE 编号、受影响版本范围、是否已有修复版
- 它依赖 Snyk 的免费 OSS 数据库,无需注册也能用基础功能;注册后可看漏洞详情和修复路径,但不是必须
别信“一键全扫”类插件 ——它们多数只是包装命令行工具
有些 VSCode 插件声称“内置扫描引擎”,实际只是把 snyk test 或 npm audit 封装成图形按钮。这类插件容易出问题:
生成Blender Python (bpy)脚本,该脚本使用node_groups API和GeometryNodeTree接口程序化地创建几何节点修改器树,用于参数化3D资产生成。
- 权限混乱:为执行命令自动申请
terminal权限,可能被恶意扩展滥用 - 缓存失效:插件自己维护的漏洞数据库更新滞后,不如直接跑
yarn audit拉取最新 NVD 数据 - 路径错误:默认在工作区根目录执行,但如果你打开的是子模块或 mono-repo 的某个 package,它可能扫错
node_modules
调试时发现漏洞包?别急着升级,先确认调用链是否可达
扫描报告里列出的漏洞,不一定影响你的运行时。比如 lodash 的某个 deep-merge 漏洞,如果你的代码从没传入不可信输入,攻击面就不存在。
- 检查该包是否被你直接
require或import,还是仅作为深层传递依赖(如a → b → lodash) - 用
yarn why lodash查清引入路径,再人工判断是否走到有风险的函数分支 - 无修复版本时,不要盲目加
resolutions——强制锁版本可能破坏其他依赖的兼容性,优先评估是否真会被利用
真正难的不是“怎么扫”,而是“扫出来之后要不要动”。很多中危漏洞藏在 dev-only 工具链里(比如 eslint-plugin-import 里的正则回溯),它们进不了生产环境,却会拖慢 CI。盯住 --groups dependencies 这个参数,比什么都管用。










