РАЗБОР
На проверке
LLM на CTF: где помощь, а где читерство
[ обложка статьи ]
Режим чтения
На OFFZONE 2025 случился показательный эксперимент: участник загрузил описания CTF-тасков в пять моделей - DeepSeek, Claude, ChatGPT-5, ChatGPT-5 Thinking и Grok - и запустил их в режиме агента. Без ручного вмешательства, без изучения заданий, даже без регистрации на платформе. ChatGPT-5 Thinking вытащила флаг из третьего задания - самого сложного, которое не решил больше ни один участник конференции. А более простые задачи, включая совсем базовые, ни одна из пяти моделей не осилила.
Кейс задокументирован на Хабре, и он ставит вопрос ребром: если модель решает задачу, которую не смог ни один человек - кто получил флаг? Где заканчивается «умное использование инструмента» и начинается использование ИИ в CTF как читерство? И главное - что это значит для навыков, которые вы собирались прокачать?
Что LLM реально делает на CTF: разбор по категориям
Прежде чем спорить об этике - разберёмся с фактами. По данным NYU CTF Bench и анализа Penligent, результаты LLM категорически зависят от типа задачи. Систематический обзор 58 работ по AI в пентестинге (arxiv) подтверждает: автономные агенты стабильно выдают результат только в фазах discovery и exploitation на структурированных задачах. На reconnaissance и post-exploitation - провал. Подробнее - в нашем руководстве по безопасность llm атаки.Вот как это выглядит в разрезе CTF-категорий.
Web. Самая благодатная территория для ChatGPT для хакинга и аналогичных моделей. LLM разбирает HTTP-заголовки, объясняет поведение REST API, генерирует SQL-инъекции под конкретный движок БД, анализирует JavaScript-бандлы на предмет захардкоженных секретов и внутренних эндпоинтов. По данным Penligent, правильнее думать об LLM как о «компрессоре пространства поиска» - модель сужает набор гипотез быстрее, чем вы бы делали вручную, перебирая payloads из SecLists. На web-тасках easy-medium это реально ускоряет работу в 2-3 раза. Если модель видит в ответе сервера ошибку PostgreSQL, она способна сгенерировать time-based blind SQL-инъекцию под конкретный движок, а не универсальные строки из шпаргалки.
Crypto. С классикой - Caesar, XOR, RSA с маленькой экспонентой, стандартные padding oracle - модель справляется нормально. Знает типовые атаки, может написать solver на Python. Проблемы начинаются с кастомной криптографией: самописные шифры, нестандартные группы, задачи с нетривиальным алгебраическим рассуждением. Тут LLM начинает уверенно генерировать математически неверные доказательства. Галлюцинации в crypto (по классификации OWASP LLM Top 10 это риск Misinformation - LLM09:2025) особенно коварны: решение выглядит правдоподобно, проходит поверхностную проверку - и не работает. Я на это наступал дважды - потратил по часу на отладку «правильного» решения, прежде чем понял, что модель нагородила чушь в промежуточных выкладках.
PWN (Binary Exploitation). Худшая категория, и это не удивительно. Модель не работает с бинарными данными напрямую, слабо понимает layout памяти конкретного бинарника и практически бесполезна для heap exploitation. Может помочь написать каркас скрипта на pwntools - шаблон с
remote() / process() и базовой отправкой payload - но саму эксплуатацию придётся выстраивать руками. Обзор 58 работ подтверждает: 77% исследований сосредоточены на Reinforcement Learning, а LLM-направление в binary exploitation - terra incognita.Reversing. Тут картина смешанная. LLM отлично переводит вывод декомпилятора Ghidra или IDA в читаемое описание: переименовывает переменные, объясняет назначение функций, разбирает таблицу экспортов. Экономит 30-40 минут на каждом бинарнике - время, которое обычно уходит на первичную ориентацию. Но при сложной обфускации, нестандартных архитектурах или anti-debugging трюках модель теряется и начинает фантазировать. Может уверенно заявить, что функция делает X, когда на самом деле там Y - и вы потратите час на ложный след. Я такое видел на CTF с custom VM - модель «распознала» виртуальную машину как обычный switch-case и повела в тупик.
Forensics. Хорошо работает с текстовыми и структурированными форматами: парсинг логов, анализ PCAP-дампов через текстовый вывод TShark, разбор файловых иерархий. На OFFZONE модель решила форензик-таск именно так: написала Python-парсер формата cpio newc с on-the-fly gunzip, затем применила эвристику поиска секретов по энтропии строк и regex
(WB|CTF|flag)\{[^}]+\} - полностью автоматизированный pipeline от декомпрессии до извлечения флага. Впечатляет. Но задайте себе вопрос: а вы бы смогли повторить это без модели?Правила площадок и сертификаций: где AI запрещён
AI cheating CTF перестал быть абстрактной проблемой. Площадки формируют политики, и разброс значительный.Hack The Box на соревнованиях запрещает AI-ассистентов правилами конкретного ивента. На тренировочных машинах - серая зона: формально тренируетесь для себя, но если публикуете writeup, собранный нейросетью, репутационные последствия вполне реальны. Fluid Attacks отмечает, что AI-агент CAI показал результат 19 из 20 флагов на HTB AI vs Humans - и организаторы уже обсуждают, станут ли Jeopardy-CTF слабым мерилом реального навыка по мере оптимизации AI под их формат.
picoCTF - образовательная платформа. Явного запрета ИИ на соревнованиях по хакингу нет, но весь смысл - в обучении. Скормить задачу модели и получить флаг - примерно как списать контрольную: формально ответ правильный, а в голове ничего не осталось.
CTFtime-ивенты - каждый организатор устанавливает собственные правила CTF ИИ. На крупных соревнованиях (DEF CON CTF, Google CTF) запрет обычно подразумевается через пункт о fair play, но редко прописан явно. В 2024-2025 годах появились случаи разбирательств по подозрению в использовании AI - доказать или опровергнуть это крайне сложно.
OSCP и практические сертификации - тут другой уровень строгости. На экзамене OSCP работает прокторинг: камера, запись экрана, контроль процессов. Использование ChatGPT или любого AI-инструмента - автоматический fail. PNPT применяет аналогичные ограничения. И это не формальность: навыки, наработанные через LLM-костыль на тренировках, не переносятся на экзамен, где костыля нет. Экзаменатору не важно, сколько тасков вы «решили» - важно, что вы делаете в реальном времени без подсказок.
| Платформа / экзамен | AI разрешён | Санкции | Примечание |
|---|---|---|---|
| HTB (соревнования) | Нет | Дисквалификация | По правилам ивента |
| HTB (тренировка) | Серая зона | Репутационные | Writeup может выдать |
| picoCTF | Не запрещён явно | Потеря обучающего эффекта | Образовательная цель |
| CTFtime (по ивенту) | Зависит от правил | До дисквалификации | Нет единого стандарта |
| OSCP | Строго нет | Fail + потенциальный бан | Прокторинг |
| PNPT | Строго нет | Fail | Прокторинг |
| DEF CON CTF | Подразумевается нет | Дисквалификация | Fair play |
Фреймворк: как отличить помощь от читерства
Этика использования LLM в хакинге - тема, которую русскоязычное комьюнити почти не обсуждает. В англоязычном пространстве уже сложился рабочий фреймворк. Вот его адаптация под CTF-практику.Три вопроса для самопроверки
Кто принимает решение? Если LLM объясняет незнакомый формат (BSON, cpio, protobuf), а вы на основе этого знания строите эксплойт - это помощь. Если модель генерирует полный solver и вы просто запускаете его - это делегирование ключевого навыка. Разница - в том, кто мыслит.Научились ли вы чему-то? Модель объяснила, почему payload не сработал, и вы поняли механику ошибки - обучение произошло. Получили рабочий payload без понимания причины - не произошло. Этот критерий особенно важен для тех, кто готовится к сертификациям: знание «что делать» без понимания «почему» на экзамене не поможет.
Воспроизведёте ли результат без модели? Если после CTF можете пошагово объяснить решение коллеге - навык ваш. Если не можете - вы арендовали чужой навык на время соревнования.
MITRE ATT&CK уже формализовал использование AI в offensive-операциях. Техники Query Public AI Services (T1682, Reconnaissance) и Generate Content (T1683, Resource Development) описывают, как adversaries применяют публичные LLM для разведки и генерации контента. Техника Artificial Intelligence (T1588.007, Resource Development) фиксирует использование AI как ресурса для подготовки атак. Разница между CTF-игроком и реальным атакующим - в целях, но инструментарий пересекается всё заметнее.
Где проходит линия
| Сценарий | Категория | Обоснование |
|---|---|---|
| Спросить, что такое format string vulnerability | Помощь | Эквивалент чтения документации |
| Попросить объяснить вывод Ghidra | Помощь | Ускорение рутинной интерпретации |
| Сгенерировать полный exploit для pwn-таска | Читерство | Делегирование ключевого навыка |
| Попросить написать парсер для кастомного формата | Серая зона | Зависит от понимания результата |
| Автоматически отправить флаг через LLM-агента | Читерство | Полная автоматизация без участия |
| Генерация SQL-инъекций по контексту ошибки | Серая зона | Аналог продвинутого контекстного фаззера |
| Объяснение алгоритма шифрования из кода | Помощь | Обучающая функция |
Серая зона - самая спорная. Генерация payloads по контексту ошибки - по сути, то же самое, что делает Burp Intruder, только умнее. Но полная автоматизация цепочки «получил описание → модель решила → отправил флаг» - это уже не ваш результат, независимо от того, стоит ли рядом ваш ник.
Рабочий workflow: LLM как ассистент, а не оракул
Три-четыре итерации этого цикла по пять минут дают больше, чем один часовой диалог с контекстом на 40 000 токенов. Каждая итерация - ваше решение, усиленное моделью, а не решение модели, запущенное вашими руками.
Чего нельзя делать
Не скармливайте бинарники напрямую. LLM не работает с raw bytes. Сначала пропустите через Ghidra в headless-режиме илиobjdump -d, затем дайте модели текстовый вывод.Не доверяйте «уверенным» ответам в crypto. Модель выдаёт математически неверные рассуждения с абсолютной уверенностью. Каждый промежуточный шаг - проверять вручную. Я взял за правило: если модель пишет «очевидно, что...» в crypto-задаче - это красный флаг.
Не запускайте LLM-агентов без sandbox. Агент с доступом к сети не различает CTF-инфраструктуру и production. OWASP LLM Top 10 описывает этот риск как Excessive Agency (LLM06:2025): LLM с избыточными полномочиями совершает непредусмотренные действия. На CTF это может выйти за рамки scope - и за рамки закона.
Не используйте LLM на тасках, которые прямо тренируют целевой навык. Готовитесь к OSCP и решаете pwn-задачу ради навыка buffer overflow? Модель обнулит весь смысл упражнения. LLM полезен на рутине, но рутина - не то, что проверяют на экзамене.
Нейросети в пентесте: почему правила другие
ChatGPT для хакинга на CTF и на рабочем пентесте - две принципиально разные истории. На CTF вопрос - честность на CTF и развитие навыков. На пентесте - эффективность и ответственность перед заказчиком.Автоматизация пентеста с помощью AI уже приносит измеримые результаты. По данным Redfox Cybersecurity, LLM-ассистированные workflow позволяют находить на 30-40% больше уязвимостей за то же время. GPT для поиска уязвимостей работает как рассуждающий анализатор: разбор OpenAPI-спецификаций на IDOR, кластеризация субдоменов по вероятной функции, генерация контекстных payloads вместо слепого перебора.
Fluid Attacks описывает AI-агента CAI, показавшего 41/45 флагов на Neurogrid и 19/20 на HTB AI vs Humans. Цифры впечатляют, но авторы сами подчёркивают: CTF - не enterprise-пентест. Нет бизнес-контекста, неоднозначного scope, ложных срабатываний и необходимости общаться с заказчиком. Они описывают «проблему последних 5%» - задачи, устойчивые к автоматизации, требующие культурного контекста, скрытых зависимостей и интерпретации за пределами рутинного технического исполнения.
Вот что интересно по нескольким исследованиям: эффективность AI-ассистированного пентеста определяется не моделью, а обвязкой. Структурированные деревья атак на базе MITRE ATT&CK повышают результативность даже слабых моделей - Llama-3-8B с направляющим деревом решает 71.8% подзадач против 13.5% без него. CheckMate разделяет workflow на planner, executor и perceptor, улучшая показатели на 20% по сравнению с Claude Code при снижении стоимости на 53% и времени на 54%. APT-Agent добавляет rectifier - модуль проверки имён модулей Metasploit по базе - и контекстный менеджер, что поднимает успешность с 38/70 до 59/70 задач. Без этой инфраструктуры генеративный ИИ в кибербезопасности остаётся ненадёжным инструментом, а не полноценным автоматизированным эксплойтом.
MITRE ATT&CK формализовал использование AI в offensive-операциях через техники Artificial Intelligence (T1588.007, Resource Development) и Exploits (T1588.005, Resource Development). AI red teaming - теперь часть угроз и одновременно инструмент защитников. Разница с CTF: на пентесте вы отвечаете за результат перед клиентом. Если LLM ускорил разведку и вы нашли критическую уязвимость на день раньше - заказчик в выигрыше. На CTF выигрыш получает только ваше эго, а навык остаётся на нуле.
Полтора года я тестирую LLM на CTF-тасках и в рабочих пентестах - и вижу, как комьюнити разделилось на два лагеря, оба из которых ошибаются. Первые считают любое использование AI читерством и гордятся решением всего «по-старинке». Вторые скармливают каждый таск в ChatGPT и уверены, что прокачиваются. Реальность ближе к первым - но не потому, что AI бесполезен, а потому что на текущем уровне развития LLM на CTF работает как множитель. Если навык на нуле - множитель от нуля даёт ноль. Если база есть (понимание стека, опыт отладки, интуиция в reversing) - модель ускоряет рутину и расширяет кругозор.
Проблема в том, что эту базу можно построить только без LLM. Каждый час ручного разбора бинарника в Ghidra формирует нейронные связи, которые потом позволяют мгновенно распознавать паттерны. Каждый час копирования вывода ChatGPT формирует навык копирования - и ничего больше. Я видел людей, которые за год «прошли» 200 тасков на HTB через AI и не могут на собесе объяснить, как работает format string. И видел тех, кто решил 50 руками и получил оффер в red team.
Честность на CTF - не абстрактная этика, а прямая инвестиция в собственную рыночную стоимость. Через год AI станет мощнее, но экзамены и рабочие задачи по-прежнему будут проверять вас, а не вашу модель. Если идёшь к OSCP и нужна подготовка по веб-части - WAPT покрывает это в первой трети курса, и там никакой LLM экзамен за вас не сдаст.
AI-выжимка
сгенерировано ИИ
Тезисы статьи скоро
Статья читается полностью. Тезисы со ссылками на разделы появятся позже.
Содержание
Codeby Academy
Практика и мастерство
От основ до продвинутого — программы для практиков Codeby.
Перейти к курсу →
Поиск в обсуждении
Карта ветки
Продолжить чтение
Следующий разбор
Безопасность AI агентов: атаки и детект в enterprise
Комментарии
0