ローカルLLMを使用したAI搭載ペネトレーションテスト支援ツール(Parrot OS向け)
Metatronは、完全にローカルマシン上で動作するCLIベースのAIペネトレーションテストアシスタントです。クラウドは不要、APIキーもサブスクリプションも不要です。
ターゲットのIPまたはドメインを指定すると、実際の偵察ツール(nmap, whois, whatweb, curl, dig, nikto)を実行し、すべての結果をローカルで動作するAIモデルに送信します。AIはターゲットを分析し、脆弱性を特定し、エクスプロイトを提案し、修正を推奨します。すべてがMariaDBデータベースにフルスキャン履歴として保存されます。
metatron-qwenにより、100%オフラインで動作Metatronでは、'2.履歴表示'→該当するシリアル番号を選択→エクスポートで、スキャン結果をクリーンで共有可能なレポート形式にエクスポートできます。
メインメニュー
ターゲットに対して偵察ツールを実行中
metatron-qwenがスキャン結果を分析中
脆弱性がデータベースに保存されました
スキャン結果をPDFおよびHTMLでエクスポート
git clone https://github.com/sooryathejas/METATRON.git
cd METATRON
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
sudo apt install nmap whois whatweb curl dnsutils nikto
curl -fsSL https://ollama.com/install.sh | sh
ollama pull huihui_ai/qwen3.5-abliterated:9b
⚠️ このモデルには最低8.4GBのRAMが必要です。システムのメモリが不足している場合は、4bバリアントを使用してください:
ollama pull huihui_ai/qwen3.5-abliterated:4bその後、
Modelfileを編集し、FROM行を4bモデルに変更してください。
リポジトリには、ベースモデルをペンテスト固有のパラメータでファインチューニングするModelfileが含まれています:
ollama create metatron-qwen -f Modelfile
これにより、ローカルのmetatron-qwenモデルが以下の設定で作成されます:
ollama list
metatron-qwenがリストに表示されるはずです。
sudo systemctl start mariadb
sudo systemctl enable mariadb
mysql -u root
CREATE DATABASE metatron;
CREATE USER 'metatron'@'localhost' IDENTIFIED BY '123';
GRANT ALL PRIVILEGES ON metatron.* TO 'metatron'@'localhost';
FLUSH PRIVILEGES;
EXIT;
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を実行するには2つのターミナルタブが必要です。
ollama run metatron-qwen
>>>プロンプトが表示されるまで待ちます。これでモデルがメモリにロードされ、準備完了です。このターミナルはバックグラウンドでそのままにしておけます。
cd ~/METATRON
source venv/bin/activate
python metatron.py
1. メインメニューが表示されます:
[1] 新規スキャン
[2] 履歴表示
[3] 終了
2. [1] 新規スキャンを選択 → ターゲットを入力:
[?] ターゲットIPまたはドメインを入力: 192.168.1.1
または
[?] ターゲットIPまたはドメインを入力: example.com
3. 実行する偵察ツールを選択:
[1] nmap
[2] whois
[3] whatweb
[4] curlヘッダー
[5] dig DNS
[6] nikto
[a] すべて実行(niktoを除く)
[n] すべて + niktoを実行(遅い)
4. Metatronがツールを実行し、結果をAIに渡し、分析を表示します。
5. すべてが自動的にMariaDBに保存されます。
6. スキャン後、任意の結果を編集または削除できます。
METATRON/
├── metatron.py ← メインCLIエントリポイント
├── db.py ← MariaDB接続とすべてのCRUD操作
├── tools.py ← 偵察ツールランナー(nmap, whois等)
├── llm.py ← OllamaインターフェースとAIツールディスパッチループ
├── search.py ← DuckDuckGo Web検索とCVE検索
├── Modelfile ← metatron-qwenのカスタムモデル設定
├── requirements.txt ← Python依存関係
├── .gitignore ← venv, pycache, dbファイルを除外
├── LICENSE ← MITライセンス
├── README.md ← このファイル
└── screenshots/ ← ドキュメント用のターミナルスクリーンショット
5つのテーブルはすべてhistoryテーブルのsl_no(セッション番号)でリンクされています:
history ← スキャンセッションごとに1行(sl_noが主軸)
│
├── vulnerabilities ← 見つかった脆弱性、sl_noでリンク
│ │
│ └── fixes ← 脆弱性ごとの修正、vuln_id + sl_noでリンク
│
├── exploits_attempted ← 試行されたエクスプロイト、sl_noでリンク
│
└── summary ← AI分析の完全なダンプ、sl_noでリンク
このツールは、教育目的および許可されたペネトレーションテストのみを対象としています。
Soorya Thejas
このプロジェクトはMITライセンスの下でライセンスされています。詳細についてはLICENSEファイルを参照してください。
| コンポーネント | 技術 |
|---|
| 言語 | Python 3 |
| AIモデル | metatron-qwen (ファインチューニング済みQwen 3.5) |
| ベースモデル | huihui_ai/qwen3.5-abliterated:9b |
| LLMランナー | Ollama |
| データベース | MariaDB |
| OS | Parrot OS (Debianベース) |
| 検索 | DuckDuckGo (無料、キー不要) |