Вот вам кейс: нужно провести black-box пентест, но времени на ручное тестирование нет, а отчет завтра. VulnClaw предлагает радикальное решение — отдать весь процесс AI Agent. Просто описываешь цель на естественном языке, а система сама проводит reconnaissance, ищет уязвимости и даже генерирует отчет. Звучит как магия, но под капотом — комбинация MCP (Model-Control-Process) цепочки и LLM.
Как устроен пайплайн
VulnClaw — это не монолит, а набор скоординированных агентов. Вот что происходит после ввода запроса вроде “проверить уязвимости в example.com”:
-
Recon Agent собирает данные через subdomain enumeration, порт-сканирование и краудсорсинговые базы вроде Censys. Использует классические инструменты (Amass, Nmap), но с важным отличием — агент сам решает, какие методы применять, основываясь на первоначальных находках.
-
Vulnerability Assessment Agent анализирует собранные данные через цепочку предикторов. Например, обнаруженный WordPress сразу проверяется на популярные CVE через связку WPScan + Nuclei templates. Здесь работает MCP-логика: модель (LLM) контролирует процесс выбора векторов атаки.
-
Exploitation Agent (опционально) пытается использовать найденные уязвимости. Важный момент — по умолчанию этот этап отключен, чтобы избежать нелегальных действий. Когда включен, агент применяет только эксплойты с гарантированно обратимым воздействием.
На практике пайплайн выглядит так:
# Упрощенная схема работы VulnClaw
target = "example.com"
scanner = VulnClaw(
recon_agents=[SubdomainScanner(), PortScanner()],
assessment_agents=[WPScanner(), NucleiRunner()],
exploitation_mode=False
)
report = scanner.run(
f"Провести поверхностный аудит безопасности {target}",
format="markdown"
)
Где LLM реально помогает, а где мешает
Главный плюс VulnClaw — автоматизация рутинных решений. Когда сканер находит 50 поддоменов, LLM-агент сам решает, какие из них стоит проверять глубже (например, игнорирует dev- и stage-окружения, если не указано иное). Это экономит часы ручной фильтрации.
Но есть и ложка дегтя:
- False positives: LLM иногда переоценивает серьезность найденных “уязвимостей”. В одном из тестов агент посчитал HTTP-сервер без HSTS критической проблемой для внутреннего сервиса.
- Контекстные слепые зоны: сканер может пропустить специфичные для бизнеса уязвимости. Например, не заметит кастомную уязвимость в API, если ее нет в шаблонах Nuclei.
Интересно, что создатели добавили механизм “уверенности” (confidence score). Агент помечает каждый вывод числом от 0 до 1, и это помогает фильтровать мусор:
[+] Найден WordPress 5.4.2 (confidence: 0.92)
[!] Возможен XXE через загрузчик тем (confidence: 0.67) → требует ручной проверки
Для кого это вообще работает
После недели экспериментов я выделил три сценария, где VulnClaw реально полезен:
- Предварительный аудит перед ручным тестированием — быстро дает общую картину безопасности.
- Мониторинг своих активов — можно настроить периодические проверки без участия человека.
- Обучение пентесту — наглядная демонстрация того, как цепочки инструментов взаимодействуют в реальном аудите.
Но для серьезных заказов я бы не стал полагаться только на VulnClaw. Проблема не в технологиях, а в том, что безопасность — это всегда про контекст. Ни один AI Agent пока не понимает разницы между “уязвимостью в демо-окружении” и “дырой в продакшене”.
Что попробовать, если заинтересовались:
- Запустить в demo-режиме против своего тестового стенда
- Поэкспериментировать с кастомными шаблонами для Nuclei
- Подключить свой LLM (поддерживается Claude и GPT-4)
Главный вывод: инструменты вроде VulnClaw — это не замена пентестеру, а его “форсированная” версия. Они берут на себя рутину, но интерпретацию результатов и работу с нюансами все равно приходится делать вручную. Что, впрочем, уже огромный шаг вперед.