@v1xingyue/npm-checker
v1.0.0
Published
A CLI tool to audit npm projects for vulnerable package versions
Maintainers
Readme
npm-checker
一个用于审计 npm 项目依赖漏洞的 CLI 工具。可以递归检查项目中的 package.json 文件,确定是否包含指定版本或低版本的某个包。
功能特性
- 🔍 递归扫描目录中的所有
package.json文件 - 📋 支持策略文件(JSON 格式)定义漏洞规则
- ✅ 检查 dependencies、devDependencies、peerDependencies、optionalDependencies
- 🎯 精确的版本匹配和范围检查
- 📊 友好的命令行输出和 JSON 格式输出
- 🚫 自动排除 node_modules、.git 等目录
安装
npm install
npm run build使用方法
基本用法
npm-checker check -p policy.json指定扫描目录
npm-checker check -p policy.json -d /path/to/project排除特定目录
npm-checker check -p policy.json -e vendor buildJSON 格式输出
npm-checker check -p policy.json --json检查多个策略文件
npm-checker check-multiple -p policy1.json policy2.json策略文件格式
策略文件是一个 JSON 文件,定义要检查的漏洞规则:
{
"cve": "CVE-2025-66478",
"cvss": 10.0,
"description": "React Server Components 漏洞",
"packages": [
"react-server-dom-webpack",
"react-server-dom-parcel",
"react-server-dom-turbopack"
],
"affectedVersions": [
"19.0",
"19.1.0",
"19.1.1",
"19.2.0"
],
"fixedVersions": [
"19.0.1",
"19.1.2",
"19.2.1"
]
}字段说明
cve(可选): CVE 编号cvss(可选): CVSS 评分description(可选): 漏洞描述packages(必需): 受影响的包名数组affectedVersions(必需): 受影响的版本列表,支持:- 精确版本:
"19.0.1" - 主版本:
"19" - 主次版本:
"19.0" - 版本范围:
">=14.3.0-canary.77"
- 精确版本:
fixedVersions(必需): 已修复的版本列表
输出示例
审计结果
============================================================
CVE: CVE-2025-66478
CVSS 评分: 10
检查的包: react-server-dom-webpack, react-server-dom-parcel
受影响版本: 19.0, 19.1.0, 19.1.1, 19.2.0
已修复版本: 19.0.1, 19.1.2, 19.2.1
总计检查: 5 个依赖
发现漏洞: 2 个
漏洞详情:
------------------------------------------------------------
1. react-server-dom-webpack
路径: /path/to/project/package.json
当前版本: 19.0
受影响版本: 19.0, 19.1.0, 19.1.1, 19.2.0
建议升级到: 19.0.1
CVE: CVE-2025-66478
CVSS: 10
2. react-server-dom-parcel
路径: /path/to/project/package.json
当前版本: 19.1.0
受影响版本: 19.0, 19.1.0, 19.1.1, 19.2.0
建议升级到: 19.1.2
CVE: CVE-2025-66478
CVSS: 10
============================================================退出码
0: 未发现漏洞1: 发现漏洞或发生错误
开发
# 编译 TypeScript
npm run build
# 开发模式运行
npm run dev check -p policy.json许可证
MIT
