Автономное тестирование безопасности с ИИ
Разработчики из GH05TCREW представили PentestAgent — фреймворк на Python 3.10+, который автоматизирует процессы баг-баунти и «красной команды». В отличие от простых чат-ботов, этот инструмент использует ИИ-агентов для прямого взаимодействия с целевой инфраструктурой через эмуляцию терминала и браузера. Система поддерживает работу с моделями от OpenAI, Anthropic и другими провайдерами через LiteLLM, включая Claude Sonnet 4 (версия 20250514) и GPT-5.
Архитектура: от одиночного агента до «Крей»
Ключевая особенность PentestAgent — гибкая многоагентная архитектура. Агент может действовать автономно, но также способен порождать дочерние процессы (child agents) через протокол MCP (Model Context Protocol). Это позволяет создавать иерархические структуры, где главный агент-оркестратор делегирует подзадачи (например, сканирование разных подсетей) изолированным рабочим агентам, которые возвращают результаты через stdio.
Фреймворк предлагает четыре режима работы:
- Assist: Однократное выполнение инструкции с использованием инструментов.
- Agent: Автономное выполнение одной сложной задачи.
- Crew: Многоагентный режим, где оркестратор управляет специализированными рабочими.
- Interact: Интерактивный режим с пошаговым руководством от ИИ.
Интеграция с инструментами и Playbooks
PentestAgent не просто генерирует текст, он выполняет реальные действия. Встроенные инструменты включают terminal (для запуска nmap, msfconsole, sqlmap, hydra), browser (на базе Playwright/Chromium), web_search (через Tavily) и notes. Для ускорения работы с большими наборами инструментов (>128) реализован RAG-оптимизатор, который через эмбеддинги выбирает только релевантные инструменты, экономя контекстное окно модели.
Система также поддерживает готовые attack playbooks (сценарии атак), например, thp3_web для веб-тестирования, что позволяет стандартизировать процессы проверки.
Безопасность и изоляция через Docker
Для предотвращения случайных повреждений инфраструктуры или заражения хоста, разработчики рекомендуют запускать агентов в Docker-контейнерах. Предоставляются два образа:
- Base: Базовый набор утилит (nmap, netcat, curl).
- Kali: Полная сборка с Metasploit, SQLMap, Hydra и другими инструментами из Kali Linux.
| Компонент | Описание | Технические детали |
|---|---|---|
| Язык | Python | Требует версию 3.10+ |
| ИИ-модели | OpenAI, Anthropic, LiteLLM | Поддержка GPT-5, Claude Sonnet 4, кастомных эндпоинтов |
| Управление агентами | MCP (Model Context Protocol) | Автономное порождение дочерних агентов (self-spawning) |
| Docker | Готовые образы base и kali, поддержка docker-compose | |
| Поиск инструментов | RAG Optimizer | Использует text-embedding-3-small для фильтрации >128 инструментов |
Как начать работу
Установка требует клонирования репозитория и настройки переменных окружения в файле .env. Для запуска в терминале используется команда pentestagent -t <target>. Для тестирования в изолированной среде можно запустить контейнер с ключом API и указанием модели, например: docker run -it --rm -e ANTHROPIC_API_KEY=... ghcr.io/gh05tcrew/pentestagent:kali.
Источник: Github ↗
