benjamin-mauss/depenfusion
GitHub: benjamin-mauss/depenfusion
DepenFusion 是一款针对 Node.js 项目的渗透测试工具,用于检测依赖混淆漏洞,通过扫描暴露的 package.json 文件识别可被劫持的私有依赖包。
Stars: 14 | Forks: 1
# DepenFusion:一款用于检测 Node.js 依赖混淆漏洞的强大渗透测试工具

## 什么是 DepenFusion?
DepenFusion 是一款先进的多线程渗透测试(pentest)工具,专为识别和分析 Node.js (npm) 项目中的依赖混淆漏洞而设计。
## 主要功能:
- **自动化漏洞检测:** DepenFusion 旨在自动扫描并识别 Node.js 项目中的依赖混淆漏洞。
- **用户友好的界面:** 凭借易于使用的命令行界面,该工具简化了扫描子域名/域名以查找潜在漏洞的过程。
- **智能 URL 处理:** DepenFusion 智能处理 URL 的变体,确保即使格式不同也能流畅处理。
- **支持多线程:** 该工具的多线程功能允许同时扫描多个目标,从而实现更快、更高效的扫描。
- **静默模式和详细选项:** DepenFusion 提供灵活的静默模式(仅显示有用的结果)或详细模式(用于输出更详细的信息)。
- **集成可能性:** DepenFusion 可以轻松与其他安全工具集成,以增强漏洞评估能力。
## 如何使用 DepenFusion?
1. **安装:**
- 确保您的系统上已安装 Git 和 Python 3。
- 使用以下命令下载 DepenFusion 工具:
git clone github.com/benjamin-mauss/depenfusion
- 切换到 DepenFusion 目录:
cd depenfusion
- 安装必要的依赖项:
pip3 install -r requirements.txt
2. **扫描子域名/域名:**
使用以下命令通过标准输入(stdin)提供子域名/域名进行分析:
cat subdomains.txt | python3 ./main.py
3. **高级用法:**
DepenFusion 为高级用户提供了几个可选的命令行参数。要查看这些选项,请运行:
python3 ./main.py --help
这些选项包括调整并发线程数、设置超时时间、在 URL 后追加自定义字符串、启用详细模式等。
## DepenFusion 工作原理:
DepenFusion 采用系统化的方法来识别依赖混淆漏洞:
1. **异步请求与文件分析:** 该工具向目标 URL 发送异步请求,并在每个 URL 后追加 `package.json` 和 `package-lock.json`。然后检查这些文件是否存在且有效。
2. **依赖提取:** 如果找到有效的包文件,DepenFusion 将提取其中列出的依赖项。
3. **通过 NPM API 验证:** DepenFusion 随后通过查询 npm API 来验证提取的依赖项是否存在。
## 未来增强功能:
未来,DepenFusion 预计将通过纳入以下改进来扩展其功能:
- **支持更多包管理器:** DepenFusion 旨在支持其他流行的包管理器,例如 Python 的 pip 和 Ruby 的 gem。
- **GoLang 实现:** 开发团队正在开发 DepenFusion 的 GoLang 版本,以实现更快、更高效的扫描。
DepenFusion 是识别和缓解 Node.js 项目中依赖混淆漏洞的宝贵工具,提升了全球开发者和组织的安全态势。
标签:GNU通用公共许可证, Node.js, NPM安全, Python, 供应链攻击, 依赖混淆, 子域名扫描, 对称加密, 文档安全, 无后门, 网络安全, 网络安全研究, 自动化审计, 计算机取证, 软件开发工具包, 隐私保护