
Codice di benchmark e risultati interattivi per il rilevamento autonomo di attacchi di rete da parte di agenti LLM che utilizzano strumenti per analizzare PCAP grezzi.
Un agente LLM che utilizza strumenti può indagare autonomamente su una cattura di rete grezza e identificare un attacco?
Quali query di analisi dei pacchetti sceglierà, e può rimanere efficace quando lo stesso traffico è circondato da molta più attività di background?
Questo progetto valuta se un LLM che utilizza strumenti può identificare un attacco direttamente da una cattura di pacchetti grezza e come la sua indagine cambia sotto un traffico di background benigno più intenso. Ogni indagine inizia con un percorso PCAP e descrizioni generiche di 11 possibili attacchi. Il modello non riceve alcuna caratteristica precalcolata dei pacchetti né alcun riepilogo del traffico.
flowchart TB
low["Low background<br/>11 attack captures + 11 benign captures"] --> matrix
high["Generated high background<br/>11 attack captures + 11 benign captures"] --> matrix
prompts["6 prompt variants<br/>generic labels and observable descriptions"] --> matrix
configurations["18 model/reasoning configurations"] --> matrix
matrix["44 PCAPs × 6 prompts × 18 configurations<br/>4,752 completed investigations"]
matrix -->|"PCAP path; no precomputed features"| agent["Tool-using OpenCode agent"]
agent -->|"selects a query"| tools["Packet-analysis and shell tools"]
tools -->|"returns observations"| agent
agent --> decision["One capture-level decision"]
agent --> trace["Complete investigation trajectory"]
decision --> results["Scoring and aggregate results"]
trace --> dashboard["Session dashboard"]
| Risorsa | Contenuti |
|---|---|
| Dataset Hugging Face e pagina degli artefatti | Rilascio canonico con i 44 PCAP, tutte le 4.752 traiettorie di indagine, le varianti dei prompt, le configurazioni dei modelli, i risultati aggregati, le informazioni sulla licenza e i metadati di citazione |
| Portale interattivo dei risultati | Tabelle dei risultati, sette figure dello studio, confronti tra modelli e la dashboard completa delle sessioni |
Questo repository contiene l'implementazione con licenza MIT e il flusso di lavoro per la riproduzione. Il manoscritto allegato di Matthieu Aureille e Jan Fesl è stato sottoposto a peer review; un link pubblico sarà aggiunto quando disponibile.
| Condizione di traffico | Composizione della cattura |
|---|---|
| Basso rumore di fondo | Traffico dello scenario e normale attività di inattività del testbed, senza traffico di fondo generato |
| Alto rumore di fondo generato | Lo stesso tipo di scenario combinato con traffico benigno generato automaticamente in misura sostanzialmente maggiore |
Ogni condizione contiene 11 catture di attacco e 11 catture benigne. Ogni cattura ha un unico output atteso fisso.
La tabella fornisce un'interpretazione destinata al lettore delle etichette generiche del benchmark. I nomi effettivi degli attacchi, i nomi delle scansioni e i nomi degli strumenti non sono stati mostrati all'LLM. I prompt utilizzavano solo da Attack 1 a Attack 11 e descrivevano le caratteristiche osservabili del traffico.
Nei file di prompt generati, "attacchi anonimizzati" significa che i nomi degli attacchi sono stati sostituiti da etichette generiche; i dati dei pacchetti stessi non sono stati anonimizzati.
| Etichetta del benchmark | Classe sottostante indicativa (non mostrata all'LLM) |
|---|---|
| Attack 1 | Flood TCP ACK tramite frammentazione IP |
| Attack 2 | ARP spoofing |
| Attack 3 | Flood DNS |
| Attack 4 | Scansione FIN |
| Attack 5 | Flood di frammentazione ICMP |
| Attack 6 | Scansione NULL |
| Attack 7 | Scansione delle porte TCP SYN (nmap -sS) |
| Attack 8 | Slowloris |
| Attack 9 | Flood di frammentazione UDP |
| Attack 10 | Scansione UDP |
| Attack 11 | Scansione Xmas |
| Obiettivo | Inizia da qui |
|---|---|
| Riprodurre il benchmark | RUNBOOK.md |
| Comprendere l'implementazione | scripts/README.md |
| Ispezionare la configurazione del benchmark e le varianti dei prompt | config/ e prompts/ |
| Consultare i metadati di modello, software, testbed e parser | reproducibility/ e vllm_parsers/ |
| Esplorare le figure e le dashboard generate | docs/ |
flowchart LR
entry["scripts/*.py<br/>command-line entry points"] --> benchmark["benchmark/<br/>execute · schedule · resume"]
entry --> reporting["reporting/<br/>score · aggregate · publish"]
entry --> orchestration["orchestration/<br/>optional remote model lifecycle"]
sources["config/ · prompts/ · PCAP workspaces"] --> benchmark
orchestration --> benchmark
benchmark --> artifacts["Retained run artifacts"]
artifacts --> reporting
reporting --> outputs["CSVs · figures · dashboards"]
I percorsi condivisi, i workspace, OpenCode, il rendering e le utilità per i risultati risiedono direttamente
sotto scripts/agentic_pcap/. La mappa completa dei moduli interni è documentata
in scripts/README.md.
L'implementazione Python utilizza solo la libreria standard. Le indagini live
richiedono inoltre OpenCode, TShark, tcpdump, i comuni strumenti Unix, i workspace
PCAP e un provider di modelli configurato.
[!WARNING] L'agente esegue comandi shell senza restrizioni. Eseguilo solo in un container isolato o in una macchina virtuale usa e getta.
Segui la guida all'esecuzione su macchina pulita per la configurazione su Debian/Ubuntu,
la configurazione vLLM specifica per l'hardware, l'esecuzione, il ripristino e la generazione
della dashboard. I comandi di avvio storici documentano l'ambiente dello studio;
config/benchmark_orchestrator.local.json è il modello per una nuova macchina.
Non è stato applicato alcun campionamento né override del seed. I metadati esatti di runtime sono conservati
sotto reproducibility/, e sessioni e
dashboard precompilate sono disponibili dalla release canonica su Hugging Face.
Se utilizzi questo benchmark, cita il dataset Hugging Face e fai riferimento a questo repository di codice GitHub.
Citazione suggerita del dataset
M. Aureille and J. Fesl, “Agentic LLMs for Network Attack Detection,” version 1.0.0, Hugging Face dataset, 2026. [Online]. Available: https://huggingface.co/datasets/maureille/agentic-pcap
BibTeX
@misc{aureille2026agentic,
author = {Matthieu Aureille and Jan Fesl},
title = {Agentic LLMs for Network Attack Detection},
year = {2026},
howpublished = {Hugging Face dataset},
note = {Version 1.0.0},
url = {https://huggingface.co/datasets/maureille/agentic-pcap}
}
I metadati leggibili da macchina per la citazione del software di questo repository sono disponibili
in CITATION.cff.
Questo progetto utilizza licenze separate per i suoi componenti software e dati: