
Code de benchmark et résultats interactifs pour la détection autonome d'attaques réseau par des agents LLM utilisant des outils et analysant des PCAP bruts.
Un agent LLM utilisant des outils peut-il enquêter de manière autonome sur une capture réseau brute et identifier une attaque ?
Quelles requêtes d'analyse de paquets choisira-t-il, et peut-il rester efficace lorsque le même trafic est entouré d'une activité de fond bien plus importante ?
Ce projet évalue si un LLM utilisant des outils peut identifier une attaque directement à partir d'une capture de paquets brute et comment son enquête évolue sous un trafic de fond bénin plus dense. Chaque enquête commence par un chemin de PCAP et des descriptions génériques de 11 attaques possibles. Le modèle ne reçoit aucune caractéristique de paquet précalculée ni résumé de trafic.
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"]
| Ressource | Contenu |
|---|---|
| Jeu de données et page d'artefacts Hugging Face | Version canonique avec les 44 PCAP, l'ensemble des 4 752 trajectoires d'investigation, les variantes de prompts, les configurations de modèles, les résultats agrégés, les informations de licence et les métadonnées de citation |
| Portail de résultats interactif | Tableaux de résultats, sept figures d'étude, comparaisons de modèles et tableau de bord complet des sessions |
Ce dépôt contient l'implémentation sous licence MIT et le workflow de reproduction. Le manuscrit associé de Matthieu Aureille et Jan Fesl a été soumis pour évaluation par les pairs ; un lien public sera ajouté dès qu'il sera disponible.
| Condition de trafic | Composition de la capture |
|---|---|
| Faible bruit de fond | Trafic scénarisé et activité normale du banc d'essai au repos, sans trafic de fond généré |
| Bruit de fond élevé généré | Le même type de scénario combiné à un trafic bénin généré automatiquement nettement plus important |
Chaque condition contient 11 captures d'attaque et 11 captures bénignes. Chaque capture possède une sortie attendue fixe.
Le tableau fournit une interprétation destinée au lecteur des étiquettes génériques du benchmark. Les noms d'attaques, noms de scans et noms d'outils sous-jacents n'ont pas été montrés au LLM. Les prompts utilisaient uniquement Attack 1 à Attack 11 et décrivaient
les caractéristiques observables du trafic.
Dans les fichiers de prompts générés, « anonymized attacks » signifie que les noms d'attaques ont été remplacés par des étiquettes génériques ; les données de paquets elles-mêmes n'ont pas été anonymisées.
| Étiquette du benchmark | Classe sous-jacente indicative (non montrée au LLM) |
|---|---|
| Attack 1 | Flood TCP ACK utilisant la fragmentation IP |
| Attack 2 | Usurpation ARP |
| Attack 3 | Flood DNS |
| Attack 4 | Scan FIN |
| Attack 5 | Flood de fragmentation ICMP |
| Attack 6 | Scan NULL |
| Attack 7 | Scan de ports TCP SYN (nmap -sS) |
| Attack 8 | Slowloris |
| Attack 9 | Flood de fragmentation UDP |
| Attack 10 | Scan UDP |
| Attack 11 | Scan Xmas |
| Objectif | Commencer ici |
|---|---|
| Reproduire le benchmark | RUNBOOK.md |
| Comprendre l'implémentation | scripts/README.md |
| Inspecter la configuration du benchmark et les variantes de prompts | config/ et prompts/ |
| Consulter les métadonnées des modèles, logiciels, bancs d'essai et parseurs | reproducibility/ et vllm_parsers/ |
| Explorer les figures et tableaux de bord générés | 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"]
Les utilitaires de chemin partagé, d'espace de travail, OpenCode, de rendu et de résultats se trouvent directement
sous scripts/agentic_pcap/. La carte complète des modules internes est documentée
dans scripts/README.md.
L'implémentation Python n'utilise que la bibliothèque standard. Les investigations en direct
nécessitent également OpenCode, TShark, tcpdump, les outils Unix courants, les espaces de travail
PCAP et un fournisseur de modèle configuré.
[!WARNING] L'agent exécute des commandes shell sans restriction. Ne l'exécutez que dans un conteneur isolé ou une machine virtuelle jetable.
Suivez le guide d'exécution sur machine neuve pour la configuration Debian/Ubuntu,
la configuration vLLM spécifique au matériel, l'exécution, la récupération et la génération
du tableau de bord. Les commandes de lancement historiques documentent l'environnement de l'étude ;
config/benchmark_orchestrator.local.json est le modèle pour une nouvelle machine.
Aucun échantillonnage ni remplacement de graine n'a été appliqué. Les métadonnées d'exécution exactes sont conservées
sous reproducibility/, et des sessions et tableaux de bord préconstruits
sont disponibles dans la version canonique Hugging Face.
Si vous utilisez ce benchmark, veuillez citer le jeu de données Hugging Face et référencer ce dépôt de code GitHub.
Citation suggérée du jeu de données
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}
}
Les métadonnées de citation logicielle lisibles par machine pour ce dépôt sont disponibles
dans CITATION.cff.
Ce projet utilise des licences distinctes pour ses composants logiciels et ses données :