# llm_protocol **Repository Path**: little77/llm_protocol ## Basic Information - **Project Name**: llm_protocol - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-03 - **Last Updated**: 2026-01-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 协议规范学习工具 这是一个基于大模型和RAG技术的协议规范学习工具,能够处理RFC等协议规范文件,生成相应的知识库,并自动生成Boofuzz协议模糊测试模板。 ## 功能特点 - **支持多种文档格式**:文本文件(.txt)、PDF文件(.pdf)、Markdown文件(.md) - **自动知识提取**:利用大模型从协议规范中提取关键信息 - **知识库管理**:基于向量数据库的高效知识存储和检索 - **Boofuzz模板生成**:自动生成符合Boofuzz格式的协议测试模板 - **模板验证**:验证生成的Boofuzz模板的有效性 ## 安装依赖 ```bash pip install -r requirements.txt ``` ## 环境配置 需要设置OpenAI API密钥: ```bash export OPENAI_API_KEY="your-openai-api-key" ``` 或者创建一个.env文件: ``` OPENAI_API_KEY=your-openai-api-key ``` ## 使用方法 ### 1. 添加协议规范到知识库 ```bash python src/main.py add ... ``` 参数说明: - `--model`: 使用的OpenAI模型名称(默认:gpt-3.5-turbo) - `--kb-path`: 知识库存储路径(默认:./knowledge_base) ### 2. 学习协议规范并生成模板 ```bash python src/main.py learn ``` 参数说明: - `--model`: 使用的OpenAI模型名称(默认:gpt-3.5-turbo) - `--kb-path`: 知识库存储路径(默认:./knowledge_base) ### 3. 批量学习多个协议规范 ```bash python src/main.py batch-learn ... ``` 参数说明: - `--model`: 使用的OpenAI模型名称(默认:gpt-3.5-turbo) - `--kb-path`: 知识库存储路径(默认:./knowledge_base) ### 4. 验证Boofuzz模板 ```bash python src/main.py validate ``` 参数说明: - `--model`: 使用的OpenAI模型名称(默认:gpt-3.5-turbo) ## 示例 ### 学习RFC 793 (TCP协议)规范 ```bash python src/main.py learn rfc793.txt ``` ### 批量学习多个RFC文档 ```bash python src/main.py batch-learn rfc793.txt rfc791.txt rfc862.txt ``` ### 验证生成的模板 ```bash python src/main.py validate knowledge_base/TCP_boofuzz_template.py ``` ## 工作流程 1. **文档加载**:读取协议规范文件(支持多种格式) 2. **文档分割**:将文档分割成适合处理的小块 3. **向量化存储**:将文档内容转换为向量并存储到知识库 4. **知识提取**:利用大模型从规范中提取协议字段、格式等关键信息 5. **模板生成**:基于提取的信息生成Boofuzz测试模板 6. **模板验证**:验证生成的模板的有效性 ## 输出文件 - **向量数据库**:存储在`knowledge_base/vector_db/`目录下 - **协议信息**:存储为`knowledge_base/_info.json` - **Boofuzz模板**:存储为`knowledge_base/_boofuzz_template.py` - **模板验证结果**:存储为`knowledge_base/_template_validation.json` ## 注意事项 - 确保OpenAI API密钥有效且有足够的配额 - 对于大型PDF文件,处理时间可能较长 - 生成的Boofuzz模板可能需要根据实际情况进行微调 - 建议先使用小文件测试功能 ## 依赖说明 - **langchain**: 大语言模型应用框架 - **openai**: OpenAI API客户端 - **faiss-cpu**: 高效的向量检索库 - **PyPDF2**: PDF文件处理 - **unstructured**: 非结构化文档处理 - **python-dotenv**: 环境变量管理 - **boofuzz**: 协议模糊测试框架 ## 许可证 MIT License