ГАЙД 2026 · AGENT SKILLS

Аудит безопасности кода AI-агентом: как работает навык security-audit от Cloudflare

Навык, который превращает кодинг-агента в аудитора: разведка, охота по реестру покрытия, состязательная валидация находок и отчёт, где каждая строка подтверждена источником. Смотрим, как это устроено внутри и что нужно, чтобы запустить у себя.

Agent SkillsБезопасностьOpen Source
Автор навыка CloudflareЛицензия MITОбновлено 01.11.2026

Коротко: security-audit — открытый навык (agent skill) от Cloudflare, который заставляет кодинг-агента проводить аудит безопасности по фиксированному процессу из шести фаз. Агент сначала картует архитектуру и границы доверия, потом охотится за уязвимостями по реестру покрытия, затем отдаёт каждую находку независимому проверяющему, и только подтверждённые записи попадают в отчёт. Репозиторий cloudflare/security-audit-skill — 55 642 звезды и 3 632 форка на 01.11.2026, лицензия MIT.

Как мы это проверяли
Живого аудита чужого кода мы не проводили: гайд собран по README и SKILL.md репозитория, файлам процесса (RECONNAISSANCE.md, HUNTING.md, VALIDATION-AND-REPORTING.md), статье Cloudflare о внутреннем vulnerability harness и метрикам GitHub API. Все числа сняты 01.11.2026 и подписаны источником. Ничего про «сотни найденных CVE» здесь нет — таких публичных цифр у навыка не заявлено.
55 642
Звёзд на GitHub
GitHub API, 01.11.2026
3 632
Форков
там же
6
Фаз процесса
README, раздел What it does
MIT, JS
Лицензия и язык
там же

01Что такое agent skill и почему аудит стал навыком

Agent skill — это папка с файлом SKILL.md и вспомогательными материалами, которую агент подгружает по триггеру. Спецификация описана на agentskills.io: frontmatter с именем и описанием, тело с инструкциями, при необходимости — дополнительные файлы, которые читаются только когда до них дошла работа. Для аудита безопасности такой формат оказался удобен тем, что процесс можно описать один раз и не пересказывать его в каждом промпте.

Внутри security-audit лежит не «промпт про безопасность», а регламент: что считать находкой, какие артефакты создаются на каждой фазе, кто и как проверяет кандидата, в каком виде выходит отчёт. Ключевая мысль авторов: кандидат без конкретного затронутого субъекта, ресурса или последствия для безопасности не является подтверждённой находкой. Это отсекает главную болезнь LLM-аудитов — правдоподобные, но пустые «уязвимости» из чек-листа.

Cloudflare не скрывает происхождение навыка: это публичная, урезанная до одного репозитория версия внутреннего harness, описанного в статье Build your own vulnerability harness. Внутри компании harness вырос в многостадийную систему для целого парка репозиториев; здесь — стартовая точка, которую можно поставить в любой агент.

Как навык появился
18.06.2026Репозиторий созданcloudflare/security-audit-skill,лицензия MITлето 2026Статья о harnessCloudflare описывает внутреннююсистему, из которой вырос навык01.11.202655,6 тыс. звёзд11 908 звёзд за неделю — верхGitHub Trending

02Шесть фаз: от карты архитектуры до отчёта

Процесс линеен только на бумаге: фазы возвращаются назад, если проверяющий нашёл дыру в доказательстве. Ниже — что делает родительский агент, какой артефакт остаётся после фазы и чем эта фаза проверяется.

Конвейер аудита
11. Разведкаarchitecture.md, coverage-ledger.json: архитектура, границы доверия, поверхности ввода22. Охота по рееструИзолированные hunters получают юниты реестра, coverage critics ищут пробелы33. Валидация кандидатовКаждого кандидата получает свежий verifier и пытается его опровергнуть44. Структурный выходfindings.json: confirmed, needs_validation, rejected + проверка по report-schema.json55. Независимая проверкаНовые агенты перепроверяют claims по исходникам; замены — ещё одному проверяющему66. ОтчётREPORT.md, FINDINGS-DETAIL.md, NEEDS-VALIDATION.md из подтверждённых записейКаждая фаза оставляет файл, который читает следующая
ФазаАртефактЧем проверяется
1. Разведкаarchitecture.md, coverage-ledger.jsonvalidate-coverage-ledger.cjs
2. Охотазаписи проверок по юнитам реестраобновление ledger + тот же валидатор
3. Валидациякандидаты с попыткой опровержениясвежий verifier, не автор находки
4. Выходfindings.jsonvalidate-findings.cjs + report-schema.json
5. Перепроверказамены материальных claimsнезависимый агент на каждую замену
6. ОтчётREPORT.md и два приложенияderive из проверенных записей
Артефакты и валидаторы по фазам
Валидаторы — zero-dependency скрипты на Node.js, лежат в репозитории навыка.

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

