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, 云安全监控, 依赖扫描, 安全扫描, 安全漏洞, 无后门, 无服务器架构, 时序注入, 暗色界面, 模型提供商, 滥用路径, 漏洞修复, 网络安全培训, 路径遍历, 逆向工具, 静态分析