diff --git a/README.md b/README.md index f77d2fa..e5182bc 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,13 @@ + +> [!NOTE] +> 本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。 +> [English](./README.en.md) · [原始项目](https://github.com/sooryathejas/METATRON) · [上游 README](https://github.com/sooryathejas/METATRON/blob/HEAD/README.md) +> 原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。 + # METATRON -AI-powered penetration testing assistant using local LLM on linux (Parrot OS) +在 Linux(Parrot OS)上使用本地 LLM 的 AI 驱动渗透测试助手 # 🔱 METATRON -### AI-Powered Penetration Testing Assistant +### AI 驱动的渗透测试助手

Metatron Banner @@ -17,92 +23,92 @@ AI-powered penetration testing assistant using local LLM on linux (Parrot OS) --- -## 📌 What is Metatron? +## 📌 什么是 Metatron? -**Metatron** is a CLI-based AI penetration testing assistant that runs entirely on your local machine — no cloud, no API keys, no subscriptions. +**Metatron** 是一款基于 CLI 的 AI 渗透测试助手,完全在本地机器上运行——无需云端、无需 API 密钥、无需订阅。 -You give it a target IP or domain. It runs real recon tools (nmap, whois, whatweb, curl, dig, nikto), feeds all results to a locally running AI model, and the AI analyzes the target, identifies vulnerabilities, suggests exploits, and recommends fixes. Everything gets saved to a MariaDB database with full scan history. +你提供一个目标 IP 或域名。它会运行真实的侦察工具(nmap、whois、whatweb、curl、dig、nikto),将所有结果馈送给本地运行的 AI 模型,由 AI 分析目标、识别漏洞、建议利用方式并推荐修复方案。所有内容都会保存到 MariaDB 数据库,并保留完整的扫描历史。 --- -## ✨ Features +## ✨ 功能特性 -- 🤖 **Local AI Analysis** — powered by `metatron-qwen` via Ollama, runs 100% offline -- 🔍 **Automated Recon** — nmap, whois, whatweb, curl headers, dig DNS, nikto -- 🌐 **Web Search** — DuckDuckGo search + CVE lookup (no API key needed) -- 🗄️ **MariaDB Backend** — full scan history with 5 linked tables -- ✏️ **Edit / Delete** — modify any saved result directly from the CLI -- 🔁 **Agentic Loop** — AI can request more tool runs mid-analysis -- 🚫 **No API Keys** — everything is free and local --📤 Export Reports +- 🤖 **本地 AI 分析** — 通过 Ollama 由 `metatron-qwen` 驱动,100% 离线运行 +- 🔍 **自动化侦察** — nmap、whois、whatweb、curl 请求头、dig DNS、nikto +- 🌐 **网络搜索** — DuckDuckGo 搜索 + CVE 查询(无需 API 密钥) +- 🗄️ **MariaDB 后端** — 完整扫描历史,含 5 张关联表 +- ✏️ **编辑 / 删除** — 可直接从 CLI 修改任何已保存的结果 +- 🔁 **智能体循环(Agentic Loop)** — AI 可在分析过程中请求运行更多工具 +- 🚫 **无需 API 密钥** — 一切免费且本地运行 +-📤 导出报告 -Metatron allows you to export scan results into clean, shareable report formats by selecting '2.view history'->select slno and export +Metatron 允许你通过选择「2.view history」→ 选择序号并导出,将扫描结果导出为清晰、可分享的报告格式 -📄 PDF — professional vulnerability reports -🌐 HTML — browser-viewable reports +📄 PDF — 专业漏洞报告 +🌐 HTML — 可在浏览器中查看的报告 --- -## 🖥️ Screenshots +## 🖥️ 截图

Main Menu -
Main Menu +
主菜单

Scan Running -
Recon tools running on target +
在目标上运行的侦察工具

AI Analysis -
metatron-qwen analyzing scan results +
metatron-qwen 分析扫描结果

Results -
Vulnerabilities saved to database +
漏洞已保存至数据库

-

Export Menu
Export scan results as PDF and or HTML

+

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

--- -## 🧱 Tech Stack +## 🧱 技术栈 -| Component | Technology | +| 组件 | 技术 | |------------|-------------------------------------| -| Language | Python 3 | -| AI Model | metatron-qwen (fine-tuned Qwen 3.5) | -| Base Model | huihui_ai/qwen3.5-abliterated:9b | -| LLM Runner | Ollama | -| Database | MariaDB | -| OS | Parrot OS (Debian-based) | -| Search | DuckDuckGo (free, no key) | +| 语言 | Python 3 | +| AI 模型 | metatron-qwen(微调的 Qwen 3.5) | +| 基础模型 | huihui_ai/qwen3.5-abliterated:9b | +| LLM 运行器 | Ollama | +| 数据库 | MariaDB | +| 操作系统 | Parrot OS(基于 Debian) | +| 搜索 | DuckDuckGo(免费,无需密钥) | --- -## ⚙️ Installation +## ⚙️ 安装 -### 1. Clone the repository +### 1. 克隆仓库 ```bash git clone https://github.com/sooryathejas/METATRON.git cd METATRON ``` -### 2. Create and activate virtual environment +### 2. 创建并激活虚拟环境 ```bash python3 -m venv venv source venv/bin/activate ``` -### 3. Install Python dependencies +### 3. 安装 Python 依赖 ```bash pip install -r requirements.txt ``` -### 4. Install system tools +### 4. 安装系统工具 ```bash sudo apt install nmap whois whatweb curl dnsutils nikto @@ -110,60 +116,60 @@ sudo apt install nmap whois whatweb curl dnsutils nikto --- -## 🤖 AI Model Setup +## 🤖 AI 模型配置 -### Step 1 — Install Ollama +### 步骤 1 — 安装 Ollama ```bash curl -fsSL https://ollama.com/install.sh | sh ``` -### Step 2 — Download the base model +### 步骤 2 — 下载基础模型 ```bash ollama pull huihui_ai/qwen3.5-abliterated:9b ``` -> ⚠️ This model requires at least 8.4 GB of RAM. If your system has less, use the 4b variant: +> ⚠️ 此模型至少需要 8.4 GB 内存。若系统内存不足,请使用 4b 变体: > ```bash > ollama pull huihui_ai/qwen3.5-abliterated:4b > ``` -> Then edit `Modelfile` and change the FROM line to the 4b model. +> 然后编辑 `Modelfile`,将 FROM 行改为 4b 模型。 -### Step 3 — Build the custom metatron-qwen model +### 步骤 3 — 构建自定义 metatron-qwen 模型 -The repo includes a `Modelfile` that fine-tunes the base model with pentest-specific parameters: +仓库包含 `Modelfile`,使用渗透测试专用参数对基础模型进行微调: ```bash ollama create metatron-qwen -f Modelfile ``` -This creates your local `metatron-qwen` model with: -- 16,384 token context window +这将创建本地 `metatron-qwen` 模型,配置为: +- 16,384 token 上下文窗口 - Temperature: 0.7 - Top-k: 10 - Top-p: 0.9 -### Step 4 — Verify the model exists +### 步骤 4 — 验证模型是否存在 ```bash ollama list ``` -You should see `metatron-qwen` in the list. +你应在列表中看到 `metatron-qwen`。 --- -## 🗄️ Database Setup +## 🗄️ 数据库配置 -### Step 1 — Make sure MariaDB is running +### 步骤 1 — 确保 MariaDB 正在运行 ```bash sudo systemctl start mariadb sudo systemctl enable mariadb ``` -### Step 2 — Create the database and user +### 步骤 2 — 创建数据库和用户 ```bash mysql -u root @@ -177,7 +183,7 @@ FLUSH PRIVILEGES; EXIT; ``` -### Step 3 — Create the tables +### 步骤 3 — 创建表 ```bash mysql -u metatron -p123 metatron @@ -236,19 +242,19 @@ CREATE TABLE summary ( --- -## 🚀 Usage +## 🚀 使用方法 -Metatron needs **two terminal tabs** to run. +运行 Metatron 需要**两个终端标签页**。 -### Terminal 1 — Load the AI model +### 终端 1 — 加载 AI 模型 ```bash ollama run metatron-qwen ``` -Wait until you see the `>>>` prompt. This means the model is loaded into memory and ready. You can leave this terminal running in the background. +等待直到出现 `>>>` 提示符。这表示模型已加载到内存并就绪。你可让此终端在后台继续运行。 -### Terminal 2 — Launch Metatron +### 终端 2 — 启动 Metatron ```bash cd ~/METATRON @@ -258,16 +264,16 @@ python metatron.py --- -### Walkthrough +### 操作流程 -**1. Main menu appears:** +**1. 主菜单出现:** ``` [1] New Scan [2] View History [3] Exit ``` -**2. Select [1] New Scan → enter your target:** +**2. 选择 [1] New Scan → 输入你的目标:** ``` [?] Enter target IP or domain: 192.168.1.1 ``` @@ -276,7 +282,7 @@ or [?] Enter target IP or domain: example.com ``` -**3. Select recon tools to run:** +**3. 选择要运行的侦察工具:** ``` [1] nmap [2] whois @@ -288,15 +294,15 @@ or [n] Run all + nikto (slow) ``` -**4. Metatron runs the tools, feeds results to the AI, and prints the analysis.** +**4. Metatron 运行工具,将结果馈送给 AI,并打印分析结果。** -**5. Everything is saved to MariaDB automatically.** +**5. 所有内容会自动保存到 MariaDB。** -**6. After the scan you can edit or delete any result.** +**6. 扫描完成后,你可以编辑或删除任何结果。** --- -## 📁 Project Structure +## 📁 项目结构 ``` METATRON/ @@ -315,9 +321,9 @@ METATRON/ --- -## 🗃️ Database Schema +## 🗃️ 数据库结构(Database Schema) -All 5 tables are linked by `sl_no` (session number) from the `history` table: +所有 5 张表均通过 `history` 表中的 `sl_no`(会话编号,session number)相互关联: ``` history ← one row per scan session (sl_no is the spine) @@ -333,23 +339,23 @@ history ← one row per scan session (sl_no is the spine) --- -## ⚠️ Disclaimer +## ⚠️ 免责声明 -This tool is intended for **educational purposes and authorized penetration testing only**. +本工具仅用于**教育目的及经授权的渗透测试(penetration testing)**。 -- Only use Metatron on systems you own or have **explicit written permission** to test. -- Unauthorized scanning or exploitation of systems is **illegal**. -- The author is not responsible for any misuse of this tool. +- 仅在你拥有所有权,或已获得**明确书面许可**的系统上使用 Metatron。 +- 未经授权扫描或利用系统属于**违法行为**。 +- 作者不对本工具的任何滥用承担任何责任。 --- -## 👤 Author +## 👤 作者 **Soorya Thejas** - GitHub: [@sooryathejas](https://github.com/sooryathejas) --- -## 📄 License +## 📄 许可证 -This project is licensed under the MIT License — see the [LICENSE](LICENSE) file for details. +本项目采用 MIT License 授权 — 详情请参阅 [LICENSE](LICENSE) 文件。