- 项目定位
- 核心能力
- 系统架构
- 知识层模型
- 快速开始
- 运行方式
- RAGFlow 路由说明(重点)
- 数据采集与补全
- Dashboard 概览
- 项目结构
- 文档索引
- 常见问题
- 开发与测试
- 安全与合规声明
- 许可证
LORE(Reflective Penetration Testing)是一个面向渗透测试场景的多层知识蒸馏系统。 它将原始攻防日志转化为五类结构化经验,并通过跨会话融合与缺口感知机制,让知识库持续迭代。
一句话概括:
- 输入:真实渗透会话日志与多源安全语料
- 处理:Layer 0~4 流水线蒸馏 + XPEC 融合 + 缺口定向爬取
- 输出:可检索、可解释、可回流 RAGFlow 的安全经验知识库
| 能力 | 说明 | 价值 |
|---|---|---|
| 五层蒸馏流水线 | Layer 0~4 分层处理日志、经验、融合、缺口 | 全链路自动化 |
| 五类知识产物 | FACTUAL / PROCEDURAL_POS / PROCEDURAL_NEG / METACOGNITIVE / CONCEPTUAL | 结构化沉淀 |
| XPEC 跨会话融合 | SEC/EWC/RME/BCC/KLM 多阶段融合注册 | 降噪、去重、提纯 |
| 缺口感知补全 | 从失败根因反推知识盲区并触发爬取 | 闭环成长 |
| RAGFlow 回流 | 融合后的高价值经验自动上传向量库 | 直接服务检索 |
| Dashboard 可视化 | 经验浏览、会话分析、任务管理、缺口补全 | 运维与运营一体化 |
graph TD
A[原始日志 logs/*.jsonl] --> B[Layer 0 日志标准化]
B --> C[Layer 1 LLM 会话标注]
C --> D[Layer 2 经验蒸馏]
D --> E[Layer 3 XPEC 跨会话融合]
C --> F[Layer 4 缺口感知]
E --> G[RAGFlow 经验回流]
F --> H[定向爬虫补全]
H --> B
G --> I[Agent 检索增强]
流水线入口:
- 主流程:run/run_full_pipeline.py
- 交互式入口:lore.py
- Dashboard:dashboard/app.py
| 层级 | 枚举值 | 内容举例 |
|---|---|---|
| 事实层 | FACTUAL | CVE、受影响版本、利用前置条件 |
| 正向步骤层 | PROCEDURAL_POS | 成功命令序列、验证信号、适用约束 |
| 负向步骤层 | PROCEDURAL_NEG | 失败命令、报错、根因、避坑策略 |
| 元认知层 | METACOGNITIVE | 决策规则、策略迁移、经验法则 |
| 概念层 | CONCEPTUAL | 攻击原理、工具机制、抽象模式 |
git clone <your-repo-url>
cd Evo-PentestRAG-main
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt- 用户必填配置:configs/config.yaml
- LLM API:llm 节
- RAGFlow API 与知识库 ID:ragflow 节
- 设计配置(维护者管理):configs/design.yaml
- tool_categories / parser / layer4 调度等设计级参数
cd dashboard
python app.pycd ..
python run/run_full_pipeline.pypython lore.py支持:
- 全量流水线运行
- 自选阶段运行
- 状态查看
- 手动上传
python run/run_layer0.py --log-dir logs --output-dir data/layer0_output
python run/run_layer1_llm_batch.py
python run/run_layer2_analysis.py --no-ragflow
python run/run_layer3_phase12.py
python run/run_layer3_phase34.py
python run/run_layer3_phase5.py
python run/run_layer4_gap_dispatch.py --no-crawl
python -m src.ragflow.uploader --source fusedpython run/run_full_pipeline.py --status为避免看不到 CONCEPTUAL 上传的混淆,当前路由约定如下。
| 知识层 | 路由键 | 默认用途 |
|---|---|---|
| FACTUAL | dataset_factual | 事实知识检索库 |
| PROCEDURAL_POS | dataset_procedural_pos | 成功步骤检索库 |
| PROCEDURAL_NEG | dataset_procedural_neg | 失败经验/避坑库 |
| METACOGNITIVE | dataset_metacognitive | meta_conceptual 组合库 |
| CONCEPTUAL | dataset_metacognitive | meta_conceptual 组合库 |
| 预留全量库 | full_dataset | 仅用于全量归档预留,默认路由不启用 |
说明:
- METACOGNITIVE 与 CONCEPTUAL 统一进入 dataset_metacognitive(即 meta_conceptual)。
- full_dataset 仅保留为未来全量归档或离线实验用途,不参与默认分层上传。
python -m src.ragflow.uploader --source fused --exp-ids exp_consolidated_xxx,exp_consolidated_yyy,exp_consolidated_zzz --retry-502-max 8 --retry-base-sec 2.0python crawlers/main_crawler.py --all -q "CVE-2024-xxxx" --yes
python crawlers/main_crawler.py --sources csdn,github -q "WebLogic 反序列化" --max-pages 8python crawlers/sync_data_light.py
python crawlers/sync_data_light.py --repos cisa-kev,cwe,nvdpython run/run_layer4_gap_dispatch.pyDashboard 提供以下核心页面:
- 总览看板:经验体量、层级分布、会话质量
- 五类经验页:FACTUAL / POS / NEG / META / CONCEPTUAL
- 会话浏览:逐轮事件与根因复盘
- 融合经验库:冲突、成熟度、知识健康状态
- 经验缺口分析:Gap Score + 一键定向爬取
- 爬虫管理:多源抓取与同步任务
启动命令:
cd dashboard
python app.py.
configs/
crawlers/
dashboard/
data/
layer0_output/
layer1_output/
layer2_output/
layer3_output/
layer4_output/
docs/
raw_data/
run/
run_full_pipeline.py
run_layer0.py
run_layer1_llm_batch.py
run_layer2_analysis.py
run_layer3_phase12.py
run_layer3_phase34.py
run_layer3_phase5.py
run_layer4_gap_dispatch.py
src/
layer0/
layer1/
layer2/
layer3/
layer4/
ragflow/
uploader.py
ragflow_uploader.py
lore.py
- docs/01_OVERVIEW.md:项目概览
- docs/02_ARCHITECTURE.md:详细架构与模块说明
- docs/03_USAGE_GUIDE.md:部署、运行、排错指南
- docs/04_Log Adapter 多框架日志接入指南.md:多框架日志适配
- CHANGELOG.md:版本变更记录
- CONTRIBUTING.md:贡献指南
请检查路由映射是否为:CONCEPTUAL -> dataset_metacognitive。 当前默认即此配置,full_dataset 不参与默认上传。
使用重试参数:
python -m src.ragflow.uploader --source fused --retry-502-max 8 --retry-base-sec 2.0python -m src.ragflow.uploader --source fused --exp-ids exp_a,exp_b,exp_cpytest -q建议流程:
- 先跑单阶段脚本验证数据输出
- 再跑 run/run_full_pipeline.py 串联验证
- 最后执行上传与 Dashboard 联调
本项目用于合法授权范围内的安全研究、攻防演练与教学。 请勿将其用于未授权系统的攻击行为。
本项目采用 MIT License,详见 LICENSE。
如果这个项目对你有帮助,欢迎点亮 Star,并在 Issue 中反馈你的场景与需求。