От «возможно» к «подтверждено»: новая дисциплина в AI-пентесте
Команда разработчиков представила VERDICT — автономного агента для тестирования веб-приложений и API, который решает главную проблему современных AI-сканеров: высокий процент ложноположительных результатов. В отличие от традиционных инструментов, которые просто «сканируют» поверхность атаки, VERDICT работает по принципу судебного вердикта: находка считается confirmed (подтвержденной) только при наличии неопровержимых доказательств.
Агент использует модель Claude для планирования и выполнения атак, но ключевое отличие — в механике подтверждения. Уязвимость засчитывается только если:
- Негативный контроль провалился: безопасный запрос вернул ошибку (например, 401 Unauthorized).
- Положительные повторы успешны: атака воспроизведена минимум дважды с одинаковым результатом (например, 200 OK и получение JWT-токена администратора).
Это исключает из отчета «шумные» 200-е коды, мягкие 404 и нестабильные ответы, которые часто путают с уязвимостями.
Результаты бенчмарков: точность и автономность
Разработчики провели строгое тестирование на двух осях: точность обнаружения (на известных уязвимостях) и автономное исследование (на неизвестных приложениях). VERDICT показал выдающиеся результаты, особенно в сложных сценариях с защитой.
| Бенчмарк / Среда | Метрика | Результат VERDICT | Примечание |
|---|---|---|---|
| XBOW-Bench (XBEN-24) | Точность обнаружения (Hit-rate) | 92% (100/109) | Без подсказок от бенчмарка: 100% (91/91) |
| PortSwigger Web Security Academy | Сложные уровни (Expert + Practitioner) | 16/20 обнаружено | 12 подтверждено через защиту (CSP, HMAC, кэширование). 3 чистых пропуска. |
| OWASP Juice Shop | Автономное исследование (1 URL) | 38 подтвержденных находок | 16 классов уязвимостей, включая критический SQLi для обхода авторизации. |
Как работает архитектура: от разведки до отчета
VERDICT не полагается на случайность. Процесс строго сегментирован, чтобы модель не «пропускала» шаги. Каждый этап — это один запрос к LLM с ограниченным списком инструментов:
- Survey (Разведка): Агент строит карту экранов и API, включая POST-формы.
- Methodology (Методология): Для каждого экрана создается план атаки.
- Diagnosis (Диагностика): Проверка уязвимостей на одном экране с обязательным покрытием всех классов атак.
- Scenario A04 (Логика): Многошаговые атаки (например, наложение купонов, отрицательные количества товаров) с использованием дифференциального оракула.
- Burp Scan (Инъекции): Интеграция с Burp Suite для проверки инъекций (SQLi, XSS) на аутентифицированной сессии.
Агент умеет работать за логинами, используя Bearer-JWT токены или импортируя сессии из Burp. Это позволяет тестировать «коронные жемчужины» приложений — админ-панели и приватные API, которые обычные сканеры пропускают из-за 401 ошибок.
Технические детали и запуск
VERDICT — это open-source решение на Node.js (требует Node >= 24 и pnpm). Агент управляет реальным браузером (Chromium) и HTTP-клиентом, транслируя все действия в живую WebUI на базе React.
Для быстрого старта достаточно одной команды, указывающей на цель или манифест области тестирования:
node packages/cli/dist/main.js pilot --url https://app.example.com
Или запуск сканирования API по Swagger-спецификации:
node packages/cli/dist/main.js spec-import --spec swagger.json --url https://api.example.com
Результаты экспортируются в Markdown, HTML, PDF, CSV и даже в виде OpenAPI-спецификации всех найденных эндпоинтов. Все доказательства (запросы и ответы) сохраняются в журнале, позволяя аудиторам проверить каждый шаг агента вручную.
Источник: Github ↗