03Установка и первый запуск

Установка идёт через Skills CLI. Команда ставит навык в выбранный агент; флаг --global делает установку пользовательской, без него навык привязан к проекту. Список поддерживаемых агентов и неинтерактивные флаги смотрите в npx skills --help — набор хостов меняется, поэтому конкретные имена лучше сверять на месте.

Три шага до первого аудита
1
Поставить навык
Из корня проекта или глобально — на выбор
terminalcopy
npx skills add https://github.com/cloudflare/security-audit-skill \
  --skill security-audit
2
Запустить агента в репозитории
Навык активируется сам по триггеру: security audit, find vulnerabilities, pen-test the code
agentcopy
security audit this codebase
3
Забрать артефакты
По умолчанию отчёт уходит вне репозитория, в ~/security-audit-skill//run-
terminalcopy
ls ~/security-audit-skill/my-project/run-1

Требования короткие, но жёсткие: агент с поддержкой инструментов и параллельных субагентов, Node.js для валидаторов и — главное — песочница, навязанная операционной системой, для запуска сборок, тестов, браузеров и фаззеров проверяемого проекта. Песочница обязана отключать внешнюю сеть, давать пустое окружение по белому списку, ограничивать CPU, память, процессы, размер файлов и время, а писать разрешать только в выделенный scratch-каталог.

Без песочницы процесс деградирует намеренно
Если хотя бы одно условие песочницы не выполняется, навык не запускает код проверяемого проекта: он фиксирует отсутствующую возможность как блокер needs_validation и предлагает безопасный план проверки. Это не баг, а решение авторов — «аудит», который выполнил чужой build-скрипт на рабочей машине, заканчивается плохо.

04Два режима: справка и полный аудит

Навык не стартует полный процесс на любой вопрос про безопасность. По умолчанию он работает в режиме guidance: отвечает по существу, при необходимости поднимает точечных агентов, но не создаёт каталог вывода и не пишет артефакты. Полный аудит включается только явной просьбой — «проведи аудит кодовой базы», «полный security review», «pentest» — либо когда пользователь просит именно файлы отчёта.

КритерийGuidanceFull audit
Когда включаетсявопрос, разбор находки, методикаявный запрос аудита или пентеста
Фазытолько релевантныевсе шесть
Каталог выводане создаётся~/security-audit-skill/…
Артефактынетledger, findings, отчёты
Повторные прогоныне ведутсядополняют прошлые
Чем режимы отличаются на практике

Отдельно стоит правило про повторные запуски. Несколько прогонов по одному репозиторию складываются: навык читает прежние ledger и findings, целится в пробелы, перепроверяет изменившийся код и переносит актуальные доказательства. Устаревшая или незакрытая работа при этом не считается покрытой — иначе второй прогон лишь повторял бы первый.

Границы, за которые навык не выходит
Проверять развёрнутые эндпоинты, чужие сервисы, общую инфраструктуру, боевые идентичности и данные других пользователей нельзя. Нагрузочные проверки доступности живого процесса, публикация артефактов, изменение релизов и трата платной квоты API — тоже. Если решающий факт лежит вне исходников и песочницы, он уходит в needs_validation, а не в confirmed.

05Что на выходе и как это читать

Главный файл — findings.json. В нём три разных вердикта, и путать их нельзя: confirmed — полный след до источника и ограниченный наблюдаемый результат; needs_validation — точный нерешённый факт без оценки критичности; rejected — опровергнутый кандидат. Отчёт REPORT.md, детализация FINDINGS-DETAIL.md и список нерешённого NEEDS-VALIDATION.md выводятся из этих записей, а не пишутся отдельно — поэтому текст отчёта не может разойтись с данными.

Правила оценки тоже прописаны. Критичность считается как вероятность, умноженная на последствия, а не как отклонение от чек-листа. Пробел в эшелоне защиты не считается уязвимостью: если слой A атаку предотвращает, отсутствие слоя B — это заметка про усиление, а не находка. Такая дисциплина экономит время: отчёт не тонет в «рекомендациях», которые невозможно проверить.

