
Исследовательские материалы для LLM-агента на основе MCP, который автономно решает задачи CTF, включая данные абляции, скрипты анализа и стек MCP из шести серверов.
Артефакты для "STRIATUM-CTF: A Protocol-Driven Agentic Framework for Autonomous CTF Solving" (IEEE CARS 2026), Hugglestone, Chacko, Stoller, Schmidt и Liu, Университет штата Флорида.
Награда за лучшую статью (1-е место), IEEE CARS 2026. Препринт: arXiv:2603.22577.
Этот репозиторий поддерживает воспроизведение протокола и анализа. Это не готовый к использованию эксплойт-набор: согласно заявлению об этике в статье, никакие эксплойт-пейлоады или корпуса шаблонов атак не публикуются. Что это означает конкретно, изложено в разделе Область применения и исключения ниже.
| Каталог | Содержимое |
|---|---|
data/ | Таблица результатов 180 запусков (ablation_results.csv + исходный .xlsx), матрица по каждому заданию (Таблица III), прогресс решения в live-CTF (Рис. 2), отрендеренные рисунки и codebook.md. |
analysis/ | Скрипты, воспроизводящие каждую статистику из статьи на основе data/. |
code/ | Стек MCP из шести серверов: два собственных сервера, установщик, который привязывает три сторонних сервера к их коммитам из исследования, и конфигурация хоста. |
challenges/ | Манифест происхождения с хешами для проверки, скрипт загрузки для распространяемых заданий, спецификации по каждому заданию и два исходника заданий, которые мы можем распространять. |
documentation_conditions/ | Четыре условия абляции: Minimal-корпус полностью, манифесты файлов/строк/токенов по каждому условию (которые воспроизводят Таблицу II) и индекс шаблонов только с заголовками. |
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
Все таблицы II и III, 95% интервалы Уилсона, омнибус-тесты, анализ подмножества без насыщения, модель GEE и данные о продолжительности воспроизводятся точно из data/. Количества строк в таблице II воспроизводятся точно; количества токенов зависят от токенизатора, и точный токенизатор, использованный в статье, не был зафиксирован (см. analysis/count_tokens.py и манифесты по условиям).
Поставку ограничивают две независимые причины. Ни одна из них не является упущением.
Этика (статья, раздел «Ethical Considerations»): никаких эксплойт-пейлоадов и корпусов шаблонов атак. Поэтому не публикуются:
workspaces/ (рабочие эксплойты, скрипты-решатели и описания решений) — вместо этого результаты каждого запуска опубликованы в data/ablation_results.csv;AUTONOMOUS_SOLVER_README.md, TEMPLATE_COVERAGE.md), которые представляют собой шаблоны атак, упомянутые в заявлении об этике. Они охарактеризованы — списки файлов, количество строк и токенов, а также индекс только по заголовкам в documentation_conditions/ — так что независимая переменная абляции задокументирована, но пейлоады не публикуются;challenges/manifest.csv).Следствие, сказанное прямо: поскольку корпуса Templates/Baseline являются манипуляцией в исследовании из 180 запусков, эта абляция не полностью воспроизводима из данного репозитория — воспроизводим только протокол. Полный протокол решателя доступен исследователям для защитного использования по запросу к соответствующему автору.
Лицензирование: бинарники задач не зеркалируются там, где у нас нет права на их распространение — задачи picoCTF (CMU, все права защищены) и учебные материалы angr_ctf (GPL-3.0) загружаются из исходных источников скриптом challenges/fetch_challenges.sh; системные библиотеки (libc, ld-linux) никогда не поставляются. См. THIRD_PARTY_LICENSES.md.
См. CITATION.cff. Статья: IEEE Cyber Awareness and Research Symposium (CARS) 2026.
Собственный код и документация авторов: MIT (LICENSE). Сторонние компоненты сохраняют свои лицензии; см. NOTICE и THIRD_PARTY_LICENSES.md.