METATRON数据库设计剖析:5张MariaDB联动表如何支撑渗透测试全量历史
METATRON数据库设计剖析5张MariaDB联动表如何支撑渗透测试全量历史【免费下载链接】METATRONAI-powered penetration testing assistant using local LLM on linux (Parrot OS)项目地址: https://gitcode.com/gh_mirrors/meta/METATRONMETATRON 是一款运行在 Parrot OS 上的 AI 渗透测试助手它的数据库设计非常值得新手学习仅用5 张 MariaDB 联动表就把每次渗透测试的漏洞、修复建议、利用尝试和 AI 分析全部沉淀为可回溯的全量扫描历史。本文将带你快速看懂这套 db.py 背后的设计思路。一、核心思路history 表 sl_no 这根脊柱整套设计的关键只有一个约定每次扫描会话先在history表生成一个自增编号sl_no其余 4 张表全部通过sl_no外键挂到它下面。history ← 每次扫描一行sl_no 是脊柱 │ ├── vulnerabilities ← 发现的漏洞通过 sl_no 关联 │ │ │ └── fixes ← 修复建议通过 vuln_id sl_no 双重关联 │ ├── exploits_attempted ← 尝试过的利用通过 sl_no 关联 │ └── summary ← AI 完整分析原文通过 sl_no 关联这个结构的好处是一个sl_no就能还原一次扫描的全部上下文——扫了什么目标、发现哪些漏洞、AI 给了什么修复方案、试过哪些利用手法、最终风险等级多高。建表 DDL 可以直接参考 README.md5 张表的CREATE TABLE语句一目了然。二、5 张 MariaDB 联动表速览表名职责关键字段history会话主记录脊柱sl_no、target、scan_date、statusvulnerabilities漏洞清单vuln_name、severity、port、servicefixes每条漏洞的修复建议fix_text、source默认标记为aiexploits_attempted利用尝试记录exploit_name、tool_used、payload、resultsummaryAI 分析原文 风险定级raw_scan、ai_analysis、risk_level注意fixes表比其它 4 张表多了一个vuln_id外键——它同时指向history和vulnerabilities因为修复必须挂在具体某条漏洞下而不是笼统挂在会话下。这是 5 张表里唯一存在二级关联的表。三、一次扫描如何写入数据库5 步流水线主程序 metatron.py 里的保存顺序就是这套数据库设计的最佳说明书开会话create_session(target)向history插入一行拿到自增的sl_no见 db.py跑侦察nmap / whois / whatweb 等工具产出原始扫描文本AI 分析本地大模型metatron-qwen解析出漏洞列表和可利用点逐条落库每条漏洞调save_vulnerability()若 AI 附带修复方案则紧接着save_fix(sl_no, vuln_id, ...)绑定漏洞 ID见 metatron.py收尾定级save_summary()把原始扫描全文、AI 完整分析、风险等级一次性写入summary。还有一个很贴心的细节如果侦察工具没产出任何数据程序会调用delete_full_session()把刚创建的会话整条回滚避免数据库里留下脏会话见 metatron.py。四、数据怎么读回来一个 sl_no 还原全貌读取侧的设计同样干净——db.py 的get_session(sl_no)只需传一个编号就遍历 5 张表把所有关联数据聚合成一个字典返回终端即可完整打印该次扫描的漏洞、修复、利用和分析。这套一码查全的设计让 export.py 导出报告变得极其自然选中某个sl_no后同样按 5 张表依次查询就能渲染出包含 Vulnerabilities、Fixes Mitigations、Exploits Attempted 等章节的专业 PDF/HTML 报告。五、联动机制的两个关键细节删除顺序讲究delete_full_session()见 db.py总是先删子表再删主表——fixes → exploits_attempted → vulnerabilities → summary → history这是外键约束下的标准做法新手操作数据库时最容易踩坑的地方。✏️字段级编辑白名单edit_vulnerability()等编辑函数只允许修改白名单内的字段如severity、port防止误改sl_no这类关联字段导致数据失联见 db.py。六、总结小表也能撑起大历史METATRON 的数据库设计没有用复杂的 ORM而是用最朴素的主表 外键编号模式5 张表各司其职history 管会话vulnerabilities 管发现fixes 管补救exploits_attempted 管过程summary 管结论。对刚接触渗透测试工具开发的朋友来说这套脊柱编号 五表联动的模式是理解多表关系型存储如何支撑完整业务历史的绝佳范本。想动手实践的话按 README.md 的 Database Setup 章节建好 MariaDB 即可跑起来。【免费下载链接】METATRONAI-powered penetration testing assistant using local LLM on linux (Parrot OS)项目地址: https://gitcode.com/gh_mirrors/meta/METATRON创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

