Кубок Федерации 2026: шесть часов атак, защита патчами и спор о доступности сервисов

fspcup1

На финале Кубка Федерации спортивного программирования команды получили шесть часов на атаки и защиту сервисов. Рассказываем, как был устроен финал и каким его увидели серебряные и бронзовые призёры.

От 1306 участников до двадцати команд

Финал прошёл 10 октября в Москве в дисциплине «программирование систем информационной безопасности». Кубок приурочили к пятилетию Федерации спортивного программирования.

Путь к нему начался 19 сентября с онлайн-отбора в формате Task-Based: за шесть часов участникам предстояло решить 25 заданий. По данным организаторов, в отборе участвовали 1306 человек, а в финал вышли двадцать команд — около ста участников. Организаторы сообщили, что отбор установил рекорд России как самое массовое онлайн-соревнование по спортивному программированию систем информационной безопасности.

В очной части формат сменился на Attack-Defense. Команды искали уязвимости в сервисах соперников и одновременно исправляли свои. По материалам организаторов, игра была рассчитана на 360 раундов по минуте, а в четырёх (по презентации организаторов трёх) сервисах суммарно заложили шестнадцать уязвимостей.

Защищаться — только исправлениями

Для финала установили ограничения на инструменты и способы защиты. Правила запрещали блокировать входящий игровой трафик и перенаправлять входящие эксплойт-запросы на инфраструктуру других участников. Защищать сервисы от эксплойтов требовалось исключительно патчами — исправлениями уязвимостей.

Отдельно ограничили использование ИИ: в перечень запрещённых средств вошли ИИ-агенты, MCP, локальные модели и ИИ-чаты, требующие авторизации. Также запретили платные, заранее авторизованные и проксируемые ИИ-инструменты, а вместе с ними — способы обхода ограничений. Доступ к внешним сервисам с авторизацией, включая мессенджеры и приватные репозитории, тоже был запрещён.

В материалах финала предусматривалась трансляция во «ВКонтакте» и на «Триколор ТВ» с показом площадки, комментаторской студии и экранов игроков. Для передачи изображения с экранов участникам предписывалось установить специальное ПО.

Первые эксплойты и разные впечатления от сервисов

Сборная города Москвы ехала за первым местом. По воспоминаниям dontunique, первые уязвимости команда нашла ещё на тестовых раундах при закрытой сети и успела получить флаги до основного старта. Затем счёт обнулили. После начала игры первый эксплойт был готов примерно за пять минут, а через 15–20 минут команда уже атаковала второй и третий сервисы.

Тимофею GreenHaze из daywave начало запомнилось короткой подготовкой: по его словам, раунды с закрытой сетью заняли всего пятнадцать минут. Одним из поводов приехать для него были денежные призы: CTF с призовыми, как он отмечает, проходят нечасто.

Набор сервисов участники оценили по-разному. Dontunique называет его примерно стандартным для такого формата и отдельно вспоминает сервис с гаражом и машинами. GreenHaze резко критикует объём кода одного из сервисов: по его описанию, тот содержал около восьми тысяч строк на Ruby on Rails. Сочетание такого объёма и ограничений на ИИ он комментирует шуткой: «8к строк на руби он рейлс с банами нейронок скорее всего нарушает женевскую конвенцию».

Оба участника упоминают Packmate — инструмент для анализа игрового трафика. По словам GreenHaze, daywave помог его форк, который показывал адреса отправителей. Возможность видеть источник атаки упрощала разбор чужих запросов и воспроизведение эксплойтов.

Спор вокруг нагрузки на сервисы

Главная претензия dontunique связана с доступностью сервисов во второй половине игры. По его словам, команда столкнулась с нагрузкой, которую он описывает как DoS-атаки, а показатель SLA, отражающий доступность сервисов, опускался до 50%. Участники сохранили дампы трафика и неоднократно обращались к организаторам.

Dontunique утверждает, что запрет блокировать входящий трафик ограничивал возможности команды справиться с нагрузкой. По его рассказу, организаторы предупреждали атакующих и пытались блокировать отдельные IP-адреса, но эти меры не решили проблему. Он считает, что происходящее сыграло решающую роль в потере первого места: по его воспоминаниям, Сборная Москвы удерживала лидерство почти до конца игры.

В общем регламенте есть запрет создавать неоправданно большой объём сетевого трафика, способный нарушить работу платформы или инфраструктуры соревнования. Однако этот запрет, как и меры за его нарушение, приведён в разделе об отборочном этапе. Пункт 8.3 предусматривает отдельную публикацию правил и ограничений финала. Полученные редакцией материалы об особенностях финала подтверждают запрет блокировать входящий игровой трафик, но не содержат отдельного пункта о DoS/DDoS и санкциях за такие действия.

По пункту 9.4 общего регламента спорные вопросы о заданиях, баллах, ограничениях и результатах разрешает Главная судейская коллегия.

О работе организаторов участники говорят с разными акцентами. GreenHaze отмечает, что они оставались на связи и пытались помочь игрокам. Dontunique считает принятые меры недостаточными, но отдельно хвалит сеть на площадке: по его словам, она работала стабильно. У daywave из бытовых впечатлений запомнилось питание — GreenHaze говорит, что кормили очень вкусно.

Победители и юбилейная программа

По итогам финала первое место заняла danosito’s ai farm, второе — Сборная города Москвы, третье — daywave. Общий призовой фонд составил 500 тысяч рублей.

Победители получили Кубок Федерации. Его дизайн выбрали на открытом конкурсе; автором победившего макета стал Сергей Филянов. По информации организаторов, в дальнейшем трофей будет храниться в Государственном музее спорта.

Помимо игры, юбилейная программа включала стратегические сессии, конференцию ФСП, выставку партнёров и встречи со спортсменами. Федерация также подписала соглашение о сотрудничестве с Государственным музеем спорта. В открытии, закрытии и награждении участвовал первый заместитель министра спорта России, председатель правления ФСП Одес Байсултанов.