ridhinva/npm-tar-traversal-scanner
GitHub: ridhinva/npm-tar-path-traversal-scanner
一个专门检测 CVE-2026-31802 (npm tar 路径遍历漏洞) 的扫描器,通过解析锁文件和依赖链定位受影响项目,并提供修复建议。
Stars: 0 | Forks: 0
# CVE-2026-31802 — npm tar 路径遍历扫描器
检测存在 **CVE-2026-31802** 漏洞的 npm 包,该漏洞是 `tar` npm 包中的一个路径遍历问题,允许在解压归档文件时任意写入文件。
## 功能特性
- 扫描 `package-lock.json` 以查找存在漏洞的 `tar` 版本
- 检查 `node_modules` 中已安装的漏洞包
- 通过特制的 tar 归档文件测试解压行为
- 识别导致使用漏洞 `tar` 的依赖链
- 支持批量扫描多个项目
- 生成 JSON/CSV 格式报告
- 提供修复建议
## 安装
```
git clone https://github.com/ridhinva/npm-tar-traversal-scanner.git
cd npm-tar-traversal-scanner
pip3 install -r requirements.txt
```
## 使用方法
### 扫描当前目录
```
python3 npm_tar_scanner.py
```
### 扫描特定项目
```
python3 npm_tar_scanner.py /path/to/project
```
### 直接扫描 package-lock.json
```
python3 npm_tar_scanner.py --lock-file /path/to/package-lock.json
```
### 批量扫描多个项目
```
python3 npm_tar_scanner.py --bulk /path/to/projects/
```
### 生成报告
```
python3 npm_tar_scanner.py --report json --output report.json
python3 npm_tar_scanner.py --report csv --output report.csv
```
### 使用漏洞测试进行检查
```
python3 npm_tar_scanner.py --test-exploit /path/to/project
```
## 漏洞版本
| 包名 | 受影响版本范围 | 修复版本 |
|---------|-----------------|----------|
| `tar` | < 6.2.1 | 6.2.1 |
| `tar` | 7.0.0-alpha.0 - 7.0.0-alpha.5 | 7.0.0-alpha.6 |
## 工作原理
1. 解析 `package-lock.json` 以提取依赖树
2. 检查 `tar` 包版本是否位于已知漏洞范围
3. 判断 `tar` 是否为直接依赖或传递依赖
4. (可选)使用包含 `../` 路径条目的特制 tar 文件测试解压行为
5. 报告存在漏洞的项目,附带依赖链和修复步骤
## 示例输出
```
[!] CVE-2026-31802 - npm tar Path Traversal Scanner
[+] Scanning: /home/user/my-project
[!] VULNERABLE: tar@6.1.15 (locked in package-lock.json)
Path: node_modules/tar
Dependency chain: my-project -> node-gyp -> tar
Severity: HIGH - Arbitrary file write during extraction
Fix: Update to tar@6.2.1 or later
```
## 参考资料
- CVE-2026-31802
- npm tar 包:https://www.npmjs.com/package/tar
- CISA KEV:2026-05-22
## 作者
@c_y_p_h3r
## 法律声明
仅用于授权的安全测试和教育目的。
标签:CSV报告, CVE-2026-31802, JSON报告, node_modules, npm, package-lock.json, Python, tar, 云安全监控, 依赖扫描, 安全扫描, 安全漏洞, 无后门, 无服务器架构, 时序注入, 暗色界面, 模型提供商, 滥用路径, 漏洞修复, 网络安全培训, 路径遍历, 逆向工具, 静态分析