Unoong/CVE_BOT

GitHub: Unoong/CVE_BOT

一个自动化收集 GitHub CVE POC 并利用 Gemini AI 进行漏洞分析、攻击步骤提取和 Snort 规则生成的安全情报系统。

Stars: 0 | Forks: 0

# CVE Bot - GitHub CVE 信息收集与 AI 分析系统 这是一个从 GitHub 自动收集 CVE (Common Vulnerabilities and Exposures) 信息,并使用 Gemini AI 分析 POC 的集成系统。 ## 主要功能 ### 📥 CVE 收集 (`main.py`) - **GitHub API 搜索**: 使用 GitHub API 搜索与 CVE 相关的 Python 仓库(按最新排序) - **自动数据收集**: 自动收集创建日期、作者、CVE 代码、README 等信息 - **CVE API 收集**: 自动收集 CVE 详细信息(CVSS, CWE 等) - **数据库存储**: 实时存储到 MySQL 数据库 - **防止重复**: 相同链接及 CVE 最多保存 5 条 - **ZIP 下载**: 以 ZIP 格式下载 GitHub 仓库并解压 - **翻译功能**: 使用 Google Translate(免费)将 README 和 CVE 说明翻译成中文 - **Rate Limit 处理**: 自动检测并等待 GitHub API Rate Limit - **日志记录**: 生成详细的日志文件 ### 🤖 AI 分析 (`run_ai_analysis.py`) - **自动 POC 分析**: Gemini AI 自动分析 POC 代码 - **攻击步骤提取**: 从 POC 中提取各攻击阶段的数据包 - **MITRE 映射**: 映射到 MITRE ATT&CK 框架 - **Snort 规则生成**: 为每个攻击阶段自动生成检测规则 - **每 10 分钟自动运行**: 自动分析新的 CVE ## 安装说明 1. 克隆或下载项目 ``` cd E:\LLama\pythonProject\CVE_BOT ``` 2. 安装所需依赖包 ``` pip install -r requirements.txt ``` 3. MySQL 数据库设置 - 端口: 7002 - 数据库: TOTORO - 用户: root - 密码: !db8354 ## 配置文件 (config.json) ``` { "github": { "token": "YOUR_GITHUB_TOKEN", "search_query": "CVE-{year} language:python", "max_pages": 100 }, "database": { "host": "localhost", "port": 7002, "user": "root", "password": "!db8354", "database": "TOTORO" }, "collection": { "last_collection_time": "", "max_cve_per_item": 5, "rate_limit_wait_minutes": 10 } } ``` ### 配置项说明 - **github.token**: GitHub Personal Access Token - **github.max_pages**: 最大搜索页数(默认:100) - **collection.last_collection_time**: 最后收集时间(自动更新) - **collection.max_cve_per_item**: 每个 CVE 最大保存数量(默认:5) - **collection.rate_limit_wait_minutes**: Rate Limit 时的等待时间(默认:10 分钟) ## 使用方法 ### 1. 运行 CVE 收集 ``` cd E:\LLama\pythonProject\CVE_BOT python main.py ``` ### 2. 运行 AI 分析(在另一个终端) ``` cd E:\LLama\pythonProject\CVE_BOT python run_ai_analysis.py ``` ### 推荐并行运行 - **终端 1**: `main.py` (CVE 收集) - **终端 2**: `run_ai_analysis.py` (AI 分析) 同时运行收集和分析效率更高! ## 项目结构 ``` CVE_BOT/ ├── main.py # 메인 실행 파일 ├── config.json # 설정 파일 ├── logger.py # 로깅 모듈 ├── db_manager.py # 데이터베이스 관리 모듈 ├── github_collector.py # GitHub API 수집 모듈 ├── translator.py # Papago 번역 모듈 ├── file_manager.py # 파일 관리 모듈 ├── requirements.txt # 패키지 의존성 ├── CVE/ # CVE 저장소 다운로드 폴더 │ └── CVE-YYYY-NNNNN/ # CVE별 폴더 │ ├── 1/ # 첫 번째 저장소 │ ├── 2/ # 두 번째 저장소 │ └── ... └── logs/ # 로그 파일 폴더 └── cve_bot_YYYYMMDD.log ``` ## 数据库结构 ``` CREATE TABLE IF NOT EXISTS Github_CVE_Info ( id INT AUTO_INCREMENT PRIMARY KEY, date TEXT, -- 저장소 작성일 collect_time TEXT, -- 수집 시간 link TEXT, -- GitHub 링크 title TEXT, -- 저장소 제목 writer TEXT, -- 작성자 cve TEXT, -- CVE 코드 readme TEXT, -- README 원문 download_path TEXT, -- 다운로드 경로 status TEXT, -- 상태 (기본: N) trans_msg TEXT, -- 번역된 메시지 AI_chk TEXT -- AI 체크 여부 (기본: N) ) ``` ## 收集项目 1. **date**: 仓库创建日期 2. **collect_time**: 数据收集时间 3. **writer**: 仓库作者 4. **cve**: CVE 代码 5. **title**: GitHub 仓库标题 6. **link**: GitHub 仓库链接 7. **readme**: README 文件内容 8. **download_path**: ZIP 文件下载路径 9. **status**: 处理状态(默认:N) 10. **trans_msg**: 翻译后的 README 11. **AI_chk**: AI 检查状态(默认:N) ## 核心逻辑 1. **CVE 数量限制**: 查询数据库中具有相同 CVE 代码的记录,仅在少于 5 条时保存 2. **CVE 代码提取**: 使用正则表达式从仓库标题、描述、README 中提取 CVE-YYYY-NNNNN 模式 3. **按最新排序**: 根据 GitHub API 的 updated 标准按最新排序 4. **防止重复**: 仅收集最后收集时间之后更新的仓库 5. **ZIP 下载**: 按照 CVE 文件夹结构下载仓库并解压 ## 注意事项 - **GitHub API Rate Limit**: 每小时 5,000 次请求(基于已认证请求) - **Rate Limit 处理**: 达到限制时自动等待 10 分钟后重试 - **CVE 保存限制**: 根据数据库查询,相同 CVE 最多保存 5 条 - **Papago 翻译**: 如果未设置 API 密钥,则保存原始文本 - **搜索查询**: 使用 `CVE-{当前年份} language:python` 进行搜索 ## Papago 翻译设置(可选) 如果要使用 Papago API,请修改 `translator.py` 并在 config.json 中添加 API 密钥: ``` "papago": { "client_id": "YOUR_CLIENT_ID", "client_secret": "YOUR_CLIENT_SECRET" } ``` ## 日志文件 - 位置: `logs/cve_bot_YYYYMMDD.log` - 格式: 按日期生成日志文件 - 级别: DEBUG, INFO, WARNING, ERROR, CRITICAL ## 许可证 本项目仅供教育和研究目的制作。 ## 故障排除 ### 数据库连接错误 - 检查 MySQL 服务器是否正在运行 - 确认端口 7002 是否正确 - 确认数据库 TOTORO 是否已创建 ### GitHub API 速率限制 - 确认 GitHub Token 是否有效 - 检查 Rate Limit 状态: https://api.github.com/rate_limit ### ZIP 下载失败 - 检查网络连接 - 确认仓库是否为 public - 检查磁盘空间
标签:AI安全, Chat Copilot, CISA项目, Cloudflare, CVSS, Gemini, GitHub爬虫, MITRE ATT&CK, PB级数据处理, POC分析, Python, Snort规则, XSS, 安全运维, 密码管理, 无后门, 漏洞情报, 网络安全, 自动化分析, 自定义脚本, 跨站脚本, 逆向工具, 配置审计, 隐私保护