VSCode依赖安全插件本身不提供漏洞数据库,仅对接Snyk、npm audit、Trivy等外部工具,必须手动配置CLI路径、API Token及自动扫描开关才能生效;未配置则界面显示“Scanning…”或空白,实为未连接后端。

VSCode 依赖安全插件本身不提供漏洞数据库,它只对接外部扫描服务或本地工具(如 Snyk、npm audit、Trivy),必须手动配置 CLI 路径或 API Token 才能生效。
为什么装了依赖安全插件却看不到漏洞报告
常见现象是插件界面长期显示“Scanning…”或直接空白,点“Run Scan”没反应。这不是插件坏了,而是它根本没连上任何扫描后端——它本身不带漏洞库,也不内置扫描引擎。
- 插件如
Dependabot for VSCode、Snyk Vulnerability Scanner或Node Security Platform都属于“壳”,只负责调用 CLI 或发 HTTP 请求 - 如果你没装对应 CLI(比如
snyk命令不存在),插件会静默失败,控制台也未必报错 - 部分插件要求先登录(如
snyk auth),否则即使 CLI 存在也会卡在认证环节
必须填对的三个核心配置项
以主流插件 Snyk Vulnerability Scanner 为例,其设置里最关键的不是“启用开关”,而是以下三项:
-
snyk.path:必须指向可执行文件的**绝对路径**,不能是别名或 shell 函数。macOS 上运行which snyk得到/opt/homebrew/bin/snyk,就填这个;Windows 上是C:\Users\me\scoop\apps\snyk\current\snyk.cmd -
snyk.token:不是用户名密码,而是你在 snyk.io/account 页面生成的 Personal API Token(长度约 32 字符,含字母+数字) -
snyk.autoScanOnOpen:设为true仅在项目根有package.json或pyproject.toml时才触发,否则不会扫
npm audit 和 yarn audit 的区别在哪
VSCode 内置的 npm audit 支持有限,且默认只跑 npm audit --audit-level=moderate,漏掉 low 级别问题;而 yarn audit(v1/v4)默认更严格,但 Yarn v4 默认禁用 audit,需显式开启。
- 插件若依赖
npm,请确认你当前终端的npm版本 ≥ 8.19(2026 年主流安全修复已合入) - Yarn 用户注意:
yarn audit --level low才等效于 npm 的全量扫描;插件配置里若写yarn.auditLevel,值必须是字符串"low",不是数字1 - 二者都**不扫描 lockfile 以外的依赖树**——如果
node_modules是手工复制的,或用了 pnpm 的shamefully-hoist,结果可能不准
Trivy + VSCode 的最小可行配置
想用开源方案绕过 Snyk 订阅?trivy 是目前最轻量的替代,但 VSCode 插件(如 Trivy Scanner)对参数极其敏感:
-
trivy.path必须是完整路径,例如/usr/local/bin/trivy;填trivy会失败(插件不走$PATH) -
trivy.mode填"filesystem"(不是fs或dir),否则只扫package-lock.json,不递归查node_modules -
trivy.ignoreUnfixed设为false才显示尚未发布补丁的漏洞(如 log4j 2.17.1 之前的 CVE)
真正容易被忽略的是:所有这类插件都**只扫描当前打开的工作区根目录下的依赖文件**,不会跨窗口、不继承多根工作区的子目录配置——哪怕你右键某个子包的 package.json,它也只从顶层 package.json 开始解析依赖树。


















