
Фреймворк ИИ-агентов для black-box тестирования безопасности с автономной мультиагентной оркестрацией, встроенными инструментами пентеста и интеграцией MCP для рабочих процессов bug bounty, red-team и тестирования на проникновение.
https://github.com/user-attachments/assets/a67db2b5-672a-43df-b709-149c8eaee975
# Clone
git clone https://github.com/GH05TCREW/pentestagent.git
cd pentestagent
# Setup (creates venv, installs deps)
.\scripts\setup.ps1 # Windows
./scripts/setup.sh # Linux/macOS
# Or manual
python -m venv venv
.\venv\Scripts\Activate.ps1 # Windows
source venv/bin/activate # Linux/macOS
pip install -e ".[all]"
playwright install chromium # Required for browser tool
Создайте файл .env в корне проекта:
ANTHROPIC_API_KEY=sk-ant-...
PENTESTAGENT_MODEL=claude-sonnet-4-20250514
Или для OpenAI:
OPENAI_API_KEY=sk-...
PENTESTAGENT_MODEL=gpt-5
Подойдет любая модель, поддерживаемая LiteLLM.
Направьте PentestAgent на любой OpenAI-совместимый эндпоинт с помощью OPENAI_API_BASE:
OPENAI_API_KEY=your-relay-token
OPENAI_API_BASE=https://relay.example/v1
PENTESTAGENT_MODEL=openai/<model-name-on-your-relay>
Для Anthropic-совместимых эндпоинтов используйте ANTHROPIC_API_BASE вместо этого.
Полные примечания по провайдерам и опции эмбеддингов см. в .env.example.
pentestagent # Launch TUI
pentestagent -t 192.168.1.1 # Launch with target
pentestagent tui --docker # Run tools in Docker container
Запускайте инструменты внутри Docker-контейнера для изоляции и использования предустановленных инструментов пентеста.
# Base image with nmap, netcat, curl
docker run -it --rm \
-e ANTHROPIC_API_KEY=your-key \
-e PENTESTAGENT_MODEL=claude-sonnet-4-20250514 \
ghcr.io/gh05tcrew/pentestagent:latest
# Kali image with metasploit, sqlmap, hydra, etc.
docker run -it --rm \
-e ANTHROPIC_API_KEY=your-key \
ghcr.io/gh05tcrew/pentestagent:kali
# Build
docker compose build
# Run
docker compose run --rm pentestagent
# Or with Kali
docker compose --profile kali build
docker compose --profile kali run --rm pentestagent-kali
Контейнер запускает PentestAgent с доступом к Linux-инструментам пентеста. Агент может использовать nmap, msfconsole, sqlmap и т.д. напрямую через терминальный инструмент.
Требуется установленный и запущенный Docker.
У PentestAgent есть три режима, доступных через команды в TUI:
| Режим | Команда | Описание |
|---|---|---|
| Assist | /assist <task> | Однократная инструкция с выполнением инструментов |
| Agent | /agent <task> | Автономное выполнение одной задачи |
| Crew | /crew <task> | Мультиагентный режим. Оркестратор создает специализированных воркеров |
| Interact | /interact <task> | Интерактивный режим. Общайтесь с агентом, он поможет и будет сопровождать вас в процессе пентеста |
/assist <task> One single-shot instruction.
/agent <task> Run autonomous agent on task
/crew <task> Run multi-agent crew on task
/interact <task> Chat with the agent in guided mode
/target <host> Set target
/tools List available tools
/notes Show saved notes
/report Generate report from session
/memory Show token/memory usage
/prompt Show system prompt
/conversations Browse and restore saved conversations
/mcp <list/add> Visualizes or adds a new MCP server.
/spawn [target] [--scope CIDR] [--model M] [--no-rag] [--no-mcp]
Manually spawn a child MCP agent from the TUI.
/despawn <server_name>
Terminate and remove a previously spawned child agent.
/clear Clear chat and history
/quit Exit (also /exit, /q)
/help Show help (also /h, /?)
Нажмите Esc, чтобы остановить запущенного агента. Ctrl+Q для выхода.
PentestAgent включает готовые атакующие плейбуки для тестирования безопасности методом черного ящика. Плейбуки задают структурированный подход к конкретным оценкам безопасности.
Запуск плейбука:
pentestagent run -t example.com --playbook thp3_web

PentestAgent включает встроенные инструменты и поддерживает MCP (Model Context Protocol) для расширения функциональности.
Встроенные инструменты: terminal, browser, notes, web_search (требуется TAVILY_API_KEY), spawn_mcp_agent
spawn_mcp_agent)spawn_mcp_agent — встроенный инструмент, который позволяет запущенному агенту породить собственную дочернюю копию в качестве подчиненного MCP-сервера, подключенного через stdio. Дочерний процесс полностью изолирован — у него собственный рантайм, LLM-клиент, история диалога и хранилище заметок, — а после порождения полный набор его инструментов внедряется в доступные инструменты родительского агента.
Это позволяет реализовывать иерархические мультиагентные рабочие процессы без внешней оркестрации: агент самоорганизуется, делегируя ограниченные по области подзадачи дочерним агентам, которых порождает по требованию.
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
target | string | — | Цель пентеста для передачи дочернему агенту |
scope | string[] | — | Цели/CIDR, входящие в область действия дочернего агента |
model | string | переменная окружения | Идентификатор модели; переопределяет PENTESTAGENT_MODEL у дочернего агента |
no_rag | boolean | false | Пропустить инициализацию RAG-движка у дочернего агента |
no_mcp | boolean | true | Пропустить подключения к внешним MCP-серверам у дочернего агента (рекомендуется) |
После возврата из spawn_mcp_agent инструменты дочернего агента (run_task, run_task_async, await_tasks и т.д.) становятся доступны при следующем вызове инструмента. Имя сервера дочернего агента назначается автоматически (например, child_agent_1) и возвращается в результате.
Пример — оркестратор делегирует параллельную разведку двум дочерним агентам:
# Turn 1: spawn two isolated child agents
spawn_mcp_agent target="10.0.1.0/24" scope=["10.0.1.0/24"]
spawn_mcp_agent target="10.0.2.0/24" scope=["10.0.2.0/24"]
# Turn 2: children's tools are now available — delegate work asynchronously
child_agent_1__run_task_async task="Full port scan and service enumeration"
child_agent_2__run_task_async task="Full port scan and service enumeration"
# Turn 3: wait and collect
child_agent_1__await_tasks task_ids=["<id1>"] timeout_seconds=600
child_agent_2__await_tasks task_ids=["<id2>"] timeout_seconds=600
child_agent_1__get_task_result task_id="<id1>"
child_agent_2__get_task_result task_id="<id2>"
/spawn и /despawn)Помимо автоматического инструмента spawn_mcp_agent, TUI предоставляет две команды, которые позволяют вручную запускать и завершать дочерних агентов, независимо от выполняющегося цикла агента.