Аудит кода ИИ-агентом в шесть этапов: что доверить скиллу Cloudflare
Cloudflare выложила скилл security-audit: агент проходит шесть этапов и делит находки на подтверждённые, требующие проверки и отклонённые. Разбираю, что из этого можно доверить при сдаче и приёмке проекта, где нужен человек и как не отдать код клиента лишней модели.
Сделаю под ключ: разберу задачу, назову срок и цену. Чтобы начать, напишите в Telegram одной фразой.
Кибербезопасность: проверка проекта перед сдачей и безопасный прогон аудитаПроект сдан, а кто смотрел код
Сайт, бот или расширение для 1С уходят заказчику. Подрядчик говорит, что всё проверено. Через полгода выясняется, что поиск на сайте собирает запрос в базу строкой, а токен бота лежит в репозитории с первого коммита.
Cloudflare выложила в открытый доступ инструмент, который делает такой первый проход автоматически. Ниже, что из него следует для тех, кто сдаёт или принимает проект. Что вообще нельзя отдавать агенту, я разбирал в статье про ключи и персональные данные в коде, здесь та же осторожность применяется к аудиту.
Что это за проект и что я проверил
Проверял 29.10.2026 по репозиторию и GitHub API. Репозиторий принадлежит организации cloudflare и не архивирован. Создан 18 июня 2026 года, последний коммит 14 сентября 2026 года («Clarify guidance and full audit modes»), всего 14 коммитов. Звёзд около 52,5 тысячи. Файл LICENSE содержит текст MIT, авторские права Cloudflare. По README это отправная точка для системы поиска уязвимостей, которую Cloudflare описала в своём блоге.
Формат скилла назван нейтральным к агентам: в SKILL.md есть раздел о платформенной терминологии, где роли называются родитель, делегируемый агент и так далее. Ставится через Skills CLI командой npx skills add. Для каких именно агентов (Claude Code, Codex и других) он проверялся, в README не указано, у себя я его не запускал. Требуется агент с моделью, умеющей работать с инструментами и подагентами, Node.js для проверочных скриптов и песочница на уровне ОС.
Шесть этапов и как читать три статуса
По README порядок такой. Разведка: карта архитектуры, границ доверия и входов в файле architecture.md и таблица покрытия coverage-ledger.json. Поиск: изолированные «охотники» получают участки кода и записывают, что проверили. Проверка кандидатов: каждую находку берёт свежий агент, который её не искал и пытается опровергнуть. Запись: итоги попадают в findings.json и проверяются по схеме. Независимая проверка: ещё раз свежие агенты сверяют записи с исходниками. Отчёт: REPORT.md, FINDINGS-DETAIL.md и NEEDS-VALIDATION.md.
Статусы читаются так. Confirmed: есть полная трасса по исходникам и ограниченный наблюдаемый результат, только такие находки получают критичность (от informational до critical). Needs_validation: путь по коду есть, но решающий факт лежит вне репозитория, например настройка сервера. Критичности у неё нет, в отчёте указано, что проверить. Rejected: кандидат опровергнут. Уязвимостями они не считаются.
Режимов два. По умолчанию скилл отвечает на вопросы и ничего не пишет на диск. Полный аудит запускается, только если вы прямо попросили проверить кодовую базу. Отчёты скилл кладёт в папку вне проекта.
Что можно доверить, а что нельзя
Доверить можно первый проход по типовым дырам: сборка запросов в базу из строк, вывод пользовательского текста на страницу без экранирования, секреты в репозитории, небезопасные зависимости и сборочные цепочки. Для них в скилле есть отдельные файлы с методиками, включая клиентскую часть, цепочку поставок и ИИ-приложения. Точного списка языков в README нет, это не подтверждено. Для PHP, Python, JavaScript или 1С сначала нужен пилот.
Нельзя доверять бизнес-логику («может ли менеджер увидеть чужой заказ по нашим правилам»), права доступа во всём проекте, конфигурацию живого сервера и живое тестирование. Скилл сам запрещает трогать боевые адреса и чужие данные, а всё, что зависит от настроек окружения, отправляет в needs_validation. Боевой стенд проверяет человек. Про границы автономности я писал в разборе где граница автономности ИИ-агента.
Как не подставить себя и где это не сработает
Код клиента уходит той модели, которой пользуется агент. Если в договоре или NDA это не разрешено, аудит внешней моделью запрещён, пока клиент не согласится письменно. В тестовых данных не должно быть персональных данных настоящих людей.
Секреты вычищайте до запуска: ключи API, токены ботов, пароли баз. Как хранить их правильно, описано в статье про секреты в git. Ключ, попавший в историю коммитов, нужно перевыпустить.
Агенту нельзя давать сеть и рабочие ключи. Скилл требует песочницу без внешней сети, с пустым окружением и лимитами на ресурсы, а без неё чужой код не запускается и находка остаётся в needs_validation. Про песочницу на Windows есть отдельный разбор.
Дальше ограничения самого инструмента. Доли ложных срабатываний в README нет. Про стоимость сказано только, что бюджет задаётся числом вызовов агентов, токенов и рублей в файлах нет, цену смотрите по счёту вашей модели. Cloudflare пишет, что в её тестах один прогон находил примерно половину того, что находили повторные запуски. Чистый отчёт значит лишь «этот проход ничего не нашёл». Профиль quick сам объявляет себя частичным покрытием. Допустимый размер кода в описании не указан.
Что можно сделать уже сейчас
Пилот на небольшом репозитории. Возьмите свой учебный проект и заранее внесите три тестовые уязвимости: сборка запроса в базу строкой, вывод пользовательского текста без экранирования, поддельный ключ в конфигурации. Запустите аудит в профиле quick в песочнице и сравните отчёт с вашим списком. Считайте четыре числа: сколько из трёх найдено, сколько записей лишних (ложных), сколько ушло в needs_validation, сколько стоил прогон по счёту. Две из трёх при малом числе лишних записей годятся для первого фильтра. Одна находка при пяти ложных не годится.
Чек-лист перед сдачей и запуском:
- Получено письменное разрешение клиента на проверку внешней моделью.
- Секреты вычищены, ключи из истории перевыпущены.
- В тестовых данных нет персональных данных.
- Аудит идёт в песочнице без сети и без рабочих ключей.
- Отчёты лежат вне репозитория.
- Человек прочитал каждую запись confirmed и needs_validation и починил или закрыл её.
- Сервер, права доступа и бизнес-логику проверил человек отдельно.
Если нужна проверка проекта человеком и настройка безопасного прогона, это моя услуга «Кибербезопасность». Что делать с уязвимостями, которые находит ИИ, я разбирал в статье для владельца сайта.
Частые вопросы
Можно ли отдать агенту аудит клиентского проекта целиком?
Только с письменного разрешения клиента и после чек-листа выше. Результат это список подозрений для человека, заключения о безопасности в нём нет.
Работает ли это с моделями, доступными из России?
Скилл от модели не зависит, качество проверяйте пилотом. Оплата, доступ к API и работа сервисов из России: уточняйте.
Чем независимая проверка отличается от обычной?
По описанию, проверяющий агент не тот, что искал находку, и не получает выводов других проверяющих. Итоговые записи проверяются ещё раз.
Коротко о главном
Скилл Cloudflare подходит для первого прохода по коду перед сдачей: он ищет типовые дыры и отделяет подтверждённое от непроверенного. Бизнес-логику, права доступа, сервер и живые тесты он оставляет человеку. Начинайте с пилота на маленьком репозитории и считайте, сколько нашёл и сколько напридумывал.
Хотите проверить проект перед сдачей и не отдать лишнего во внешнюю модель? Напишите мне в Telegram и назовите кодовое слово «ШЕСТЬЭТАПОВ».
Что я делаю для бизнеса
Напишите одной фразой, что нужно. Отвечу, что подойдёт, сколько займёт и сколько стоит. Сообщение уже подготовлено.
- Боты в Telegram, MAX, VK
- Автоматизация процессов и CRM
- Аналитика и дашборды
- Сайты и лендинги под ключ
Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.


