AutoPentester: un framework basato su agenti LLM per il pentesting automatizzato

Nota:
- Se utilizzi questo lavoro per scopi accademici, cita il nostro paper.
- Se trovi contenuti errati / inappropriati / obsoleti, ti preghiamo di aprire una issue o una PR.
Aggiornamenti
- AutoPentester ora supporta claude.
- Questo lavoro è stato accettato per IEEE TrustCom 2025.
Installazione
- Crea un ambiente virtuale. (
python3 -m venv myenv, source myenv/bin/activate)
- Clona il progetto e installa i requisiti.
git clone <repo_url>
cd AutoPentester
- Crea un ambiente virtuale con Python pip3 3.12.3. Poi installa il file requirements.txt al suo interno.
pip3 install -r requirements.txt
pip3 install -e .
- Per utilizzare l'API di OpenAI
- Assicurati di aver collegato un metodo di pagamento al tuo account OpenAI.
- esporta la tua chiave API con
export OPENAI_API_KEY="<your key here>"
- opzionale: sovrascrivi l'endpoint API con
export OPENAI_BASE_URL="https://your-host/v1"
- Per utilizzare i modelli Anthropic Claude
- esporta la tua chiave API con
export ANTHROPIC_API_KEY="<your key here>"
- Per utilizzare i modelli Google Gemini
- esporta la tua chiave API con
export GEMINI_API_KEY="<your key here>" oppure export GOOGLE_API_KEY="<your key here>"
- Gemini viene selezionato per agente in
pentestgpt/config/agent_config.py
- Configura i modelli degli agenti in
pentestgpt/config/agent_config.py
- Ogni nome di agente è associato a un provider e a un modello.
- I provider supportati sono
openai, anthropic, gemini, azure, gpt4all, titan e rag.
- Aggiorna il file per combinare OpenAI e Claude per agente in base alle tue preferenze.
- Per eseguire il framework, digita
autopentester --loggin
- Ti verrà chiesta la chiave per il provider configurato, e poi l'indirizzo IP.
- Vuoi continuare dalla sessione precedente? (y/n) -> Premi n
- Fornisci un'attività di pentesting. Puoi usare un prompt come "I want to test the machine with the IP (targe_IP)"
- Solo alla prima esecuzione, all'inizio saranno necessari 10 minuti per costruire la vectorbase del modulo RAG. Attendi finché non avvia il suo processo.
Demo
Trovi il video dimostrativo al seguente link.
File di log
I file di log elaborati si trovano nella directory processed_log_files.
I risultati quantitativi sono stati calcolati sulla base di questi file di log.
Analisi del sondaggio
L'analisi del sondaggio si trova nella directory Survey_analysis.
Esegui analysis.py per generare i grafici.
Citazioni
Se utilizzi questo lavoro per scopi accademici, cita il nostro paper.
@inproceedings{ginige2025autopentester,
title={Autopentester: An llm agent-based framework for automated pentesting},
author={Ginige, Yasod and Niroshan, Akila and Jain, Sajal and Seneviratne, Suranga},
booktitle={2025 IEEE 24th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom)},
pages={163--174},
year={2025},
organization={IEEE}
}