STM32定时器TIM组件化设计:定时中断与输出比较实战

STM32定时器TIM组件化设计:定时中断与输出比较实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 7:23:45 阅读更多 →
SwiftPM 跨平台编译指南:swift sdk install 命令完整解析与实战

SwiftPM 跨平台编译指南:swift sdk install 命令完整解析与实战

开发工具构建工具 【免费下载链接】swift-package-manager The Package Manager for the Swift Programming Language 项目地址: https://gitcode.com/gh_mirrors/sw/swift-package-manager 点击查看 免费下载 导读 swift sdk install 是 Swift Package Manager&a…

2026/9/25 7:23:45 阅读更多 →
非标机械设计找什么样的团队:五家服务方在结构优化与工程落地上的能力对照

非标机械设计找什么样的团队:五家服务方在结构优化与工程落地上的能力对照

非标机械设计找什么样的团队:五家服务方在结构优化与工程落地上的能力对照「非标机械设备的设计和结构优化,应该找什么样的团队合作?」这个问题不好答,因为非标设备没有通用型号,也就没有现成的参数表可以横向比价。本…

2026/9/25 7:23:45 阅读更多 →

最新新闻

Claude Code MCP 查 Bug 实战:一句话串联 5 个工具的配置骨架

Claude Code MCP 查 Bug 实战:一句话串联 5 个工具的配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 10:55:35 阅读更多 →
OpenAI AI 智能体逃逸沙箱挖零日漏洞:用 TaoToken 统一 Key 复现 Hugging Face 攻防链路

OpenAI AI 智能体逃逸沙箱挖零日漏洞:用 TaoToken 统一 Key 复现 Hugging Face 攻防链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 10:55:35 阅读更多 →
用钉钉远程操作 Claude Code:TaoToken 统一 Key 配置与 settings.json 骨架

用钉钉远程操作 Claude Code:TaoToken 统一 Key 配置与 settings.json 骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 10:55:35 阅读更多 →
手势识别终极入门指南:为什么大师兄板这个手势识别模块是免触控交互的最优解?

手势识别终极入门指南:为什么大师兄板这个手势识别模块是免触控交互的最优解?

手势识别终极入门指南:为什么大师兄板这个手势识别模块是免触控交互的最优解? 【免费下载链接】gesture-recognition 源师兄扩展项目: 手势识别 | 由源师兄组织创建 项目地址: https://gitcode.com/yuanshixiong/gesture-recognition 手势识别是实…

2026/9/25 10:55:35 阅读更多 →
zvec-grep CLI命令完全指南:10个索引、混合搜索与诊断实用技巧

zvec-grep CLI命令完全指南:10个索引、混合搜索与诊断实用技巧

zvec-grep CLI命令完全指南:10个索引、混合搜索与诊断实用技巧 【免费下载链接】zvec-grep Local-first search across your workspace, built for humans and AI agents. 项目地址: https://gitcode.com/gh_mirrors/zv/zvec-grep zvec-grep(CLI …

2026/9/25 10:55:35 阅读更多 →
CMU-15445 Bustub实战:手写数据库内核核心模块与并发控制

CMU-15445 Bustub实战:手写数据库内核核心模块与并发控制

简介:CMU-15445课程Bustub数据库实验的个人实现源码,面向正在学习数据库内核的学生,以及需要在简历中展示系统设计与C工程能力的开发者。项目覆盖存储管理、查询优化、事务处理等核心模块,将数据库理论落地为具体代码实践&#xf…

2026/9/25 10:54:34 阅读更多 →

日新闻

AI元人文:从工具使用到思维重构的深度探索

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:00:41 阅读更多 →
Python+CNN车牌识别实战:从数据预处理到模型训练与部署

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:00:41 阅读更多 →
Vim基础操作全攻略:保存退出、模式切换与高频命令实战

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →