Делаем непрерывные пентесты сервисов благодаря Nulla
Это наш автономный атакующий ИИ-агент, обладающий образом мышления «хакера». Он встраивается в пайплайны, думает как эксперт и подтверждает каждую найденную уязвимость.
В статье показываем его архитектуру, объясняем принципы работы и рассказываем, как он уже сегодня находит логические уязвимости в API и автоматизирует регрессионное тестирование.
Мы столкнулись с тремя ключевыми ограничениями:
- Автоматические сканеры заваливали нас отчетами о вероятных уязвимостях, но не отвечали на главный вопрос: можно ли это реально эксплуатировать в контексте нашего сервиса?
- Ручные аудиты команды Offensive были качественными, но не масштабировались на тысячи сервисов банка.
- AI ускорил разработку, но не сделал ее безопаснее по умолчанию.
Угрозы стали появляться быстрее, чем мы успевали их находить. Стало ясно: безопасность должна идти со скоростью разработки, а базовый минимум сегодня — это непрерывный пентест после каждого релиза.
Мы задались вопросом: можем ли мы запускать полноценный пентест по кнопке, как пайплайн в CI/CD? Классические сканеры не подходили: они пропускали логические уязвимости, которые находят багхантеры. Масштабировать ручные проверки человеческими силами было невозможно. Решением стало объединение опыта наших команд AppSec, Red Team, SOC и других в единую базу знаний и передача ее AI-агенту. Так Nulla научился думать как пентестер: анализировать код, выдвигать гипотезы атак и проверять их.
- Мышление вместо правил: агент задает вопрос «Как это можно сломать?» и исследует исходный код и бизнес-логику.
- Практическая безопасность: он применяет техники реальных хакеров, заложенные нашими экспертами.
- Доказательство вместо предположений: на выходе всегда воспроизводимый Proof-of-Vulnerability с оценкой влияния на бизнес.
- Полный контроль над процессом, а не черный ящик.
Детерминированность и стабильность результата — в отличие от непредсказуемых ИИ-инструментов общего назначения.
Архитектура Nulla модульная и ориентирована на безопасность. Планировщик анализирует код, генерирует гипотезы атак и распределяет задачи между пулом специализированных ИИ-агентов, каждый из которых фокусируется на своем классе уязвимостей. Все потенциально опасные операции — проверка гипотез, запуск эксплойтов — выполняются в изолированной песочнице, чтобы не влиять на реальные сервисы. Результат работы — воспроизводимый Proof-of-Vulnerability, который сопровождается полным аудит-логом.
Одно из направлений работы Nulla — автономный анализ API-контрактов (OpenAPI, GraphQL). Агент не просто сканирует схему, а читает исходный код, чтобы понять бизнес-логику и контекст. Это позволяет находить архитектурные и логические уязвимости из OWASP API Top 10, которые часто невидимы для статических анализаторов (SAST). Например, проблемы с авторизацией (IDOR, Auth Bypass) или инъекции. На валидационном датасете Nulla показывает точность 86% при обнаружении таких уязвимостей.
Другая задача — автоматизация регрессионного тестирования. Когда в Jira попадает описание уязвимости, Nulla может автоматически преобразовать его в работающий эксплойт. Агент синтезирует Proof-of-Concept на основе шаблона и контекста, безопасно запускает его в изоляторе и генерирует подтвержденный PoV. Это позволяет проверять, действительно ли разработчики закрыли уязвимость после фикса или просто поставили заглушку.
Многие legacy-сервисы не имеют актуальной документации API. Nulla решает и эту проблему: сканирует исходный код, идентифицирует роутеры, контроллеры, DTO-модели и схемы авторизации, а затем автоматически генерирует OpenAPI-спецификацию (OAS). Это не только возвращает документацию, но и создает структурированную точку входа для последующего глубокого аудита безопасности самим же агентом.
Мы контролируем качество работы Nulla через набор практических метрик:
- Pass@3 показывает долю уязвимостей, которые агент успешно эксплуатирует за три попытки.
- Signal/Noise и FPR (False Positive Rate) отражают соотношение реальных находок и ложных срабатываний.
- Time-to-First-PoV измеряет скорость реакции системы.
- Cost-per-PoV — экономическую эффективность.
- Coverage оценивает полноту анализа кода и сервиса в целом.