Аудит безопасности кода агентом: как запустить security-audit skill от Cloudflare
Скилл-репозиторий на 45 тыс. звёзд превращает coding-агента в аудитора: покрытие вместо чеклиста, отдельный валидатор находок и жёсткие требования к изоляции. Разбираем установку, запуск и то, чего этот инструмент не заменяет.
БезопасностьCoding-агенты2026
Уровень СреднийВремя настройки 15–20 минутДанные сняты 25.10.2026
security-audit — открытый навык для coding-агентов (репозиторий cloudflare/security-audit-skill, лицензия MIT), который превращает обычный запрос «проверь код на уязвимости» в шестифазный процесс с изолированными агентами, реестром покрытия и машинно-проверяемыми находками. Это не сканер и не замена пентесту: скилл задаёт методологию и формат артефактов, а ищет уязвимости ваш агент со своей моделью. Главное условие — песочница, без неё агент не имеет права исполнять код целиком.
45 334
Звёзд на GitHub
снято 25.10.2026
2 811
Форков
там же
6
Фаз аудита
от разведки до отчёта
13
Файлов-промптов
классы атак по типам целей
01Что это такое и откуда взялось
Скилл описывает себя как «кодинг-агентский навык, который превращает вашего агента в аудитора безопасности». Логика устроена по образцу промышленного harness: сначала агент строит карту доверенных границ и поверхностей ввода, затем ведёт охоту от реестра покрытия (а не от списка «проверь SQL-инъекции»), затем каждую находку отдаёт другому агенту, который пытается её опровергнуть, и только после этого пишет отчёт.
История важна для доверия к методологии: в README сказано, что навык — это стартовая точка того harness, который вырос в систему Cloudflare для поиска уязвимостей по всему парку проектов, и что описан он в публичном материале «Build your own vulnerability harness» в блоге Cloudflare. То есть перед нами не эксперимент энтузиаста, а опубликованный срез внутренней практики — хотя и в виде одного репозитория, а не сервиса.
Карточка проекта
Репозиторийcloudflare/security-audit-skill
ЛицензияMIT
Основной языкJavaScript (валидаторы .cjs), остальное — markdown-промпты
Создан18.06.2026
Последний push14.09.2026
Активность45 334 звезды, 2 811 форков на 25.10.2026
Требованияагент с субагентами, Node.js, песочница ОС
Как мы это проверяли
Мы читали README и файловую структуру репозитория, метрики звёзд и коммитов сняли через GitHub API 25.10.2026, а описание harness сверили с публичным постом в блоге Cloudflare. Сами аудиты на этом скилле не прогоняли: цифр «сколько уязвимостей находит» мы не приводим, кроме той оценки, которую дают авторы.
02Шесть фаз: что происходит по шагам
Процесс линейный, но с возвратами: реестр покрытия обновляется после каждой фазы, и валидатор прогоняется заново. Именно реестр, а не текст отчёта, определяет, что уже проверено, — это ключевое отличие от «попроси агента найти уязвимости».
Цикл аудита
Фаза
Что делает
Артефакт
1. Разведка
Архитектура, границы доверия, поверхности ввода, прошлые данные
architecture.md, coverage-ledger.json
2. Охота
Изолированные hunters по единицам реестра, критики покрытия
Записи проверок в реестре
3. Валидация
Свежий проверяющий на каждого уникального кандидата
Кандидаты с вердиктами
4. Вывод
Три статуса, сверка со схемой отчёта
findings.json + report-schema.json
5. Сверка
Проверка утверждений по исходникам, повтор для замен
Обновлённые записи
6. Отчёт
Сборка документов из записей, а не из текста агента
REPORT.md, FINDINGS-DETAIL.md
Все артефакты создаются в каталоге прогона; в сам репозиторий ничего не пишется, если вы явно не указали каталог, игнорируемый системой контроля версий.
Прогоны аддитивны: следующий запуск читает прошлые реестр и находки, добивает пробелы и перепроверяет изменившиеся места. Поэтому первый прогон не обязан быть исчерпывающим.
Три статуса в findings.json — это не украшение, а вся суть метода. confirmed — есть полная трассировка до исходника и ограниченный наблюдаемый результат; needs_validation — есть точный неразрешённый факт и, подчёркнуто, нет severity; rejected — кандидат опровергнут. Отчёт, в котором все находки «критичны», на этом скилле технически невозможен: severity требует доказанного влияния.
03Установка: skills CLI, Node.js и проверка
Четыре шага до первого запуска
1
Проверить агента
Нужен coding-агент с поддержкой вызова инструментов и параллельных субагентов. Без субагентов схема «нашёл один — проверил другой» не работает, и скилл теряет смысл.
terminalcopy
claude --version
# подойдёт любой агент с tool use и субагентами
2
Проверить Node.js
Валидаторы находок и реестра — обычные .cjs-скрипты без зависимостей, им нужен только node.
terminalcopy
node --version
3
Поставить скилл
Команда ставит навык в текущий проект. Ключ --skill указывает, какой именно навык брать из репозитория.
validate-findings.cjs и validate-coverage-ledger.cjs
Нечем проверить findings.json и реестр
Песочница ОС
Сборки, тесты, браузеры, фаззеры — без сети и с лимитами
Код цели работы не исполняется, лиды остаются needs_validation
Четвёртая строка — не формальность: именно она отделяет аудит от «агент запустил недоверенный код на вашей машине».
Требование к песочнице в README описано подробно: запрет внешней сети, очищенное окружение по белому списку, лимиты ресурсов, запись только в выделенные scratch-каталоги.
Не запускайте это на рабочем ноутбуке без изоляции
Аудит по своей природе исполняет код проверяемого проекта: сборки, тесты, браузеры, эмуляторы. Если проект недоверенный (чужая зависимость, присланный архив), запуск вне песочницы — это исполнение чужого кода с вашими правами. Скилл это понимает и сам понижает такие лиды до needs_validation, но изоляцию всё равно обеспечиваете вы.
04Запуск: как формулировать запрос
Скилл активируется по смыслу запроса, а не по команде. Триггеры, перечисленные в README: «security audit», «find vulnerabilities», «pen-test the code». Дальше есть два режима: полный аудит (по умолчанию для прямых просьб проверить кодовую базу) и режим консультации — когда вы просто задаёте вопрос по безопасности и не просите артефакты.
триггеры в чате агентаtext
security audit this codebase
find security vulnerabilities in ./src
do a security review, output to ~/audits/my-project
# консультация без отчёта:
какие риски в обработке загрузки файлов?
Каталог вывода лучше задавать сразу. Если его не указать, полный аудит пишет в ~/security-audit-skill/<repo>/run-<N>, где N — номер прогона. Внутрь репозитория артефакты попадают только если вы явно выбрали каталог, который система контроля версий игнорирует, — иначе отчёт с описанием уязвимостей уедет в коммит.
Второй прогон не начинается с нуля: он читает прошлые реестр и findings.json, добивает непокрытые единицы, перепроверяет изменившиеся исходники и не считает устаревшие или неразрешённые пункты закрытыми. Практический вывод: гонять аудит стоит серией по расписанию, а не один раз перед релизом.
05Как читать результат
Читать надо не REPORT.md, а findings.json — отчёт собирается из него. В каждой записи есть вердикт, трассировка до исходника и наблюдаемый результат; записи со статусом needs_validation отдельно вынесены в NEEDS-VALIDATION.md, и это ваш список задач, а не мусор.
Статус
Что означает
Что делать
confirmed
Полная трассировка до кода и ограниченный наблюдаемый результат
Исправлять в первую очередь
needs_validation
Есть точный неразрешённый факт, severity нет
Довести проверку вручную или дать песочницу
rejected
Кандидат опровергнут проверяющим
Держать как историю: при повторном прогоне не всплывёт
Валидатор findings.json прогоняется в фазе 4 и повторно после каждой замены в фазе 5, валидатор реестра — после создания реестра и каждого его обновления.
Файл-схема report-schema.json лежит в репозитории: если вы пишете свой постпроцессор, валидируйте по ней, а не по тексту отчёта.
Правило, которое экономит недели
Авторы отдельно фиксируют принцип: отсутствие второго слоя защиты — это не уязвимость, а заметка про hardening. Если слой A реально блокирует атаку, находка не становится критичной от того, что слоя B нет. Фильтруйте отчёт по этому правилу, иначе получите сотню «критичных» пунктов про отсутствующий WAF.
06Место на рынке: цифры и динамика
По звёздам проект Cloudflare — второй среди крупных skill- и plugin-репозиториев, которые мы снимали 25.10.2026, и первый среди «прикладных» навыков: впереди только общий каталог anthropics/skills. При этом репозиторий узкий: это не платформа, а набор промптов и два валидатора.
Звёзды GitHub у skill- и plugin-репозиториевтыс. звёзд, снято 25.10.2026 через GitHub API
Звёзды не измеряют качество аудита — они измеряют внимание. Сам факт, что прикладной навык обогнал официальные каталоги плагинов, говорит о спросе на готовые процедуры, а не о том, что он находит больше.
Коммиты в репозитории по неделямпоследние 20 недель, api.github.com/stats/participation
Активность сосредоточена в двух всплесках (июнь — запуск, начало сентября — правки), после 14.09.2026 коммитов нет. Это важно при выборе: промпты скилла не обновлялись шесть недель, и на новом агентском рантайме поведение может отличаться.
Редакционные оценки Qantcore
Наша оценка по открытым данным, не результат собственного аудита. Балл за требования снижен из-за песочницы: без неё половина процесса не работает в полную силу.
07Чего этот скилл не делает
Плюсы
Методология вместо чеклиста: покрытие реестром, а не списком пунктов
Находку проверяет не тот агент, который её нашёл
Машинно-проверяемый формат находок со схемой и валидаторами
Прогоны аддитивны: следующий аудит не повторяет прошлый
13 файлов с классами атак под разные типы целей
Минусы
Нужен агент с параллельными субагентами — не каждый подойдёт
Без песочницы ОС процесс деградирует до needs_validation
Репозиторий не обновлялся с 14.09.2026
Не заменяет ручной пентест и не даёт гарантий покрытия
Промпты на английском, русской документации нет
Главная иллюзия, которую нужно снять: «агент найдёт всё». Авторы честно пишут, что один прогон находит примерно половину того, что находит серия прогонов — то есть сам инструмент заявляет, что результат зависит от количества итераций. Формально это не бенчмарк, а наблюдение авторов на их тестах, и мы приводим его именно так.
Юридическая сторона
Скилл предназначен для аудита кода, на который у вас есть право. Запуск такого процесса против чужого сервиса — это уже не аудит, а несанкционированное тестирование, и лицензия MIT тут ничего не разрешает: она про использование кода, а не про разрешение атаковать чужие системы.
08Кому и как этим пользоваться
Берите, если у вас есть изолированное окружение и повторяющийся цикл: свой сервис, регулярные релизы, желание получить проверяемый список находок вместо простыни текста от агента. Начните с одного репозитория, задайте каталог вывода вне рабочей копии и прогоните дважды — второй прогон покажет, работает ли аддитивность на вашем коде. Не берите, если нет песочницы: без неё вы получите отчёт из одних needs_validation и потраченные токены.
Смежное чтение на сайте: общие принципы защиты агентов, отдельный гайд про безопасность агентских архитектур и разбор навыков как формата — по ссылкам ниже.
Это открытый репозиторий организации Cloudflare на GitHub под лицензией MIT. В README сказано, что навык — стартовая точка того harness, который вырос в систему поиска уязвимостей Cloudflare. Поддержки и SLA у репозитория нет, последний push — 14.09.2026.
Нужен ли Claude Code или конкретный агент?
Конкретный вендор не требуется, но нужен агент с вызовом инструментов и параллельными субагентами: фазы 2, 3 и 5 построены на изоляции охотников и независимых проверяющих. Установка идёт через skills CLI, который умеет ставить навык в разные рантаймы.
Можно ли запускать без песочницы?
Технически да, но процесс тогда неполный: по правилам скилла код проверяемого проекта без изоляции не исполняется, и такие лиды остаются в статусе needs_validation без severity. Для недоверенного кода запуск вне песочницы — это исполнение чужого кода с вашими правами.
Заменяет ли это пентест?
Нет. Это методология для агента: она снижает хаос и делает находки проверяемыми, но не даёт гарантий покрытия. Авторы прямо пишут, что один прогон находит примерно половину того, что находит серия прогонов.
Сколько времени занимает один аудит?
Зависит от размера кода и числа субагентов: процесс включает разведку, нарезку реестра, охоту и пофазную проверку каждого кандидата. В README нет нормативов по времени, поэтому планируйте итеративно: первый прогон — черновой, второй и третий добивают пробелы.
Куда попадают результаты и не утекут ли они в репозиторий?
По умолчанию в каталог ~/security-audit-skill//run-. Внутрь репозитория артефакты пишутся только если вы сами указали каталог, игнорируемый системой контроля версий. Отчёт содержит описания уязвимостей, поэтому в общий репозиторий его лучше не коммитить.
Один из самых аккуратных публичных наборов промптов для аудита: реестр покрытия, независимая проверка находок и валидаторы вместо красивых отчётов. Цена — требования к окружению: без песочницы и субагентов половина процесса не работает. Ставить стоит, если аудит у вас повторяется; как разовое средство «проверить всё перед релизом» он даст половину результата.
Что ещё почитать про безопасность агентов
Разборы векторов атак, sandbox-изоляции и валидации tool output — с проверяемыми источниками.