Files
2026-07-13 11:25:37 +00:00

9.4 KiB
Raw Permalink Blame History

Note

本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。

METATRON

在 LinuxParrot OS)上使用本地 LLM 的 AI 驱动渗透测试助手

🔱 METATRON

AI 驱动的渗透测试助手

Metatron Banner


📌 什么是 Metatron

Metatron 是一款基于 CLI 的 AI 渗透测试助手,完全在本地机器上运行——无需云端、无需 API 密钥、无需订阅。

你提供一个目标 IP 或域名。它会运行真实的侦察工具(nmap、whois、whatweb、curl、dig、nikto),将所有结果馈送给本地运行的 AI 模型,由 AI 分析目标、识别漏洞、建议利用方式并推荐修复方案。所有内容都会保存到 MariaDB 数据库,并保留完整的扫描历史。


功能特性

  • 🤖 本地 AI 分析 — 通过 Ollama 由 metatron-qwen 驱动,100% 离线运行
  • 🔍 自动化侦察 — nmap、whois、whatweb、curl 请求头、dig DNS、nikto
  • 🌐 网络搜索 — DuckDuckGo 搜索 + CVE 查询(无需 API 密钥)
  • 🗄️ MariaDB 后端 — 完整扫描历史,含 5 张关联表
  • ✏️ 编辑 / 删除 — 可直接从 CLI 修改任何已保存的结果
  • 🔁 智能体循环(Agentic Loop — AI 可在分析过程中请求运行更多工具
  • 🚫 无需 API 密钥 — 一切免费且本地运行 -📤 导出报告

Metatron 允许你通过选择「2.view history」→ 选择序号并导出,将扫描结果导出为清晰、可分享的报告格式

📄 PDF — 专业漏洞报告 🌐 HTML — 可在浏览器中查看的报告

🖥️ 截图

Main Menu
主菜单

Scan Running
在目标上运行的侦察工具

AI Analysis
metatron-qwen 分析扫描结果

Results
漏洞已保存至数据库

Export Menu
将扫描结果导出为 PDF 和/或 HTML

---

🧱 技术栈

组件 技术
语言 Python 3
AI 模型 metatron-qwen(微调的 Qwen 3.5
基础模型 huihui_ai/qwen3.5-abliterated:9b
LLM 运行器 Ollama
数据库 MariaDB
操作系统 Parrot OS(基于 Debian
搜索 DuckDuckGo(免费,无需密钥)

⚙️ 安装

1. 克隆仓库

git clone https://github.com/sooryathejas/METATRON.git
cd METATRON

2. 创建并激活虚拟环境

python3 -m venv venv
source venv/bin/activate

3. 安装 Python 依赖

pip install -r requirements.txt

4. 安装系统工具

sudo apt install nmap whois whatweb curl dnsutils nikto

🤖 AI 模型配置

步骤 1 — 安装 Ollama

curl -fsSL https://ollama.com/install.sh | sh

步骤 2 — 下载基础模型

ollama pull huihui_ai/qwen3.5-abliterated:9b

⚠️ 此模型至少需要 8.4 GB 内存。若系统内存不足,请使用 4b 变体:

ollama pull huihui_ai/qwen3.5-abliterated:4b

然后编辑 Modelfile,将 FROM 行改为 4b 模型。

步骤 3 — 构建自定义 metatron-qwen 模型

仓库包含 Modelfile,使用渗透测试专用参数对基础模型进行微调:

ollama create metatron-qwen -f Modelfile

这将创建本地 metatron-qwen 模型,配置为:

  • 16,384 token 上下文窗口
  • Temperature: 0.7
  • Top-k: 10
  • Top-p: 0.9

步骤 4 — 验证模型是否存在

ollama list

你应在列表中看到 metatron-qwen


🗄️ 数据库配置

步骤 1 — 确保 MariaDB 正在运行

sudo systemctl start mariadb
sudo systemctl enable mariadb

步骤 2 — 创建数据库和用户

mysql -u root
CREATE DATABASE metatron;
CREATE USER 'metatron'@'localhost' IDENTIFIED BY '123';
GRANT ALL PRIVILEGES ON metatron.* TO 'metatron'@'localhost';
FLUSH PRIVILEGES;
EXIT;

步骤 3 — 创建表

mysql -u metatron -p123 metatron
CREATE TABLE history (
  sl_no     INT AUTO_INCREMENT PRIMARY KEY,
  target    VARCHAR(255) NOT NULL,
                      scan_date DATETIME NOT NULL,
                      status    VARCHAR(50) DEFAULT 'active'
);

CREATE TABLE vulnerabilities (
  id          INT AUTO_INCREMENT PRIMARY KEY,
  sl_no       INT,
  vuln_name   TEXT,
  severity    VARCHAR(50),
                              port        VARCHAR(20),
                              service     VARCHAR(100),
                              description TEXT,
                              FOREIGN KEY (sl_no) REFERENCES history(sl_no)
);

CREATE TABLE fixes (
  id       INT AUTO_INCREMENT PRIMARY KEY,
  sl_no    INT,
  vuln_id  INT,
  fix_text TEXT,
  source   VARCHAR(50),
                    FOREIGN KEY (sl_no) REFERENCES history(sl_no),
                    FOREIGN KEY (vuln_id) REFERENCES vulnerabilities(id)
);

CREATE TABLE exploits_attempted (
  id           INT AUTO_INCREMENT PRIMARY KEY,
  sl_no        INT,
  exploit_name TEXT,
  tool_used    TEXT,
  payload      LONGTEXT,
  result       TEXT,
  notes        TEXT,
  FOREIGN KEY (sl_no) REFERENCES history(sl_no)
);

CREATE TABLE summary (
  id           INT AUTO_INCREMENT PRIMARY KEY,
  sl_no        INT,
  raw_scan     LONGTEXT,
  ai_analysis  LONGTEXT,
  risk_level   VARCHAR(50),
                      generated_at DATETIME,
                      FOREIGN KEY (sl_no) REFERENCES history(sl_no)
);

🚀 使用方法

运行 Metatron 需要两个终端标签页

终端 1 — 加载 AI 模型

ollama run metatron-qwen

等待直到出现 >>> 提示符。这表示模型已加载到内存并就绪。你可让此终端在后台继续运行。

终端 2 — 启动 Metatron

cd ~/METATRON
source venv/bin/activate
python metatron.py

操作流程

1. 主菜单出现:

  [1]  New Scan
  [2]  View History
  [3]  Exit

2. 选择 [1] New Scan → 输入你的目标:

[?] Enter target IP or domain: 192.168.1.1

or

[?] Enter target IP or domain: example.com

3. 选择要运行的侦察工具:

  [1] nmap
  [2] whois
  [3] whatweb
  [4] curl headers
  [5] dig DNS
  [6] nikto
  [a] Run all (except nikto)
  [n] Run all + nikto (slow)

4. Metatron 运行工具,将结果馈送给 AI,并打印分析结果。

5. 所有内容会自动保存到 MariaDB。

6. 扫描完成后,你可以编辑或删除任何结果。


📁 项目结构

METATRON/
├── metatron.py       ← main CLI entry point
├── db.py             ← MariaDB connection and all CRUD operations
├── tools.py          ← recon tool runners (nmap, whois, etc.)
├── llm.py            ← Ollama interface and AI tool dispatch loop
├── search.py         ← DuckDuckGo web search and CVE lookup
├── Modelfile         ← custom model config for metatron-qwen
├── requirements.txt  ← Python dependencies
├── .gitignore        ← excludes venv, pycache, db files
├── LICENSE           ← MIT License
├── README.md         ← this file
└── screenshots/      ← terminal screenshots for documentation

🗃️ 数据库结构(Database Schema

所有 5 张表均通过 history 表中的 sl_no(会话编号,session number)相互关联:

history              ← one row per scan session (sl_no is the spine)
    │
    ├── vulnerabilities   ← vulns found, linked by sl_no
    │       │
    │       └── fixes     ← fixes per vuln, linked by vuln_id + sl_no
    │
    ├── exploits_attempted ← exploits tried, linked by sl_no
    │
    └── summary           ← full AI analysis dump, linked by sl_no

⚠️ 免责声明

本工具仅用于教育目的及经授权的渗透测试(penetration testing

  • 仅在你拥有所有权,或已获得明确书面许可的系统上使用 Metatron。
  • 未经授权扫描或利用系统属于违法行为
  • 作者不对本工具的任何滥用承担任何责任。

👤 作者

Soorya Thejas


📄 许可证

本项目采用 MIT License 授权 — 详情请参阅 LICENSE 文件。