章节 01
导读 / 主楼:MulitaMiner:利用大语言模型从安全PDF报告中自动提取漏洞的智能工具
MulitaMiner是一款开源工具,通过LLM驱动的管道将异构安全扫描器生成的PDF报告转换为结构化的漏洞记录,支持多种LLM提供商,在6700个漏洞数据集上实现了96.18%的召回率和91.06%的精确率。
正文
MulitaMiner是一款开源工具,通过LLM驱动的管道将异构安全扫描器生成的PDF报告转换为结构化的漏洞记录,支持多种LLM提供商,在6700个漏洞数据集上实现了96.18%的召回率和91.06%的精确率。
章节 01
MulitaMiner是一款开源工具,通过LLM驱动的管道将异构安全扫描器生成的PDF报告转换为结构化的漏洞记录,支持多种LLM提供商,在6700个漏洞数据集上实现了96.18%的召回率和91.06%的精确率。
章节 02
python main.py --input test/openvas/OpenVAS_JuiceShop.pdf \\n --llm llama3 \\n --scanner openvas \\n --allow-duplicates \\n --output-file openvas_test
\n# 批量实验运行
python tools/run_experiments.py --input-dir test/openvas \\n --llms deepseek \\n --scanners openvas \\n --evaluation-methods bert rouge \\n --runs-per-model 5
\n\n工具还提供了结果汇总功能:\n\nbash
python tools/summarize_vulnerabilities.py --input openvas_test.json
```\n\n## 可扩展性与社区贡献\n\nMulitaMiner的架构设计充分考虑了可扩展性。通过查看项目文档,开发者可以:\n\n- 添加对新安全扫描器的支持\n- 集成新的LLM提供商\n- 自定义输出格式和字段\n- 扩展评估指标\n\n项目采用MIT许可证,允许自由使用、修改和分发,包括商业用途。\n\n## 总结与展望\n\nMulitaMiner代表了安全运营自动化领域的一个重要进展。通过将大语言模型的语义理解能力与传统PDF处理技术相结合,它解决了长期困扰安全团队的报告结构化难题。\n\n该项目的价值不仅在于工具本身,还在于其开放的数据集和严谨的评估方法,为整个安全社区提供了可复现的研究基础。随着大语言模型能力的持续提升和成本的进一步降低,类似MulitaMiner的智能提取工具将在更多领域得到应用。\n\n对于安全团队而言,MulitaMiner可以显著减少手动处理报告的时间成本,使分析师能够将精力集中在更高价值的漏洞评估和修复工作上。对于研究人员,它提供了一个评估LLM在安全领域应用效果的实际案例和数据基础。
章节 03
背景:安全报告处理的痛点\n\n在现代网络安全实践中,安全扫描器如OpenVAS、Tenable WAS等生成的报告通常以PDF格式呈现。这些报告虽然包含了丰富的漏洞信息,但其非结构化的特性给后续的安全分析和资产管理带来了巨大挑战。安全团队往往需要手动从数百页PDF中提取关键信息,这个过程既耗时又容易出错。\n\n传统的方法依赖于正则表达式或简单的文本解析,但不同扫描器生成的报告格式各异,使得通用解决方案难以实现。此外,PDF的复杂排版和视觉布局进一步增加了自动化提取的难度。\n\nMulitaMiner:LLM驱动的漏洞提取方案\n\nMulitaMiner是由AnonShield团队开发的开源工具,专门解决从安全PDF报告中自动提取和结构化漏洞信息的问题。该工具的核心创新在于利用大语言模型的语义理解能力,结合自适应分块和扫描器感知提示技术,将非结构化报告转换为一致、可分析的漏洞记录。\n\n核心架构设计\n\nMulitaMiner的管道设计体现了模块化和可扩展性的理念:\n\n1. PDF解析层:使用pdfplumber库提取PDF文本内容,保留视觉布局信息\n2. 智能分块:根据文档结构和内容语义进行自适应分块,确保上下文完整性\n3. LLM处理层:支持多提供商(OpenAI GPT-4/5、Groq Llama3/4、DeepSeek等)\n4. 结构化输出:将提取的漏洞信息标准化为包含名称、描述、严重程度、CVSS评分、端口、引用等字段的JSON格式\n5. 质量验证:通过BERTScore和ROUGE-L指标评估提取质量\n\n多LLM支持与性能对比\n\nMulitaMiner的一个显著特点是支持多种大语言模型,用户可以根据成本、速度和准确性需求灵活选择:\n\n| 提供商 | 模型 | 特点 |\n|--------|------|------|\n| OpenAI | GPT-4/GPT-5 | 高准确性,成本较高 |\n| Groq | Llama3/Llama4 | 速度快,性价比高 |\n| DeepSeek | deepseek-chat | 成本效益最佳,推荐用于大规模处理 |\n\n根据项目文档中的基准测试,处理单个OpenVAS报告的时间成本差异明显:Llama3约45秒,GPT-4约5分钟,DeepSeek约6分钟。虽然Llama3速度最快,但DeepSeek在成本效益方面表现最优。\n\n数据集与评估结果\n\nMulitaMiner团队提供了一个极具价值的研究贡献:从129份OpenVAS报告中提取的6700个漏洞数据集。这个数据集不仅可作为未来研究的基准,也验证了工具的实际效果。\n\n关键指标\n\n通过与真实记录(基于主机/IP和漏洞名称匹配)的对比评估,MulitaMiner实现了:\n\n- 召回率(Recall):96.18% — 意味着几乎所有真实存在的漏洞都被成功提取\n- 精确率(Precision):91.06% — 表明提取结果中误报率较低\n- F1分数:0.9355 — 综合衡量准确性和完整性的优秀表现\n\n此外,项目还使用BERTScore和ROUGE-L语义相似度指标对3份报告的结构化基线进行了验证,将相似度分数划分为四个等级:高度相似(≥0.7)、中度相似(0.6-0.7)、低相似度(0.4-0.6)和发散(<0.4)。\n\n实际应用场景\n\nMulitaMiner的设计考虑了多种实际使用场景:\n\n1. 安全分析自动化\n安全运营中心(SOC)可以将MulitaMiner集成到工作流中,自动处理扫描器报告,将非结构化数据转换为可查询、可分析的格式,大幅提升漏洞管理效率。\n\n2. 企业系统集成\n工具支持CAIS(Common Attack Pattern Enumeration and Classification)格式输出,便于与企业现有的安全信息和事件管理(SIEM)系统、漏洞管理平台对接。\n\n3. 学术研究\n提供的6700条漏洞数据集为安全领域的机器学习研究提供了宝贵的标注数据,可用于训练更专业的漏洞检测模型或评估其他提取方法。\n\n4. LLM比较研究\n支持多模型对比的特性使研究人员能够系统评估不同大语言模型在安全文本提取任务上的表现,为模型选型提供实证依据。\n\n技术实现细节\n\n依赖要求\n\nMulitaMiner对运行环境的要求相对宽松:\n\n- 操作系统:Windows 10+、Linux(Ubuntu 20.04+)、macOS 10.15+\n- Python版本:3.8+(推荐3.10+)\n- 内存:4GB+(处理大型PDF建议8GB)\n- 磁盘空间:500MB用于依赖 + 输出文件空间\n\n关键依赖库\n\n项目基于成熟的Python生态构建:\n\n- langchain:提供LLM框架抽象\n- pdfplumber:PDF文本提取\n- tiktoken:OpenAI模型的tokenization\n- pandas/openpyxl:数据处理和Excel导出\n- bert-score/rouge-score:评估指标计算\n- rapidfuzz:模糊匹配\n\n安全注意事项\n\n项目文档明确指出了几个安全考虑:\n\n1. API密钥管理:需要在.env文件中配置各LLM提供商的API密钥,且不应将.env文件提交到公共仓库\n2. 数据隐私:PDF处理在本地完成,仅文本块会发送到LLM API进行提取\n3. 网络要求:需要允许出站HTTPS连接到各LLM提供商的API端点\n\n使用示例\n\nMulitaMiner的命令行接口设计简洁直观:\n\n```bash
章节 04
基本提取(使用Groq的Llama3模型) python main.py --input test/openvas/OpenVAS_JuiceShop.pdf \\n --llm llama3 \\n --scanner openvas \\n --allow-duplicates \\n --output-file openvas_test