Карточка навыка
АвторCloudflare
Репозиторийcloudflare/security-audit-skill
ЛицензияMIT
Состав22 файла: 15 markdown-инструкций, JSON-схема, валидаторы и тесты
Установкаnpx skills add … --skill security-audit
Зависимостиагент с субагентами + Node.js; сторонних пакетов нет
Выходfindings.json, REPORT.md, FINDINGS-DETAIL.md, NEEDS-VALIDATION.md
Из чего состоит репозиторий
68%18%9%22файлаMarkdown-инструкции15 · 68%Валидаторы и тесты (.cjs)4 · 18%README и LICENSE2 · 9%JSON-схема отчёта1 · 5%
Подсчёт по git tree репозитория: skills/security-audit — 15 .md, 4 .cjs, 1 .json, плюс README и LICENSE в корне.

06Где навык стоит в экосистеме и чего от него не ждать

Agent skills — самый быстрорастущий сегмент вокруг кодинг-агентов. По звёздам на GitHub видно, что это уже не эксперимент: у superpowers 310 244 звезды, у публичного репозитория навыков Anthropic — 186 033. security-audit с его 55 642 звёздами — узкий, но очень плотный представитель класса: не универсальный набор, а один процесс, доведённый до валидируемых артефактов.

Звёзды репозиториев навыковGitHub API, снято 01.11.2026
0★200 000★400 000★obra/superpowers310 244★anthropics/skills186 033★pbakaus/impeccable98 613★cloudflare/security-audit-skill55 642★Nutlope/hallmark44 193★AgriciDaniel/claude-seo25 173★
Числа — stargazers_count на момент съёма. Звёзды показывают интерес, а не качество кода: у части проектов репозиторий обновлялся недели назад.

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

  • Навык не заменяет пентест: он систематизирует поиск и доказательства, но не гарантирует полноту.
  • Стоимость зависит от модели агента и числа субагентов — фиксированной цены у навыка нет (сам код бесплатный, MIT).
  • Один прогон даёт лишь часть результата; ценность накапливается с повторными запусками по реестру покрытия.
  • Без OS-песочницы динамическая часть вырождается в чтение исходников и пометки needs_validation.
  • Отчёт пригоден для внутреннего процесса: каждая строка тянется до файла и строки, а не до «экспертного мнения».

Частые вопросы

Что такое agent skill и зачем он нужен для аудита безопасности?
Agent skill — папка с файлом SKILL.md и вспомогательными материалами, которую агент подгружает по триггеру. В случае security-audit навык задаёт фиксированный процесс из шести фаз, требования к доказательствам и формат артефактов, поэтому результат не зависит от того, как агент «понял» просьбу в конкретный день.
Нужна ли песочница, чтобы запустить аудит?
Для полного режима — да, причём навязанная ОС: без внешней сети, с пустым окружением по белому списку, лимитами на CPU, память, процессы, файлы и время и записью только в scratch. Если хотя бы одно условие не выполняется, навык не запускает код проверяемого проекта и помечает находки как needs_validation.
Сколько стоит security-audit?
Сам навык бесплатный: код открыт под MIT, сторонних зависимостей нет, валидаторы написаны на Node.js без пакетов. Платными остаются модель и субагенты вашего агента — цену считайте по тарифу провайдера, фиксированной ставки у навыка нет.
Заменяет ли такой аудит работу пентестера?
Нет. Навык систематизирует поиск, проверку и документирование находок, но полноту не гарантирует; авторы прямо пишут, что один прогон находил примерно половину того, что давали повторные. Решения об эксплуатационной критичности и праве на эксплуатацию остаются за командой.
Как поставить навык в свой агент?
Командой npx skills add https://github.com/cloudflare/security-audit-skill --skill security-audit; флаг --global ставит его на уровень пользователя. Дальше агент запускается в репозитории и получает задачу «security audit this codebase» — навык активируется по триггеру. Актуальный список хостов и флагов — в npx skills --help.

Источники и официальные ссылки

Вердикт Qantcore
8,4/ 10
security-audit — редкий пример навыка, где процесс важнее промпта: шесть фаз, три вердикта находок и валидаторы на выходе дают аудит, который можно перепроверить. Требования к песочнице и честные ограничения отсекают половину читателей, но именно они делают результат пригодным для внутреннего процесса. Ставим 8,4 из 10 за дисциплину доказательств и прозрачность границ; минус — за то, что без инфраструктуры субагентов и песочницы половина замысла остаётся на бумаге.
Что почитать дальше
Разобрались с навыками агентов и хотите сравнить сами агенты? В каталоге — обзоры кодинг-агентов и браузерных агентов с одинаковой методикой оценки.