
Artefactos de investigación para un agente LLM basado en MCP que resuelve retos CTF de forma autónoma, incluidos datos de ablación, scripts de análisis y una pila MCP de seis servidores.
Artefactos para "STRIATUM-CTF: A Protocol-Driven Agentic Framework for Autonomous CTF Solving" (IEEE CARS 2026), Hugglestone, Chacko, Stoller, Schmidt y Liu, Florida State University.
Premio al Mejor Artículo (1.er Lugar), IEEE CARS 2026. Preprint: arXiv:2603.22577.
Este repositorio permite la replicación del protocolo y del análisis. No es un kit de exploits listo para usar: según la declaración ética del artículo, no se publican payloads de exploits ni corpus de plantillas de ataque. Lo que esto significa en concreto se detalla en Alcance y exclusiones más abajo.
| Directorio | Contenido |
|---|---|
data/ | La tabla de resultados de 180 ejecuciones (ablation_results.csv + .xlsx de origen), la matriz por reto (Tabla III), la progresión de resolución del CTF en vivo (Fig. 2), las figuras renderizadas y un codebook.md. |
analysis/ | Scripts que reproducen cada estadística del artículo a partir de data/. |
code/ | La pila MCP de seis servidores: dos servidores propios, un instalador que fija los tres servidores de terceros a sus commits del estudio, y la configuración del host. |
challenges/ | Manifiesto de procedencia con hashes de verificación, un script de descarga para los retos redistribuibles, fichas de especificación por reto, y las dos fuentes de retos que podemos redistribuir. |
documentation_conditions/ | Las cuatro condiciones de ablación: el corpus Mínimo completo, manifiestos por condición de archivos/líneas/tokens (que reproducen la Tabla II), y un índice de plantillas solo con encabezados. |
cd analysis
pip install -r requirements.txt
python3 day1_analysis.py # Tables II & III, Wilson CIs, chi-square, subset analysis, durations
python3 day1_drill.py # provenance drill-down (public vs non-public)
python3 duration_and_gee.py # Kruskal-Wallis (p=0.77) and the GEE model (Wald chi2(3)=3.77, p=0.29)
python3 count_tokens.py # Table II line counts (exact) and token counts
Todas las Tablas II y III, los intervalos de Wilson del 95%, las pruebas ómnibus, el análisis del subconjunto no saturado, el modelo GEE y las cifras de duración se reproducen exactamente a partir de data/. Los recuentos de líneas de la Tabla II se reproducen exactamente; los recuentos de tokens dependen del tokenizador y el tokenizador exacto del artículo no se registró (véanse analysis/count_tokens.py y los manifiestos por condición).
Dos razones independientes limitan lo que se publica. Ninguna es un descuido.
Ética (artículo §"Consideraciones éticas"): sin payloads de explotación ni corpus de plantillas de ataque. Por lo tanto, se retienen:
workspaces/ (exploits funcionales, scripts de resolución y write-ups de soluciones) — los resultados por ejecución se publican en su lugar como data/ablation_results.csv;AUTONOMOUS_SOLVER_README.md, TEMPLATE_COVERAGE.md), que son las plantillas de ataque que menciona la declaración de ética. Estos se caracterizan — listas de archivos, recuentos de líneas y tokens, y un índice solo de encabezados en documentation_conditions/ — de modo que la variable independiente de la ablación queda documentada, pero los payloads no se publican;challenges/manifest.csv).Consecuencia, dicho claramente: dado que los corpus de Templates/Baseline constituyen la manipulación en el estudio de 180 ejecuciones, esa ablación no es totalmente reproducible a partir de este repositorio — solo lo es el protocolo. El protocolo completo del solver está disponible para investigadores con fines defensivos previa solicitud al autor de correspondencia.
Licencias: los binarios de los retos no se replican cuando carecemos del derecho a redistribuirlos — los retos de picoCTF (CMU, todos los derechos reservados) y los tutoriales de angr_ctf (GPL-3.0) se descargan desde el origen mediante challenges/fetch_challenges.sh; las bibliotecas del sistema (libc, ld-linux) nunca se distribuyen. Véase THIRD_PARTY_LICENSES.md.
Véase CITATION.cff. Artículo: IEEE Cyber Awareness and Research Symposium (CARS) 2026.
Código y documentación propios de los autores: MIT (LICENSE). Los componentes de terceros conservan sus propias licencias; véanse NOTICE y THIRD_PARTY_LICENSES.md.