
Artefatos de pesquisa para um agente LLM baseado em MCP que resolve desafios CTF de forma autônoma, incluindo dados de ablação, scripts de análise e uma pilha MCP de seis servidores.
Artefatos para "STRIATUM-CTF: A Protocol-Driven Agentic Framework for Autonomous CTF Solving" (IEEE CARS 2026), Hugglestone, Chacko, Stoller, Schmidt e Liu, Florida State University.
Prêmio de Melhor Artigo (1º Lugar), IEEE CARS 2026. Preprint: arXiv:2603.22577.
Este repositório apoia a replicação do protocolo e da análise. Ele não é um kit de exploits pronto para uso: conforme a declaração de ética do artigo, nenhum payload de exploit ou corpus de modelos de ataque é disponibilizado. O que isso significa concretamente está detalhado em Escopo e exclusões abaixo.
| Diretório | Conteúdo |
|---|---|
data/ | A tabela de resultados das 180 execuções (ablation_results.csv + .xlsx de origem), a matriz por desafio (Tabela III), a progressão de resolução do CTF ao vivo (Fig. 2), figuras renderizadas e um codebook.md. |
analysis/ | Scripts que reproduzem todas as estatísticas do artigo a partir de data/. |
code/ | A pilha MCP de seis servidores: dois servidores internos, um instalador que fixa os três servidores de terceiros em seus commits do estudo e a configuração do host. |
challenges/ | Manifesto de proveniência com hashes de verificação, um script de busca para os desafios redistribuíveis, fichas de especificação por desafio e as duas fontes de desafio que podemos redistribuir. |
documentation_conditions/ | As quatro condições de ablação: o corpus Mínimo na íntegra, manifestos por condição de arquivo/linha/token (que reproduzem a Tabela II) e um índice de modelos somente com títulos. |
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 as Tabelas II e III, os intervalos de Wilson de 95%, os testes omnibus, a análise do subconjunto não saturado, o modelo GEE e as figuras de duração reproduzem-se exatamente a partir de data/. As contagens de linhas da Tabela II reproduzem-se exatamente; as contagens de tokens dependem do tokenizador e o tokenizador exato do artigo não foi registado (ver analysis/count_tokens.py e os manifestos por condição).
Duas razões independentes limitam o que é disponibilizado. Nenhuma delas é um descuido.
Ética (artigo §"Ethical Considerations"): sem payloads de exploração nem corpora de modelos de ataque. Por conseguinte, retidos:
workspaces/ (exploits funcionais, scripts de resolução e relatórios de soluções) — os resultados por execução são disponibilizados como data/ablation_results.csv;AUTONOMOUS_SOLVER_README.md, TEMPLATE_COVERAGE.md), que são os modelos de ataque referidos na declaração de ética. Estes são caracterizados — listas de ficheiros, contagens de linhas e tokens, e um índice apenas de cabeçalhos em documentation_conditions/ — de modo que a variável independente da ablação está documentada, mas os payloads não são publicados;challenges/manifest.csv).Consequência, dita claramente: como os corpora Templates/Baseline constituem a manipulação no estudo de 180 execuções, essa ablação não é totalmente reproduzível a partir deste repositório — apenas o protocolo o é. O protocolo completo do solver está disponível a investigadores para uso defensivo, mediante pedido ao autor correspondente.
Licenciamento: os binários dos desafios não são espelhados onde não temos o direito de os redistribuir — os desafios picoCTF (CMU, todos os direitos reservados) e os tutoriais angr_ctf (GPL-3.0) são obtidos a montante por challenges/fetch_challenges.sh; as bibliotecas de sistema (libc, ld-linux) nunca são distribuídas. Ver THIRD_PARTY_LICENSES.md.
Ver CITATION.cff. Artigo: IEEE Cyber Awareness and Research Symposium (CARS) 2026.
Código e documentação dos autores: MIT (LICENSE). Os componentes de terceiros mantêm as suas próprias licenças; ver NOTICE e THIRD_PARTY_LICENSES.md.