
Código de benchmark y resultados interactivos para la detección autónoma de ataques de red mediante agentes LLM que usan herramientas e investigan PCAPs sin procesar.
¿Puede un agente LLM que utiliza herramientas investigar de forma independiente una captura de red sin procesar e identificar un ataque?
¿Qué consultas de análisis de paquetes elegirá, y puede seguir siendo eficaz cuando el mismo tráfico está rodeado por mucha más actividad de fondo?
Este proyecto evalúa si un LLM que utiliza herramientas puede identificar un ataque directamente a partir de una captura de paquetes sin procesar y cómo cambia su investigación bajo un tráfico de fondo benigno más intenso. Cada investigación comienza con una ruta de PCAP y descripciones genéricas de 11 posibles ataques. El modelo no recibe características de paquetes precalculadas ni un resumen del tráfico.
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"]
| Recurso | Contenido |
|---|---|
| Página del conjunto de datos y artefactos en Hugging Face | Publicación canónica con los 44 PCAP, las 4.752 trayectorias de investigación, las variantes de prompts, las configuraciones de modelos, los resultados agregados, la información de licencia y los metadatos de citación |
| Portal de resultados interactivo | Tablas de resultados, siete figuras del estudio, comparaciones de modelos y el panel de sesiones completo |
Este repositorio contiene la implementación con licencia MIT y el flujo de trabajo de reproducción. El manuscrito adjunto de Matthieu Aureille y Jan Fesl ha sido enviado para revisión por pares; se añadirá un enlace público cuando esté disponible.
| Condición de tráfico | Composición de la captura |
|---|---|
| Fondo bajo | Tráfico del escenario y actividad normal en reposo del banco de pruebas, sin tráfico de fondo generado |
| Fondo alto generado | El mismo tipo de escenario combinado con una cantidad sustancialmente mayor de tráfico benigno generado automáticamente |
Cada condición contiene 11 capturas de ataque y 11 capturas benignas. Cada captura tiene una única salida esperada fija.
La tabla ofrece una interpretación orientada al lector de las etiquetas genéricas del benchmark. Los nombres subyacentes de los ataques, los nombres de los escaneos y los nombres de las herramientas no se mostraron al LLM. Los prompts utilizaron únicamente Attack 1 a Attack 11 y describieron las características observables del tráfico.
En los archivos de prompts generados, «ataques anonimizados» significa que los nombres de los ataques se sustituyeron por etiquetas genéricas; los datos de paquetes en sí no se anonimizaron.
| Etiqueta del benchmark | Clase subyacente indicativa (no mostrada al LLM) |
|---|---|
| Attack 1 | Inundación TCP ACK mediante fragmentación IP |
| Attack 2 | Suplantación ARP |
| Attack 3 | Inundación DNS |
| Attack 4 | Escaneo FIN |
| Attack 5 | Inundación por fragmentación ICMP |
| Attack 6 | Escaneo NULL |
| Attack 7 | Escaneo de puertos TCP SYN (nmap -sS) |
| Attack 8 | Slowloris |
| Attack 9 | Inundación por fragmentación UDP |
| Attack 10 | Escaneo UDP |
| Attack 11 | Escaneo Xmas |
| Objetivo | Empiece aquí |
|---|---|
| Reproducir el benchmark | RUNBOOK.md |
| Comprender la implementación | scripts/README.md |
| Inspeccionar la configuración del benchmark y las variantes de prompts | config/ y prompts/ |
| Revisar los metadatos de modelos, software, banco de pruebas y analizadores | reproducibility/ y vllm_parsers/ |
| Explorar las figuras y los paneles generados | 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"]
Las utilidades compartidas de rutas, espacio de trabajo, OpenCode, renderizado y resultados se encuentran directamente bajo scripts/agentic_pcap/. El mapa completo de módulos internos está documentado en scripts/README.md.
La implementación en Python utiliza únicamente la biblioteca estándar. Las investigaciones en vivo también requieren OpenCode, TShark, tcpdump, herramientas Unix comunes, los espacios de trabajo de PCAP y un proveedor de modelos configurado.
[!WARNING] El agente ejecuta comandos de shell sin restricciones. Ejecútelo únicamente en un contenedor aislado o en una máquina virtual desechable.
Siga la guía de ejecución en máquina limpia para la configuración en Debian/Ubuntu, la configuración de vLLM específica para el hardware, la ejecución, la recuperación y la generación del panel de control. Los comandos de lanzamiento históricos documentan el entorno del estudio; config/benchmark_orchestrator.local.json es la plantilla para una nueva máquina.
No se aplicó ningún muestreo ni anulación de semilla. Los metadatos exactos de ejecución se conservan en reproducibility/, y las sesiones y paneles de control preconstruidos están disponibles en la versión canónica de Hugging Face.
Si utiliza este benchmark, cite el conjunto de datos de Hugging Face y haga referencia a este repositorio de código de GitHub.
Citación sugerida del conjunto de datos
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}
}
Los metadatos de citación de software legibles por máquina para este repositorio están disponibles en CITATION.cff.