
Assistente di penetration testing basato su IA che utilizza un LLM locale su Linux (Parrot OS)
Assistente di penetration testing basato su IA che utilizza LLM locale su Linux (Parrot OS)
Metatron è un assistente di penetration testing basato su IA, eseguibile da CLI, che gira interamente sulla tua macchina locale — niente cloud, niente chiavi API, niente abbonamenti.
Gli fornisci un IP o un dominio target. Esegue strumenti di ricognizione reali (nmap, whois, whatweb, curl, dig, nikto), invia tutti i risultati a un modello IA in esecuzione locale, e l'IA analizza il target, identifica le vulnerabilità, suggerisce exploit e raccomanda le correzioni. Tutto viene salvato in un database MariaDB con la cronologia completa delle scansioni.
metatron-qwen tramite Ollama, funziona 100% offlineMetatron consente di esportare i risultati delle scansioni in formati di report puliti e condivisibili selezionando '2.view history'->seleziona slno ed esporta
📄 PDF — report professionali delle vulnerabilità 🌐 HTML — report visualizzabili nel browser
Menu principale
Strumenti di ricognizione in esecuzione sul target
metatron-qwen analizza i risultati della scansione
Vulnerabilità salvate nel database
Esporta i risultati della scansione in PDF e/o 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
⚠️ Questo modello richiede almeno 8,4 GB di RAM. Se il tuo sistema ne dispone di meno, usa la variante 4b:
ollama pull huihui_ai/qwen3.5-abliterated:4bQuindi modifica
Modelfilee cambia la riga FROM con il modello 4b.
Il repository include un Modelfile che esegue il fine-tuning del modello base con parametri specifici per il pentest:
ollama create metatron-qwen -f Modelfile
Questo crea il tuo modello locale metatron-qwen con:
ollama list
Dovresti vedere metatron-qwen nell'elenco.
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 richiede due schede del terminale per funzionare.
ollama run metatron-qwen
Attendi di vedere il prompt >>>. Questo significa che il modello è caricato in memoria e pronto. Puoi lasciare questo terminale in esecuzione in background.
cd ~/METATRON
source venv/bin/activate
python metatron.py
1. Compare il menu principale:
[1] New Scan
[2] View History
[3] Exit
2. Seleziona [1] New Scan → inserisci il tuo target:
[?] Enter target IP or domain: 192.168.1.1
oppure
[?] Enter target IP or domain: example.com
3. Seleziona gli strumenti di ricognizione da eseguire:
[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 esegue gli strumenti, invia i risultati all'IA e stampa l'analisi.
5. Tutto viene salvato automaticamente in MariaDB.
6. Dopo la scansione puoi modificare o eliminare qualsiasi risultato.
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
Tutte e 5 le tabelle sono collegate tramite sl_no (numero di sessione) della tabella history:
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
Questo strumento è destinato esclusivamente a fini educativi e a penetration testing autorizzati.
Soorya Thejas
Questo progetto è concesso in licenza secondo i termini della MIT License — consulta il file LICENSE per i dettagli.
| Componente | Tecnologia |
|---|
| Linguaggio | Python 3 |
| Modello IA | metatron-qwen (Qwen 3.5 con fine-tuning) |
| Modello base | huihui_ai/qwen3.5-abliterated:9b |
| Esecutore LLM | Ollama |
| Database | MariaDB |
| OS | Parrot OS (basato su Debian) |
| Ricerca | DuckDuckGo (gratuito, senza chiave) |