adminlove520/CVE-Poc_All_in_One
GitHub: adminlove520/CVE-Poc_All_in_One
一款从GitHub批量搜索、过滤和克隆CVE漏洞POC仓库的自动化工具,支持按年份筛选和智能去重。
Stars: 2 | Forks: 0
# CVE Poc All in One 🛡️
这是一个用于从GitHub搜索、过滤和克隆CVE漏洞相关仓库的工具。该工具会根据指定的查询条件搜索GitHub上的仓库,然后根据CVE编号进行过滤,并克隆符合条件的仓库。
## ✨ 功能特点
- 🔍 支持GitHub API搜索和过滤
- 📋 自动识别和提取CVE编号
- 📅 按年份筛选CVE漏洞
- ⭐ 保留Star数最高的仓库(对于重复的CVE)
- 🧹 自动清理克隆的仓库(删除.git目录、LICENSE等不需要的文件)
- 📊 控制文件大小和数量,避免下载过大的仓库
- ⚙️ 支持通过命令行参数、环境变量或.env文件配置
## 🚀 使用方法
### 💻 命令行参数
python main.py --github-token YOUR_TOKEN --year 2025 --page 10 --query "CVE-2025-"
参数说明:
- `--github-token`: 🔑 GitHub访问令牌(必需)
- `--year`: 📅 要搜索的CVE年份,如2025、2024等(默认:2025)
- `--page`: 📑 搜索结果的页码,或输入"all"获取所有页(默认:10)
- `--query`: 🔎 搜索查询语句(默认:CVE-2025-)
### 🔤 查询语句说明
**查询语句是什么?**
查询语句是用于在GitHub上搜索相关仓库的关键词。它会被发送到GitHub的搜索API,用于找到包含特定内容的仓库。
**您需要输入什么?**
您应该输入能帮助找到相关CVE漏洞代码的关键词。以下是一些常用的查询语句示例:
1. **基础查询**: `cve POC` - 搜索包含CVE和POC(概念验证)的仓库
2. **特定漏洞类型**: `cve SQL injection` - 搜索SQL注入相关的CVE漏洞
3. **特定软件**: `cve wordpress` - 搜索WordPress相关的CVE漏洞
4. **特定语言**: `cve python` - 搜索Python语言相关的CVE漏洞
5. **组合查询**: `cve exploit python` - 搜索Python编写的漏洞利用代码
查询语句会影响搜索结果的范围和准确性。一般来说,更具体的查询会返回更相关的结果。
### ⚖️ 参数优先级
工具支持多种配置方式,优先级从高到低依次为:
1. **命令行参数** - 直接通过命令行指定的参数
2. **环境变量** - 系统环境变量
3. **.env文件** - 项目根目录下的.env文件中的配置
4. **默认值** - 代码中定义的默认值
### 🌐 使用环境变量
您可以通过环境变量设置参数:
# Windows (PowerShell)
$env:GITHUB_TOKEN="your_token"
$env:CVE_YEAR="2025"
$env:PAGE="10"
$env:SEARCH_QUERY="CVE-2025-"
python main.py
# Linux/Mac
export GITHUB_TOKEN=your_token
export CVE_YEAR=2025
export PAGE=10
export SEARCH_QUERY="CVE-2025-"
python main.py
### 📄 使用.env文件
我们提供了`.env.example`示例文件,您可以复制并修改为`.env`文件:
1. 复制示例文件:
# Windows
copy .env.example .env
# Linux/Mac
cp .env.example .env
2. 编辑`.env`文件,填入您的配置:
# GitHub访问令牌(必需)
GITHUB_TOKEN=your_github_token_here
# 要搜索的CVE年份
CVE_YEAR=2025
# 搜索结果的页码
PAGE=10
# 搜索查询语句
SEARCH_QUERY=CVE-2025-
3. 直接运行程序:
python main.py
## 🔄 工作流程
1. 工具根据查询语句和年份从GitHub API搜索仓库
2. 过滤出包含特定格式CVE编号(如CVE-2024-1234)的仓库
3. 对于每个CVE编号,保留Star数最高的仓库
4. 克隆这些仓库到按年份和CVE编号命名的目录中
5. 清理克隆的仓库,删除不需要的文件和目录
6. 检查仓库大小,如果过大则删除
## 📁 输出目录结构
2024/
├── CVE-2024-1234/
│ ├── ... 清理后的仓库文件
├── CVE-2024-5678/
│ ├── ... 清理后的仓库文件
## 📦 依赖安装
pip install -r requirements.txt
## 🔄 GitHub Actions集成
该工具已配置GitHub Actions,可以每天自动运行并更新仓库。您可以在`.github/workflows/python-cve-check.yml`中查看配置详情。
## ⚠️ 注意事项
1. 🔑 请确保您的GitHub Token具有足够的权限
2. ⏱️ GitHub API有速率限制,如果遇到限制,请稍后再试
3. 💾 工具会自动过滤掉过大的仓库,以节省磁盘空间
4. 📝 所有操作都会记录到`cvemapping.log`文件中
## 📜 许可证
MIT
标签:BeEF, CVE, ESC4, EXP, OSINT, POC, Python, TLS, 实时处理, 密码管理, 数字签名, 数据泄露, 数据清洗, 无后门, 漏洞分析, 漏洞库, 爬虫, 网络安全, 路径探测, 逆向工具, 配置审计, 防御工具, 隐私保护