gavriel953/DepShield
GitHub: gavriel953/DepShield
一个开源供应链安全扫描器,检测拼写劫持、依赖混淆与废弃包以提升软件依赖安全性。
Stars: 0 | Forks: 0
# DepShield 🛡️
**供应链依赖安全扫描器**
DepShield 是一个功能强大的开源安全工具,旨在保护您的软件供应链。它会扫描项目依赖文件(如 `package.json`、`requirements.txt` 和 `Gemfile`),以检测与拼写劫持、依赖混淆和废弃包相关的风险并进行可视化展示。
## ✨ 功能特性
- **多生态系统支持:** 扫描 `npm`(JavaScript)、`pip`(Python)和 `RubyGems`(Ruby)依赖。
- **拼写劫持检测:** 识别与流行库名称相似可疑的软件包。
- **依赖混淆警报:** 标记潜在的命名空间混淆风险。
- **废弃分析:** 检测不再维护且存在安全风险的软件包。
- **交互式仪表板:** 美观的深色模式界面,提供风险评分和分类统计。
- **可导出报告:** 以 JSON 或 HTML 格式下载扫描结果。
## 🚀 快速开始
### 前置条件
- [Node.js](https://nodejs.org/)(v18.0.0 或更高版本)
- [npm](https://www.npmjs.com/) 或 [yarn](https://yarnpkg.com/)
### 安装
1. 克隆仓库:
git clone https://github.com/gavriel953/depshield.git
cd depshield
2. 安装依赖:
npm install
3. 启动开发服务器:
npm run dev
4. 打开浏览器并访问 `http://localhost:5173`。
## 🛠️ 技术栈
- **Vite** - 下一代前端工具
- **Vanilla JS/CSS** - 注重性能的实现
- **Canvas API** - 用于动态风险可视化
## 🛡️ 安全逻辑
DepShield 使用多种启发式方法来确定风险:
- **Levenshtein 距离:** 用于与最受欢迎的 1000 多个软件包的数据集进行拼写劫持检测。
- **元数据分析:** 扫描表明项目已被废弃或不再维护的模式。
- **注册表检查:** 模拟查找模式以识别潜在的依赖混淆向量。
## 📄 许可证
本项目根据 MIT 许可证授权 - 详情请参阅 [LICENSE](LICENSE) 文件。
## 🤝 贡献
欢迎贡献!请随时提交 Pull Request。
*由 DepShield 团队为网络安全防御者打造。*
标签:CMS安全, GNU通用公共许可证, HTML报告, JavaScript, JSON导出, Levenshtein距离, MITM代理, Node.js, npm, pip, Python, Ruby, RubyGems, Vite, 交互式UI, 依赖扫描, 依赖混淆, 依赖管理, 元数据分析, 可视化仪表板, 威胁情报, 开发者工具, 弃用包检测, 拼写劫持, 无后门, 暗色模式, 模型提供商, 注册表检查, 知识库, 自定义脚本, 软件供应链, 风险检测