sooryathejas/METATRON

GitHub: sooryathejas/METATRON

基于本地大模型和 Ollama 的渗透测试助手,整合多款侦察工具自动扫描目标并由 AI 分析漏洞,完全离线运行。

Stars: 19 | Forks: 4

# METATRON AI 驱动的渗透测试助手,在 Linux (Parrot OS) 上使用本地 LLM # 🔱 METATRON ### AI 驱动的渗透测试助手

Metatron Banner

## 📌 什么是 Metatron? **Metatron** 是一个基于 CLI 的 AI 渗透测试助手,完全在您的本地机器上运行 —— 无需云端、无需 API keys、无需订阅。 您只需提供一个目标 IP 或域名。它会运行真实的侦察工具(nmap、whois、whatweb、curl、dig、nikto),将所有结果反馈给本地运行的 AI 模型,然后 AI 会分析目标、识别漏洞、建议利用方式并推荐修复方案。所有内容都会保存到 MariaDB 数据库中,并保留完整的扫描历史。 ## ✨ 功能特性 - 🤖 **本地 AI 分析** — 由通过 Ollama 运行的 `metatron-qwen` 提供支持,100% 离线运行 - 🔍 **自动化侦察** — nmap, whois, whatweb, curl headers, dig DNS, nikto - 🌐 **网络搜索** — DuckDuckGo 搜索 + CVE 查找(无需 API key) - 🗄️ **MariaDB 后端** — 包含 5 个关联表的完整扫描历史 - ✏️ **编辑 / 删除** — 直接从 CLI 修改任何已保存的结果 - 🔁 **代理循环 (Agentic Loop)** — AI 可以在分析过程中请求运行更多工具 - 🚫 **无需 API Keys** — 一切都是免费且本地的 ## 🖥️ 截图

Main Menu
Main Menu

Scan Running
Recon tools running on target

AI Analysis
metatron-qwen analyzing scan results

Results
Vulnerabilities saved to database

## 🧱 技术栈 | 组件 | 技术 | |----------|-------------------------------------| | 语言 | Python 3 | | AI 模型 | metatron-qwen (微调版 Qwen 3.5) | | 基础模型 | huihui_ai/qwen3.5-abliterated:9b | | LLM 运行器 | Ollama | | 数据库 | MariaDB | | 操作系统 | Parrot OS (基于 Debian) | | 搜索 | DuckDuckGo (免费,无需 key) | ## ⚙️ 安装说明 ### 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 ``` ### 步骤 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 VARCHAR(255), 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 VARCHAR(255), tool_used VARCHAR(100), payload TEXT, result VARCHAR(100), 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 ``` 或者 ``` [?] 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 ``` ## 🗃️ 数据库架构 所有 5 个表通过 `history` 表中的 `sl_no`(会话编号)进行关联: ``` 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 ``` ## ⚠️ 免责声明 本工具仅供**教育目的和经授权的渗透测试使用**。 - 仅在您拥有或**获得明确书面许可**的系统上使用 Metatron。 - 未经授权扫描或利用系统是**违法的**。 - 作者不对本工具的任何滥用行为负责。 ## 👤 作者 **Soorya Thejas** - GitHub: [@sooryathejas](https://github.com/sooryathejas) ## 📄 许可证 本项目基于 MIT 许可证授权 —— 详见 [LICENSE](LICENSE) 文件。
标签:AI安全, AI风险缓解, Chat Copilot, CISA项目, CVE检索, DLL 劫持, LLM评估, MariaDB, Nikto, Nmap, Ollama, Parrot OS, Python, 代理循环, 大语言模型, 实时处理, 密码管理, 对称加密, 插件系统, 无后门, 本地LLM, 离线运行, 网络安全助手, 自动化审计, 虚拟驱动器, 逆向工具