
Artefacts de recherche pour un agent LLM basé sur MCP qui résout autonomement des challenges CTF, incluant des données d'ablation, des scripts d'analyse et une pile MCP à six serveurs.
Artefacts pour « STRIATUM-CTF : A Protocol-Driven Agentic Framework for Autonomous CTF Solving » (IEEE CARS 2026), Hugglestone, Chacko, Stoller, Schmidt et Liu, Florida State University.
Best Paper Award (1st Place), IEEE CARS 2026. Prépublication : arXiv:2603.22577.
Ce dépôt permet la réplication du protocole et de l'analyse. Il ne s'agit pas d'une boîte à outils d'exploitation clé en main : conformément à la déclaration d'éthique de l'article, aucune charge utile d'exploitation ni corpus de modèles d'attaque n'est publié. Ce que cela signifie concrètement est précisé dans la section Périmètre et exclusions ci-dessous.
| Répertoire | Contenu |
|---|---|
data/ | Le tableau des résultats des 180 exécutions (ablation_results.csv + source .xlsx), la matrice par défi (Tableau III), la progression de résolution en CTF live (Fig. 2), les figures rendues et un codebook.md. |
analysis/ | Scripts qui reproduisent chaque statistique de l'article à partir de data/. |
code/ | La pile MCP à six serveurs : deux serveurs internes, un installateur qui épingle les trois serveurs tiers à leurs commits d'étude, et la configuration de l'hôte. |
challenges/ | Manifeste de provenance avec hachages de vérification, un script de récupération pour les défis redistribuables, des fiches de spécification par défi, et les deux sources de défis que nous pouvons redistribuer. |
documentation_conditions/ | Les quatre conditions d'ablation : le corpus Minimal dans son intégralité, les manifestes de fichiers/lignes/tokens par condition (qui reproduisent le Tableau II), et un index de modèles limité aux titres. |
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
L'intégralité des tableaux II et III, les intervalles de Wilson à 95 %, les tests omnibus, l'analyse du sous-ensemble non saturé, le modèle GEE et les chiffres de durée se reproduisent exactement à partir de data/. Les décomptes de lignes du tableau II se reproduisent exactement ; les décomptes de tokens dépendent du tokenizer et le tokenizer exact utilisé dans l'article n'a pas été consigné (voir analysis/count_tokens.py et les manifestes par condition).
Deux raisons indépendantes limitent ce qui est publié. Aucune des deux n'est un oubli.
Éthique (article §« Ethical Considerations ») : aucun payload d'exploit ni corpus de modèles d'attaque. Sont donc retenus :
workspaces/ (exploits fonctionnels, scripts de résolution et comptes rendus de solutions) — les résultats par exécution sont publiés à la place sous la forme de data/ablation_results.csv ;AUTONOMOUS_SOLVER_README.md, TEMPLATE_COVERAGE.md), qui constituent les modèles d'attaque désignés par la déclaration d'éthique. Ceux-ci sont caractérisés — listes de fichiers, décomptes de lignes et de tokens, et un index limité aux titres dans documentation_conditions/ — afin que la variable indépendante de l'ablation soit documentée, mais les payloads ne sont pas publiés ;challenges/manifest.csv).Conséquence, dite clairement : comme les corpus Templates/Baseline constituent la manipulation dans l'étude à 180 exécutions, cette ablation n'est pas entièrement reproductible à partir de ce dépôt — seul le protocole l'est. Le protocole complet du solver est disponible pour les chercheurs à des fins défensives, sur demande à l'auteur correspondant.
Licences : les binaires des challenges ne sont pas mis en miroir lorsque nous n'avons pas le droit de les redistribuer — les challenges picoCTF (CMU, tous droits réservés) et les tutoriels angr_ctf (GPL-3.0) sont récupérés en amont par challenges/fetch_challenges.sh ; les bibliothèques système (libc, ld-linux) ne sont jamais fournies. Voir THIRD_PARTY_LICENSES.md.
Voir CITATION.cff. Article : IEEE Cyber Awareness and Research Symposium (CARS) 2026.
Code et documentation des auteurs : MIT (LICENSE). Les composants tiers conservent leurs propres licences ; voir NOTICE et THIRD_PARTY_LICENSES.md.