
Всем привет!
Очень много CTF-соревнований проводится с использованием платформы CTFd. Как они сами скромно про себя пишут:
CTFd - The best Capture The Flag framework out there for hiring hackers, training developers, and teaching students.
Я, в одной из своих статей, писал, что полностью автоматическое решение всей CTF-площадки AI- агентом затруднено и перечислил те трудности, с которыми тогда боролся.
Оказывается, у CTFd есть API!
Так вот, работа по API решает тьму из тех проблем, с которыми я тогда столкнулся! Это прям прорыв в моих исследованиях на эту тему!
Для использования API CTFd я написал skill для OpenCode, про который и хочу вам рассказать!
CTFd-Skill — skill, позволяющий ИИ-агенту играть в любой CTF на платформе CTFd через REST API от лица обычного участника: список и чтение задач, скачивание файлов, подача флагов, подсказки, рейтинг, анонсы. Покрывает только player-действия (без админ-эндпоинтов) и работает с любым инстансом CTFd — не привязан к конкретной площадке.
Ключевые возможности:
Подача флагов с обработкой всех статусов задачи и авто-backoff без риска заблокировать себя перебором;
Персистентный журнал под каждую задачу: файлы, solve-скрипты и статусы решения задач переживают случайные перезагрузки;
Авто-обнаружение новых задач и анонсов организаторов (подсказки, уточнения) с классификацией по тегам — ничего не теряется по ходу соревнований;
Интеграция с HexStrike;
... и многое другое.
github.com/Chumikov/CTFd-Skill
Теперь промт на решение всей CTF-площадки может выглядеть так:
Используя CTFd-skill, реши все задачи площадки ctf.url.com, token - ...., формат флага ctf{...}. Все задачи, по которым тебе требуются моё мнение или моя помощь, переноси в конец. Решай все задачи, которые можешь решить автоматически.
Пробуйте, пишите обратную связь, ну поставьте мне лайк тут и звезду проекту на GitHub!
Мой телеграм-канал.
