Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
autopentest-ai — Агентный MCP-сервер для пентестинга, который обнаруживает, эксплуатирует и сообщает об уязвимостях веб-приложений. | Kitploit
Инструменты/GitHubGitHub/bhavsec/autopentest-ai
Фреймворки для пентестаРазведкаСканеры уязвимостейФреймворки для эксплойтовЭксплуатация веб-приложенийСбор информацииОбход WAFВеб-безопасностьТестирование на ПроникновениеОбучение и ОбразованиеКраулер
210536 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
GitHub
bhavsec/autopentest-ai

autopentest-ai

Агентный MCP-сервер для пентестинга, который обнаруживает, эксплуатирует и сообщает об уязвимостях веб-приложений.

Репозиторий

Тесты WSTG Руководства PortSwigger Инструменты MCP Инструменты безопасности Обход WAF Основано на доказательствах Лицензия

AutoPentest

Агентный MCP-сервер для пентеста, автоматизирующий тестирование на проникновение веб-приложений с использованием полного руководства OWASP по тестированию безопасности веб-приложений и ссылок на техники PortSwigger Web Security Academy.

Укажите цель — он сканирует ваше приложение, картографирует каждую конечную точку, затем порождает специализированных по ролям агентов (Scout, Analyzer, Exploiter, Reporter) для тестирования на XSS, SQLi, SSRF, SSTI, IDOR и другое. Никаких ложных срабатываний — каждое обнаружение подкреплено реальными, воспроизводимыми доказательствами с контрольными точками качества, обеспечивающими подтверждение на каждом этапе. Включает 31 руководство по техникам PortSwigger, адаптивный обход WAF для 12 вендоров, межфазовое связывание уязвимостей и приоритизацию конечных точек с учетом риска. Запускайте с Claude Code, API или полностью офлайн, используя модели Ollama.

Воспринимайте это как: Методологию старшего пентестера, закодированную в MCP-сервере — 109 тестов OWASP, 31 руководство по атакующим техникам PortSwigger, 68+ инструментов MCP, 27 инструментов безопасности, 4 специализированные роли агентов, 7 структурированных фаз, автоматическое обеспечение качества и финальный обзор без контекста.


Вывод CLI AutoPentest

Содержание

  • Зачем AutoPentest?
  • Архитектура
  • Возможности
  • Система ролей агентов
  • Быстрый старт
  • Использование
  • Фазы тестирования
  • Инструменты безопасности
  • База знаний WSTG
  • Руководства по техникам PortSwigger
  • Система обеспечения качества
  • Бенчмаркинг
  • Пример отчёта
  • Конфигурация
  • Многодоменное тестирование
  • Восстановление после сбоя
  • Структура проекта
  • Требования
  • Часто задаваемые вопросы
  • Отказ от ответственности

Зачем AutoPentest?

Ручное тестирование на проникновение тщательное, но медленное. Автоматизированные сканеры быстрые, но поверхностные. AutoPentest устраняет этот разрыв:


Архитектура```

┌─────────────────────────────────────────────────────────────┐ │ LLM Orchestrator (Claude) │ │ │ │ Reads CLAUDE.md workflow, manages phases, │ │ spawns role-specialized subagents │ └──────────┬──────────┬──────────┬──────────┬─────────────────┘ │ │ │ │ ┌─────▼────┐ ┌───▼─────┐ ┌──▼───────┐ ┌▼─────────┐ │ Scout │ │Analyzer │ │Exploiter │ │ Reporter │ │ (recon) │ │ (vuln │ │ (proof) │ │ (QA / │ │ │ │ disc.) │ │ │ │ judge) │ └──────────┘ └─────────┘ └──────────┘ └──────────┘ │ │ │ │ │ MCP │ │ MCP │ ▼ ▼ ▼ ▼ ┌──────────────────────────┐ ┌──────────────────────┐ │ WSTG MCP Server │ │ Playwright MCP │ │ (68+ tools) │ │ (Browser Testing) │ │ │ │ │ │ ◦ 109 WSTG tests │ │ ◦ DOM XSS proof │ │ ◦ 31 technique guides │ │ ◦ Clickjacking │ │ ◦ Task tree │ │ ◦ JS-rendered auth │ │ ◦ Knowledge graph │ └──────────────────────┘ │ ◦ WAF evasion │ │ ◦ Tool output parser │ │ ◦ Results verification │ docker exec │ ◦ Context compression │ │ │ ◦ Endpoint priority │ ▼ │ ◦ Quality gates │ ┌──────────────────────┐ │ ◦ Report generation │ │ autopentest-tools │ └──────────────────────────┘ │ (Docker Container) │ │ │ │ 27 security tools: │ │ nuclei, sqlmap, │ │ dalfox, katana, │ │ ffuf, nmap ... │ │ │ │ Burp proxy │ │ passthrough │ └──────────────────────┘

root@kitploit:~
**Как это работает:**

1. **Claude Code** читает `CLAUDE.md` для полной методологии пентеста и оркестрирует 7-фазный рабочий процесс
2. **Специализированные по ролям саб-агенты** (Scout, Analyzer, Exploiter, Reporter) выполняют целенаправленные задачи с выделенными шаблонами подсказок, инструкциями по инструментам и антипаттернами
3. **WSTG MCP Server** (68+ инструментов) предоставляет процедуры тестирования OWASP, 31 руководство по техникам PortSwigger, иерархическое дерево задач, граф знаний, обход WAF, приоритизацию конечных точек, верификацию результатов, сжатие контекста, качественные шлюзы и генерацию отчетов
4. **Docker-контейнер** запускает все 27 инструментов безопасности — трафик опционально маршрутизируется через Burp Suite для пассивного мониторинга
5. **Playwright MCP** обрабатывает тестирование на основе браузера (DOM XSS, кликджекинг, JS-рендеринг страниц входа)

---

## Возможности

### Комплексное покрытие OWASP
- **109 тестовых случаев WSTG** по 12 категориям — от сбора информации до тестирования API
- Каждый тест включает пошаговые CLI-процедуры, контекстно-зависимые полезные нагрузки, критерии обнаружения и шкалы серьезности
- Тесты приоритезированы (MUST/SHOULD) с условными триггерами, чтобы ничего релевантного не было пропущено

### 31 руководство по техникам атак PortSwigger
- Взяты из [PortSwigger Web Security Academy](https://portswigger.net/web-security) — методы обнаружения, техники эксплуатации, полезные нагрузки, шпаргалки и паттерны обхода WAF
- Организованы по классам уязвимостей (SQLi, XSS, SSRF, JWT, OAuth и т.д.) для прямого использования во время тестирования
- Интегрированы в каждую фазу тестирования — агенты автоматически загружают соответствующее руководство перед тестированием каждого класса уязвимостей
- Таблицы полезных нагрузок для конкретных баз данных/платформ (Oracle vs MySQL vs PostgreSQL vs MSSQL для SQLi, Jinja2 vs Twig vs Freemarker для SSTI и т.д.)
- Паттерны обхода WAF, организованные по уровню обхода (базовый → средний → продвинутый)

### 27 предварительно настроенных инструментов безопасности
- Все инструменты предустановлены в одном Docker-образе — `make setup` и вы готовы
- Инструменты организованы по фазам: обнаружение, тестирование инъекций, аутентификация, криптография, тестирование API
- Автоматическая интеграция с прокси Burp Suite для пассивного мониторинга трафика

### Структурированный 7-фазный рабочий процесс
- **Фаза 0:** Обнаружение и картографирование приложения
- **Фаза 1:** Сбор информации и разведка
- **Фаза 2:** Тестирование конфигурации и развертывания
- **Фаза 3:** Тестирование идентификации, аутентификации, авторизации и управления сессиями
- **Фаза 4:** Тестирование проверки ввода (конвейеры XSS/SQLi/SSRF)
- **Фаза 5:** Тестирование обработки ошибок, криптографии, бизнес-логики, клиентской части и API
- **Фаза 6:** Проверка покрытия и составление отчетов
- **Фаза 7:** Финальная рецензия судьи и устранение

### Система контроля качества
- **Автоматизированные фазовые шлюзы** — каждая фаза должна пройти проверки качества перед продолжением
- **Суб-агент Quality Reviewer** на каждом переходе между фазами выявляет пробелы и предлагает улучшения
- **Финальный судья** — агент с нулевым контекстом проверяет все взаимодействие с холодной головой, как внешний QA-рецензент
- **Шлюзы исчерпания** — "не уязвимо" требует доказательства достаточности усилий по тестированию (минимальное количество техник и попыток обхода)

### Доказательные находки
- Каждая находка требует воспроизводимых команд curl и полных доказательств запрос/ответ
- **Трехуровневая классификация:** EXPLOITED (доказанное влияние), POTENTIAL (заблокировано контролем), FALSE_POSITIVE (контроль срабатывает)
- **Анти-галлюцинационный фреймворк** — "нет эксплойта = нет находки" применяется на каждом уровне
- Чеклисты доказательств для каждого класса уязвимостей проверяются до того, как находка будет зарегистрирована

### Специализированные по ролям суб-агенты
- **4 выделенные роли** с целенаправленными шаблонами подсказок, инструкциями по инструментам и антипаттернами:
  - **Scout** — только разведка, картографирует поверхность атаки без отправки полезных нагрузок (Фаза 0-1)
  - **Analyzer** — выявляет потенциальные точки вброса с помощью канареечных/свидетельских полезных нагрузок, строит очереди эксплуатации (Фаза 2-5 анализ)
  - **Exploiter** — потребляет вывод Analyzer, доказывает эксплуатацию с доказательствами, регистрирует подтвержденные находки (Фаза 4 эксплуатация)
  - **Reporter** — проверка качества и финальный судья, просматривает данные без отправки запросов (QA + после отчета)
- Контрольная точка валидации между анализом и эксплуатацией предотвращает напрасные усилия
- Каждая роль имеет явные списки разрешенных/запрещенных инструментов и контракты ввода/вывода

### Конвейерная эксплуатация (Фаза 4)
- 3 независимых **двухстадийных конвейера** работают параллельно: XSS, Инъекции (SQLi/CMDi), SSRF/SSTI
- Каждый конвейер: Analyzer (обнаружение → анализ → постановка в очередь) → контрольная точка валидации → Exploiter (эксплуатация → логирование)
- Каждый конвейер загружает свое руководство по техникам PortSwigger для методов обнаружения, шпаргалок и паттернов обхода WAF
- Интеллект WAF используется всеми конвейерами
- Контекстно-зависимые свидетельские полезные нагрузки для 13 типов точек вброса

### Адаптивный обход WAF
- **Автоматическое определение WAF** по заголовкам ответа, телу и кодам состояния — идентифицирует 12 поставщиков WAF (Cloudflare, AWS WAF, Akamai, Imperva, ModSecurity, F5, FortiWeb, Sucuri, Barracuda, Wordfence, NAXSI, Citrix)
- **Специфичные для поставщика полезные нагрузки обхода**, организованные по уровню сложности (базовый → средний → продвинутый)
- Интеллект WAF используется всеми агентами через систему артефактов (deliverable)
- Агенты автоматически определяют WAF при первом заблокированном ответе и переключаются на адаптированные полезные нагрузки обхода

### Межфазовый граф знаний
- **Граф сущностей-связей** отслеживает конечные точки, параметры, технологии, находки, cookies, домены и роли пользователей
- **Автоматическое связывание уязвимостей** через поиск путей BFS с 7 предопределенными паттернами цепочек:
  - XSS + отсутствие CSP, XSS + слабая cookie (без HttpOnly), Open redirect + колбэк OAuth
  - IDOR + роль администратора, SSRF + облачные метаданные, Отсутствие блокировки + отсутствие MFA, CORS + чувствительная конечная точка
- Повышение серьезности, когда связывание существенно увеличивает влияние
- Заполняется в ходе тестирования, запрашивается после Фазы 4 для поиска цепочек

### Иерархическое дерево задач
- Устойчивая древовидная структура (фазы как ветви, тесты как листья) предотвращает смещение LLM в глубину и потерю контекста
- Основной агент поддерживает стратегический макровзгляд; суб-агенты обновляют только назначенные им листовые узлы
- Автоматическое распространение: когда все дочерние узлы завершены, родительский автоматически завершается
- Проценты завершения на уровне фаз для принятия информированных решений

### Приоритизация рисков конечных точек
- Оценка и сортировка конечных точек по риску для приоритетного тестирования — самые рискованные проверяются первыми
- Факторы оценки: количество параметров, индикаторы риска технологий, уверенность в цепочке заражения, сходимость инструментов, требования к аутентификации, имена инъекционных параметров
- Интегрировано в генерацию карты конечных точек Фазы 0

### Разбор вывода инструментов
- **13 встроенных парсеров** для распространенных CLI-инструментов (nmap, nuclei, sqlmap, ffuf, httpx, whatweb, testssl, nikto, dalfox, katana, gau, wapiti, commix)
- Сжимает сырой вывод инструментов в 3-5 раз, сохраняя ключевые находки, конечные точки и ошибки
- Настраиваемая подробность: резюме (~15 строк), подробно (~50 строк), полный (весь разобранный вывод)

### Верификация результатов CLI-инструментов
- Автоматическая проверка качества вывода CLI-инструментов — обнаруживает пустой вывод, ошибки прокси, проблемы с разрешениями и подозрительные результаты
- **10 валидаторов по инструментам** (nmap, nuclei, sqlmap, ffuf, feroxbuster, testssl, dalfox, wapiti, katana, httpx) с предложениями исправленных команд
- Когда инструмент выдает пустой или подозрительный вывод, валидатор предлагает исправления (например, добавить `-Pn` для nmap, удалить переменные окружения прокси, попробовать другие флаги)
- Интегрировано в рабочий процесс выполнения инструментов — агенты вызывают `verify_tool_result()` после каждого запуска CLI-инструмента

### Прогрессивное сжатие контекста
- **Сводки по фазам** (~500-800 слов) автоматически генерируются при прохождении фазовых шлюзов — захватывают находки, покрытие, результаты инструментов и поверхность атаки в сжатой форме
- Предотвращает деградацию контекста в длительных взаимодействиях, заменяя необработанные исторические данные структурированными сводками
- `get_engagement_summary()` объединяет все сводки по фазам в единый обзор для вставки в подсказки новых суб-агентов
- Сводки хранятся как артефакты — доступны любому последующему агенту без необходимости полной истории взаимодействия

### Контрфактический анализ (Второй проход обнаружения)
- После того как Analyzer завершает работу с найденными уязвимостями, порождается **второй Analyzer** с инструкцией "предположить, что эти уязвимости исправлены"
- Контрфактический Analyzer ищет **дополнительные** уязвимости: другие конечные точки, другие параметры, другие контексты инъекций, логические ошибки
- Результаты добавляются в существующую очередь эксплуатации (автоматическое слияние с дедупликацией по конечной точке+параметру и автоинкрементными ID)
- Основано на исследовании PenHeal ablation, показывающем +71% покрытия уязвимостей с контрфактическими подсказками

### Поддержка нескольких доменов
- Автоматическое обнаружение и обработка SSO/OAuth/OIDC/SAML
- Регистрация, обход и тестирование в рамках каждого домена
- Управление cookie jar для поддержания сессии между доменами
- Эскалация отказа аутентификации по 6 уровням (альтернативные гранты → PKCE → безголовый браузер → извлечение токена → предоставление пользователя → неаутентифицированный)

### Управление взаимодействием с защитой от сбоев
- `findings.md` и `progress.log` с добавлением только данных, переживают сбои
- Контрольные точки Git-рабочего пространства с возможностью отката
- **Автовозобновление при прерывании** — `resume-prompt.md` автоматически генерируется на каждой контрольной точке с полным контекстом (цель, учетные данные, текущая фаза, оставшиеся тесты, область). Вставьте в новый сеанс, чтобы продолжить с того же места
- Детализация контрольных точек внутри фазы — отслеживает, какие тесты внутри фазы завершены, а не только состояние на уровне фаз
- Полный аудиторский след каждого вызова MCP-инструмента с временными метками

### Профессиональная отчетность
- Отчеты в Markdown с исполнительным резюме, находками по серьезности, матрицей покрытия тестов и покрытием инструментов
- Проценты покрытия по категориям и анализ пробелов
- Документированный анализ цепочек уязвимостей
- Включены наблюдения окончательного судьи и заметки по качеству

---

## Система ролей агентов

AutoPentest использует 4 специализированные роли агентов вместо общих суб-агентов. Каждая роль имеет выделенный шаблон подсказки с целенаправленными инструкциями по инструментам, контрактами ввода/вывода и антипаттернами.

| Роль | Шаблон | Назначение | Фазы |
|------|--------|------------|------|
| **Scout** | `templates/agent-roles/scout.md` | Разведка и картографирование поверхности атаки | Фаза 0-1, обнаружение исходного кода |
| **Analyzer** | `templates/agent-roles/analyzer.md` | Обнаружение уязвимостей с канареечными/свидетельскими полезными нагрузками | Фаза 2-5 анализ |
| **Exploiter** | `templates/agent-roles/exploiter.md` | Доказательство эксплуатации с доказательствами | Фаза 4 эксплуатация |
| **Reporter** | `templates/agent-roles/reporter.md` | Проверка качества и финальный судья | Переходы между фазами, после отчета |

### Как работает конвейер

Фаза 4 (тестирование наибольшего влияния) использует двухстадийный конвейер для каждого класса уязвимостей:```
┌──────────────────────────────────────────────────────────────┐
│                    Pipeline 1: XSS                           │
│                                                              │
│  Analyzer (75 turns)          Exploiter (75 turns)           │
│  ┌─────────────────────┐      ┌─────────────────────┐        │
│  │ Discover endpoints  │      │ Load Analyzer queue │        │
│  │ Send canary payloads│─────▶│ Attempt exploitation│        │
│  │ Build exploit queue │ gate │ Prove impact        │        │
│  │ Save deliverable    │      │ Log findings        │        │
│  └─────────────────────┘      └─────────────────────┘        │
│                          ▲                                   │
│               validate_exploitation_queue()                  │
└──────────────────────────────────────────────────────────────┘

Три конвейера (XSS, Injection, SSRF/SSTI) выполняются параллельно. Контрольная точка проверки между Analyzer и Exploiter гарантирует, что только корректно сформированные очереди эксплойтов переходят далее.

Границы ролей

Каждая роль имеет явные ограничения на инструменты, применяемые через промпты:

  • Scouts не могут вызывать log_finding() или отправлять атакующие нагрузки
  • Analyzers могут регистрировать находки по конфигурации (отсутствующие заголовки, слабые cookie), но не находки класса инъекций
  • Exploiters не могут создавать новые очереди — они потребляют то, что произвел Analyzer
  • Reporters не могут отправлять HTTP-запросы к цели — они только просматривают данные

Для CTF-задач и небольших приложений (<3 входные точки) доступен устаревший монолитный конвейер в качестве запасного варианта.


Быстрый старт

Предварительные требования

  • Docker (Docker Desktop на macOS/Windows, Docker Engine на Linux)
  • Claude Code CLI с активным ключом API Anthropic
  • uv (менеджер пакетов Python для MCP-сервера)
  • Node.js (для MCP-сервера Playwright)
  • Опционально: Burp Suite Professional для пассивного мониторинга трафика

Установка```bash

1. Clone the repository

git clone https://github.com/bhavsec/autopentest-ai.git cd autopentest-ai

2. Install Python dependencies for the MCP server

cd server && uv sync && cd ..

3. Build Docker image and start the tools container

make setup

root@kitploit:~
Вот и всё. Все 27 инструментов безопасности теперь установлены и готовы к работе внутри Docker-контейнера.

### Проверка установки```bash
# Check all tools are installed
make verify-tools

# Expected output:
# [+] nuclei: installed
# [+] httpx: installed
# [+] katana: installed
# ... (27 tools total)

Начать тестирование```bash

Launch Claude Code in the project directory

claude

root@kitploit:~
Затем скажите Клоду, что тестировать:```
Run a full WSTG assessment against https://target.example.com

Использование

Вариант A: Интерактивный режим

Запустите Claude Code и укажите цель:``` Run a full pentest against https://app.example.com

Credentials: admin / P@ssw0rd123

root@kitploit:~
Claude запросит недостающую информацию (например, учетные данные) и начнет 7-этапный рабочий процесс.

### Вариант B: Режим на основе конфигурации (рекомендуется)

Создайте YAML-файл конфигурации для повторяемых и согласованных оценок:```yaml
# configs/my-target.yaml
target:
  url: https://app.example.com
  scope:
    - app.example.com
    - api.example.com
  exclude:
    - cdn.example.com

authentication:
  login_type: form
  login_url: https://app.example.com/login
  credentials:
    username: [email protected]
    password: secret123
  login_flow:
    - "Type $username into the email field"
    - "Type $password into the password field"
    - "Click the 'Sign In' button"
  success_condition:
    type: url_contains
    value: "/dashboard"

rules:
  avoid:
    - description: "Do not test logout"
      type: path
      url_path: "/logout"
  focus:
    - description: "Prioritize API endpoints"
      type: path
      url_path: "/api"

reporting:
  tester_name: "Security Team"

Затем в Claude Code:``` Load the config from configs/my-target.yaml and run the pentest

root@kitploit:~
### Вариант C: Целевое тестирование

Запустите определенные тесты WSTG против определенных конечных точек:```
Run WSTG-INPV-05 (SQL Injection) against https://app.example.com/search?q=

(no input content provided)``` Test https://app.example.com for CORS misconfiguration (WSTG-CONF-13)

root@kitploit:~
### Обработка команд```
Run all authentication tests (WSTG-ATHN) against https://app.example.com

Вариант D: Возобновить прерванное взаимодействие```

Resume engagement pentest-2026-02-11-myapp

root@kitploit:~
---

## Этапы тестирования

### Фаза 0: Обнаружение и картирование приложения

Критическая базовая фаза. Claude автономно:

1. **Предполетные проверки** — проверяет доступность цели, обнаруживает перенаправления и междоменную аутентификацию
2. **Запускает 10+ фоновых инструментов** параллельно (katana, ffuf, nuclei, whatweb, gau, nmap, feroxbuster, wapiti, httpx)
3. **Рекурсивное сканирование** — следует по ссылкам на глубину 2-3, анализирует HTML/JS для конечных точек
4. **Подбор каталогов** — общие пути + технологикозависимые списки слов
5. **Прием результатов инструментов** — читает все выходные данные фоновых инструментов и объединяет в единую карту конечных точек
6. **Строит структурированный инвентарь конечных точек** с параметрами, требованиями аутентификации и приоритетами

**Результат:** Полная карта конечных точек, организованная по доменам, готовая к систематическому тестированию.

### Фаза 1-2: Разведка и конфигурация

- Идентификация сервера, обнаружение технологий, анализ метаданных
- Анализ заголовков безопасности (HSTS, CSP, CORS, X-Frame-Options)
- Тестирование конфигурации TLS, обнаружение административных интерфейсов
- Тестирование HTTP методов, обработка расширений файлов

### Фаза 3: Аутентификация, авторизация и управление сессиями

- **Решетка ролей/привилегий** строится перед тестированием (сопоставляет защитные механизмы, промежуточное ПО и тесты на обход)
- Тестирование IDOR с несколькими альтернативными ID для каждой конечной точки
- Тестирование CSRF на каждой конечной точке, изменяющей состояние
- Фиксация сессии, перехват и анализ токенов
- Тестирование уязвимостей JWT (если применимо)
- Тестирование слабых мест OAuth/OIDC (если применимо)

### Фаза 4: Проверка ввода (наибольшее влияние)

Три независимых двухэтапных конвейера работают параллельно, каждый с разделением ролей Анализатор→Эксплуататор:

| Конвейер | Классы уязвимостей | Инструменты | Руководства по техникам |
|----------|----------------------|-------|-----------------|
| XSS Pipeline | Отраженный XSS, Хранимый XSS, DOM XSS | dalfox, Playwright | XSS, DOM |
| Injection Pipeline | SQL-инъекция, Инъекция команд, NoSQL-инъекция | sqlmap, commix, nosqli | SQLI, CMDI, NOSQLI |
| SSRF/SSTI Pipeline | SSRF, SSTI, Обход пути | sstimap, ssrfmap | SSRF, SSTI, PTRAV |

Каждый конвейер: **Анализатор** (обнаружение → анализ → построение очереди эксплуатации) → контрольная точка валидации → **Эксплуататор** (попытка эксплуатации → доказательство воздействия → запись результатов). Интеллект обхода WAF общий для всех конвейеров.

### Фаза 5: Обработка ошибок, криптография, бизнес-логика, клиентская часть и API

- Раскрытие трассировки стека и сообщений об ошибках
- Тестирование TLS/SSL с помощью testssl.sh
- Обход бизнес-логики (обход рабочего процесса, подделка запросов)
- Клиентское тестирование (кликджекинг, открытые перенаправления, манипуляции с DOM)
- Тестирование GraphQL и REST API
- Анализ цепочек уязвимостей по всем находкам

### Фаза 6: Отчетность

- Проверка покрытия (покрытие тестов + покрытие инструментов)
- Дедупликация находок и калибровка серьезности
- Генерация отчета в Markdown с резюме для руководства, находками, матрицами покрытия

### Фаза 7: Итоговое рецензирование судьи

Агент с нулевым контекстом проверяет весь процесс холодно — без знания решений или трудностей тестирования. Он изучает:

- **Целостность покрытия** — формальные тесты, отсутствующие конечные точки
- **Обнаружение каскада N/A** — категории с избыточными отметками "не применимо"
- **Качество находок** — полнота доказательств, согласованность серьезности, возможности объединения
- **Использование инструментов** — инструменты запущены, но результаты не просмотрены, ленивые причины пропуска
- **Пропущенная поверхность атаки** — непротестированные конечные точки, непротестированные параметры, непротестированные домены

Вердикт (PASS/CONDITIONAL_PASS/FAIL) запускает конкретные действия по исправлению до доставки отчета.

---

## Инструменты безопасности

### Обнаружение и разведка (Фаза 0)

| Инструмент | Назначение | Ключевые флаги |
|------|---------|-----------|
| **katana** | Веб-сканер с рендерингом JS | `-jc` для JavaScript crawling |
| **httpx** | HTTP-зондирование, обнаружение технологий | `-tech-detect -status-code -title` |
| **ffuf** | Фаззинг каталогов/параметров | `-w wordlist -mc all -fc 404` |
| **feroxbuster** | Рекурсивный перебор каталогов | `--smart --auto-tune` |
| **nuclei** | Сканер уязвимостей на основе шаблонов | `-t cves/ -t misconfigurations/` |
| **nikto** | Неверная конфигурация веб-сервера | `-Tuning 1234567890` |
| **whatweb** | Идентификация технологий | `--aggression 3` |
| **nmap** | Сканирование портов и служб | `-sV -sC --top-ports 1000` |
| **gau** | Обнаружение исторических URL | `--blacklist png,jpg,gif` |
| **subfinder** | Перебор поддоменов | `-silent -all` |

### Тестирование инъекций (Фаза 4)

| Инструмент | Назначение | Ключевые флаги |
|------|---------|-----------|
| **sqlmap** | SQL-инъекция (все техники) | `--batch --risk 3 --level 5` |
| **dalfox** | Сканирование и эксплуатация XSS | `--skip-bav --deep-domxss` |
| **commix** | Инъекция команд | `--batch --all` |
| **sstimap** | Инъекция шаблонов на стороне сервера | `-u <url>` |
| **ssrfmap** | Эксплуатация SSRF | `-r request.txt` |
| **nosqli** | NoSQL-инъекция | `-u <url>` |
| **crlfuzz** | CRLF-инъекция / HTTP splitting | `-u <url>` |
| **smuggler** | Контрабанда HTTP-запросов | `-u <url>` |

### Аутентификация и сессии (Фаза 3)

| Инструмент | Назначение | Ключевые флаги |
|------|---------|-----------|
| **hydra** | Брутфорс учетных данных | `-L users.txt -P pass.txt` |
| **jwt_tool** | Анализ и эксплуатация JWT-токенов | `-t <token> -M at` |

### Криптография и API (Фаза 5)

| Инструмент | Назначение | Ключевые флаги |
|------|---------|-----------|
| **testssl.sh** | Тестирование конфигурации TLS/SSL | `--severity HIGH --sneaky` |
| **graphql-cop** | Тестирование безопасности GraphQL | `-t <url>` |
| **websocat** | Тестирование WebSocket | `ws://<url>` |

### Инфраструктура (Фаза 2)

| Инструмент | Назначение |
|------|---------|
| **corscanner** | Сканирование неверных конфигураций CORS |
| **dnsreaper** | Обнаружение захвата поддоменов |

### Автоматизация браузера

| Инструмент | Назначение |
|------|---------|
| **Playwright** | Доказательство DOM XSS, кликджекинг, JS-рендеринг входа, инспекция хранилища на стороне клиента |

---

## База знаний WSTG

109 тестовых случаев по 12 категориям OWASP, каждый с процедурами для CLI:

| Код | Категория | Тесты | Примеры |
|------|----------|:-----:|---------|
| **INFO** | Сбор информации | 10 | Обнаружение через поисковые системы, идентификация сервера, анализ метаданных |
| **CONF** | Конфигурация и развертывание | 14 | Заголовки безопасности, CORS, CSP, HSTS, административные интерфейсы |
| **IDNT** | Управление идентификацией | 5 | Определения ролей, регистрация, перебор учетных записей |
| **ATHN** | Аутентификация | 11 | Учетные данные по умолчанию, блокировка, обход аутентификации, MFA, политика паролей |
| **ATHZ** | Авторизация | 5 | Обход каталогов, обход аутентификации, повышение привилегий, IDOR |
| **SESS** | Управление сессиями | 11 | Атрибуты cookie, CSRF, фиксация/перехват сессии, JWT |
| **INPV** | Проверка ввода | 20 | XSS, SQLi, CMDi, SSTI, SSRF, обход пути, XXE, LDAP |
| **ERRH** | Обработка ошибок | 2 | Сообщения об ошибках, трассировка стека |
| **CRYP** | Криптография | 4 | Конфигурация TLS, оракул заполнения, слабое шифрование |
| **BUSL** | Бизнес-логика | 10 | Обход рабочего процесса, подделка запросов, загрузка файлов, ограничения скорости |
| **CLNT** | Клиентская сторона | 14 | DOM XSS, кликджекинг, открытые перенаправления, WebSockets, хранилище |
| **APIT** | Тестирование API | 3 | GraphQL, REST, SOAP |

Каждый тестовый файл включает:
- Пошаговые процедуры CLI (команды curl, вызовы инструментов)
- Полезные нагрузки, организованные по уровню обхода (базовый, средний, продвинутый)
- Критерии обнаружения с рубриками оценки серьезности
- Руководство по исправлению с ссылками

---

## Руководства по техникам PortSwigger

31 справочное руководство по техникам атак из [PortSwigger Web Security Academy](https://portswigger.net/web-security), организованное по классам уязвимостей для непосредственного использования в реальных пентестах.

### Что включено

| Код | Категория | Сопоставление WSTG | Ключевое содержание |
|------|----------|-------------|-------------|
| **SQLI** | SQL-инъекция | INPV-05 | Техники UNION/слепой/ошибка/время/OOB, шпаргалки для конкретных БД (Oracle, MySQL, PostgreSQL, MSSQL), обход WAF |
| **XSS** | Межсайтовый скриптинг | INPV-01, INPV-02, CLNT-01 | Контексты отраженный/хранимый/DOM, полезные нагрузки тегов и обработчиков событий, обход CSP, обход фильтров |
| **CMDI** | Инъекция команд ОС | INPV-12 | Символы-разделители, слепые техники (задержка, OOB), полезные нагрузки для конкретных ОС |
| **SSTI** | Инъекция шаблонов на стороне сервера | INPV-18 | Обнаружение и эксплуатация Jinja2/Twig/Freemarker/Velocity/ERB, побеги из песочницы |
| **SSRF** | Подделка запросов на стороне сервера | INPV-19 | Трюки со схемами URL, обфускация IP, DNS rebinding, метаданные облака, обход фильтров |
| **PTRAV** | Обход пути | INPV-04 | Вариации кодировок, инъекция нулевого байта, обход оберток |
| **XXE** | Внешние сущности XML | INPV-07 | Получение файлов, SSRF через XXE, слепая XXE с OOB, сущности параметров |
| **AUTHN** | Аутентификация | ATHN-01 to ATHN-07 | Брутфорс, обход 2FA, отравление сброса пароля, вброс учетных данных |
| **AUTHZ** | Контроль доступа | ATHZ-01 to ATHZ-04 | IDOR, повышение привилегий, горизонтальный/вертикальный обход, контроль на основе referer |
| **JWT** | JSON Web Tokens | SESS-10 | Путаница алгоритмов (none/HS256→RS256), инъекция kid, эксплуатация JWK/JKU |
| **OAUTH** | OAuth 2.0 | ATHZ-05 | Кража кода авторизации, открытое перенаправление, повышение области действия, CSRF в потоках OAuth |
| **CSRF** | Межсайтовая подделка запроса | SESS-05 | Обход токена, обход SameSite, обход проверки referer |
| **SMUGGLE** | Контрабанда HTTP-запросов | INPV-15 | CL.TE, TE.CL, TE.TE, понижение до HTTP/2, туннелирование запросов |
| **DOM** | Уязвимости на основе DOM | CLNT-01 | Источники/приемники, DOM clobbering, гаджеты загрязнения прототипов |
| **CORS** | Совместное использование ресурсов разных источников | CONF-13, CLNT-07 | Отражение источника, нулевой источник, эксплуатация доверия поддоменов |
| **NOSQLI** | NoSQL-инъекция | INPV-05 | Инъекция операторов MongoDB, инъекция JavaScript, слепое извлечение |
| **GRAPHQL** | GraphQL | APIT-01 | Интроспекция, предложение полей, атаки пакетированием, обход авторизации |
| **RACE** | Состояния гонки | BUSL-04 | Превышение лимита, TOCTOU, гонки на одной конечной точке, синхронизация последнего кадра |
| **UPLOAD** | Загрузка файлов | BUSL-08, BUSL-09 | Обход расширения, манипуляция content-type, веб-шеллы, многоязычные файлы |
| **HOST** | Инъекция заголовка Host | INPV-17 | Отравление сброса пароля, отравление кеша, SSRF на основе маршрутизации |

Плюс еще 11: CLICK, WS, CACHEPOIS, CACHEDEC, DESER, INFO, BUSL, PROTO, API, LLM, SKILLS.

### Как они используются

Руководства по техникам интегрированы в каждую фазу тестирования через MCP-инструмент `get_technique_guide()`:```
Phase 2 → CORS guide for CONF-13 testing
Phase 3 → AUTHN, AUTHZ, CSRF, JWT, OAUTH guides for auth/session testing
Phase 4 → SQLI, XSS, CMDI, SSTI, SSRF, PTRAV, XXE guides for input validation
Phase 5 → DOM, CLICK, GRAPHQL, RACE, UPLOAD guides for client-side & business logic

Каждый параллельный тестирующий агент автоматически загружает соответствующее руководство по методике перед началом тестирования, предоставляя:

  • Полезные нагрузки для обнаружения — что внедрить для выявления уязвимости
  • Методы эксплуатации — организованные по методу атаки с пошаговыми процедурами
  • Шпаргалки — таблицы синтаксиса, специфичные для базы данных/платформы, для быстрого ознакомления
  • Шаблоны обхода WAF — стратегии кодирования, обфускации и обхода фильтров

Добавление пользовательских руководств

Инструкции по добавлению новых технических руководств в базу знаний см. в docs/adding-knowledge-base-resources.md.


Система обеспечения качества

AutoPentest имеет многоуровневую систему контроля качества, предотвращающую поверхностное тестирование:

1. Фазовые шлюзы (автоматические)

После каждой фазы phase_gate_check() проверяет:

  • Все тесты с приоритетом MUST были выполнены
  • Соблюдены минимальные пороги покрытия
  • Покрытие инструментов адекватно
  • Отсутствуют критические пробелы

Заблокированные фазы не могут продолжаться до тех пор, пока все проблемы не будут устранены.

2. Ревьюер качества (пофазы)

Подчиненный агент, запускаемый при каждом переходе фазы, который:

  • Проверяет 16 известных антипаттернов (штампование, каскады «Н/П», накрутка находок)
  • Выявляет не тестировавшиеся конечные точки и параметры
  • Предлагает возможности для объединения уязвимостей
  • Рекомендует альтернативные подходы для заблокированных тестов

3. Финальный судья (после отчёта)

Агент с нулевым контекстом, который проверяет завершенное взаимодействие «свежим взглядом»:

  • Анализирует целостность покрытия во всех областях
  • Выявляет каскады «Н/П» и их первопричины
  • Проверяет качество находок и полноту доказательств
  • Определяет пропущенную поверхность атаки
  • Выносит вердикт: PASS, CONDITIONAL_PASS или FAIL

4. Шлюзы исчерпывания

Пометка уязвимости как «не эксплуатируемая» требует подтверждения усилий:

5. Контрольные списки доказательств

Перед регистрацией любой находки проверяются требования к доказательствам:

  • Воспроизводимая команда curl
  • Полный HTTP-запрос и ответ
  • Доказательство фактической эксплуатации (а не теоретического воздействия)
  • Правильный уровень классификации (EXPLOITED vs POTENTIAL)

6. Журналирование активного взаимодействия

Каждый вызов инструмента MCP автоматически записывается в engagements/<eid>/logs.txt с полными аргументами, результатами и длительностью выполнения. Запустите tail -f logs.txt в отдельном терминале, чтобы следить за всеми действиями агента в реальном времени. 100% покрытие через автоматическую обертку инструмента — ручная инструментация не требуется.

7. Тайминг фазовых шлюзов

Фазовые шлюзы обеспечивают минимальные интервалы в 60 секунд между вызовами (15 секунд в режиме CTF), предотвращая преждевременное завершение фазы. Проверка работы между шлюзами предупреждает, если между последовательными шлюзами зафиксировано менее 3 событий работы.


Бенчмаркинг

AutoPentest включает интеграцию с XBOW Validation Benchmarks — 104 CTF-подобных Docker-задачи, используемых в качестве отраслевого стандарта для бенчмаркинга AI-агентов пентеста.

Эталонные оценки (справочно)

АгентОценкаИсточник
Shannon96.2%KeygraphHQ (2024)
PentestGPT86.5%USENIX Sec 2024

Использование```bash

Setup (one-time)

cd benchmarks/xbow && make setup

Solve with AutoPentest (MCP server + CLAUDE.md + CTF mode)

make solve ID=XBEN-001-24

Solve with raw Claude (baseline — no MCP, no methodology)

make solve ID=XBEN-001-24 RAW=1

Solve by vulnerability tag

make solve-tag TAG=sqli

Solve all 104 challenges

make solve-all

Full baseline run for comparison

make solve-all RAW=1

Score the latest run

make score

Compare autopentest vs raw runs side-by-side

make compare

root@kitploit:~
Решение работает в двух режимах:
- **autopentest** (по умолчанию): Запускает Claude Code из корня проекта, загружая `.mcp.json` (MCP-сервер с 68+ инструментами) и `CLAUDE.md` (методология пентеста). Измеряет полную возможность AutoPentest.
- **raw** (`RAW=1`): Запускает «голый» Claude Code без MCP-сервера или методологии. Базовый уровень для измерения добавленной стоимости AutoPentest по сравнению с возможностями «сырой» LLM.

Каждое испытание представляет собой приложение Docker Compose с флагом, внедрённым во время сборки. Извлечение флага из вывода Claude определяет успех/неудачу. Результаты оцениваются по каждому испытанию, каждому тегу и каждому уровню сложности.

### Режим CTF

Для испытаний CTF и небольших приложений включите режим CTF для смягчённых проверок качества:```yaml
mode: ctf
target:
  url: https://target.com

CTF режим сокращает тайминг фазовых ворот (15 с против 60 с), пропускает требования QA Reviewer и вдвое снижает пороги выполнения — сохраняя при этом качество находок и стандарты доказательств.


Пример отчета

Полный пример отчета из пентеста против PortSwigger's Gin & Juice Shop (сознательно уязвимое приложение) включен в репозиторий:

Посмотреть полный отчет

Что включает отчет

Отчет демонстрирует вывод AutoPentest по реальной цели с 23 находками по всем уровням серьезности:

Структура отчета```

  1. Executive Summary — Target scope, finding summary, domain architecture
  2. Detailed Findings — Each finding with description, evidence (curl commands), and remediation
  3. Vulnerability Chaining — Cross-finding analysis (e.g., XSS + no CSP = severity upgrade)
  4. Test Coverage Matrix — Per-category WSTG coverage (100% across 12 categories)
  5. Tool Coverage Matrix — 27/27 tools tracked, 8 actively run
root@kitploit:~
### Sample Finding (SQL Injection)

Из отчета — критическая находка SQL-инъекции с полным доказательством эксплуатации:```
FINDING-017: SQL Injection in /catalog category parameter — Full Data Extraction

Severity: Critical
WSTG Reference: WSTG-INPV-05

The category parameter is vulnerable to UNION-based SQL injection.
The attacker can:
  1. Inject a single quote to cause a 500 error (confirming injection)
  2. Use UNION SELECT with 8 columns to extract arbitrary data
  3. Enumerate tables: PRODUCTS, TRACKING, USERS
  4. Extract credentials from the USERS table

Evidence (reproducible curl command):
  curl -sk "https://ginandjuice.shop/catalog?category='+UNION+SELECT+1,USERNAME,PASSWORD,
  1,1,USERNAME,1,USERNAME+FROM+USERS+LIMIT+10--"

Каждое обнаружение включает воспроизводимые команды curl, полные доказательства запроса/ответа и практические рекомендации по устранению.


Конфигурация

Конфигурация тестирования (YAML)

Тесты на проникновение, управляемые конфигурацией, пропускают интерактивные вопросы и обеспечивают согласованность:```yaml target: url: https://app.example.com scope: [app.example.com, api.example.com]

authentication: login_type: sso # form | sso | api | manual | none login_url: https://app.example.com/login credentials: username: testuser password: secret123 sso: provider: keycloak # keycloak | auth0 | okta | azure_ad auth_domain: auth.example.com realm: myrealm client_id: my-app

rules: avoid: - { type: path, url_path: "/logout", description: "Skip logout" } - { type: endpoint, method: DELETE, url_path: "/api/admin/*", description: "No destructive admin ops" } focus: - { type: path, url_path: "/api", description: "Prioritize API" }

reporting: tester_name: "Security Team"

root@kitploit:~
### Конфигурация MCP-сервера

Файл `.mcp.json` регистрирует два MCP-сервера:```json
{
  "mcpServers": {
    "wstg-pentest": {
      "command": "uv",
      "args": ["--directory", "./server", "run", "server.py"]
    },
    "playwright": {
      "command": "npx",
      "args": ["-y", "@playwright/mcp"]
    }
  }
}

Интеграция с Burp Suite (Опционально)

Для пассивного мониторинга трафика через Burp Suite Professional:

  1. Запустите Burp Suite и включите прокси на всех интерфейсах (0.0.0.0:8080)
  2. Контейнер Docker автоматически направляет трафик через host.docker.internal:8080
  3. Все HTTP-запросы отображаются в истории прокси Burp для ручного просмотра

Многодоменное тестирование

AutoPentest имеет первоклассную поддержку приложений с несколькими доменами (например, SPA-фронтенд + API-бэкенд + SSO-провайдер):

Автоматическое обнаружение

На этапе 0 AutoPentest обнаруживает кросс-доменную аутентификацию, следуя за редиректами входа:``` app.example.com → redirects to → auth.example.com/login → after login → app.example.com/callback

root@kitploit:~
Все домены автоматически регистрируются в области видимости с указанием их типа (app, auth_provider, api, cdn).

### Тестирование по каждому домену

Каждый тест WSTG оценивается для каждого домена, а не только для основного:

- Инструменты обнаружения (katana, ffuf, nuclei) запускаются против **всех** доменов
- Инструменты проверки ввода (sqlmap, dalfox) нацелены на конечные точки на **каждом** домене с обработкой на стороне сервера
- Тест считается «неприменимым» только тогда, когда **ни один** домен не имеет тестируемой функции

### Междоменная аутентификация

Поддерживаемые протоколы SSO:
- **OAuth 2.0 / OIDC** (Authorization Code, PKCE, Password Grant, Client Credentials)
- **SAML** (SP-initiated flow)
- **Keycloak**, **Auth0**, **Okta**, **Azure AD**
- **Custom SSO** (отслеживание цепочки перенаправлений с использованием cookie jar)

Процедура эскалации аутентификации (6 уровней) гарантирует, что тестирование может продолжаться даже при сложных потоках аутентификации.

---

## Восстановление после сбоя

AutoPentest спроектирован для выживания при прерываниях:

### Автоматическое создание контрольных точек
- Фазовые шлюзы автоматически сохраняют контрольные точки при PASS
- `git_checkpoint()` создает git-снимки рабочей области тестирования
- Журналы только для добавления (`findings.md`, `progress.log`) сохраняются при сбоях

### Автоматическое возобновление через resume-prompt.md (рекомендуется)

Каждая контрольная точка и фазовый шлюз автоматически генерируют `engagements/<eid>/resume-prompt.md` — полный, самодостаточный промпт со всем, что нужно для новой сессии:

- Целевой URL, учетные данные аутентификации и домены области видимости
- Текущая фаза и какие конкретные тесты остались (точность в середине фазы)
- Статус cookie jar и инструкции по повторной аутентификации
- Правила избегания/фокусировки и ссылки на карту конечных точек

**Для возобновления после прерывания:**
1. Откройте новую сессию Claude Code
2. Вставьте содержимое `engagements/<eid>/resume-prompt.md`
3. Claude подхватывает именно с того места, где остановился — ручной контекст не требуется.

### Возобновление с контрольной точки (альтернатива)```
Resume engagement pentest-2026-02-11-myapp

Это восстанавливает:

  • Все находки и данные отслеживания тестов
  • Статистику покрытия и результаты этапов проверки
  • Регистрации области охвата и результаты
  • Оставшиеся тесты в середине этапа (не только состояние на уровне этапа)
  • Инструкции для дальнейших действий

Ручные контрольные точки

Сохраняйте в любое время:``` Save a checkpoint before starting Phase 4 exploitation

root@kitploit:~
### Откат при сбое

Если фаза дает плохие результаты, выполните откат к предыдущей контрольной точке:```
Roll back the engagement to the last checkpoint

Структура проекта```

autopentest-ai/ ├── CLAUDE.md # Master pentest workflow (drives Claude Code) ├── .mcp.json # MCP server configuration ├── Dockerfile # Multi-stage Docker build (27 tools) ├── docker-compose.yml # Docker Compose alternative ├── Makefile # setup, start, stop, verify-tools, shell │ ├── server/ │ ├── server.py # FastMCP server (68+ MCP tools) │ ├── task_tree.py # Hierarchical task tree (6 MCP tools) │ ├── tool_parsers.py # Tool output parsing (2 MCP tools, 13 parsers) │ ├── endpoint_priority.py # Endpoint risk prioritization (2 MCP tools) │ ├── waf_evasion.py # Adaptive WAF evasion (3 MCP tools, 12 vendors) │ ├── knowledge_graph.py # Cross-phase knowledge graph (5 MCP tools) │ ├── tool_verification.py # CLI tool results verification (1 MCP tool, 10 validators) │ ├── context_compression.py # Progressive context compression (2 MCP tools) │ └── pyproject.toml # Python dependencies │ ├── knowledge-base/ │ ├── web-security-testing-guide/ # OWASP WSTG knowledge base (109 test procedures) │ │ ├── 01-information-gathering/ # 10 tests (WSTG-INFO-01 → 10) │ │ ├── 02-configuration/ # 14 tests (WSTG-CONF-01 → 14) │ │ ├── 03-identity-management/ # 5 tests (WSTG-IDNT-01 → 05) │ │ ├── 04-authentication/ # 11 tests (WSTG-ATHN-01 → 11) │ │ ├── 05-authorization/ # 5 tests (WSTG-ATHZ-01 → 05) │ │ ├── 06-session-management/ # 11 tests (WSTG-SESS-01 → 11) │ │ ├── 07-input-validation/ # 20 tests (WSTG-INPV-01 → 20) │ │ ├── 08-error-handling/ # 2 tests (WSTG-ERRH-01 → 02) │ │ ├── 09-cryptography/ # 4 tests (WSTG-CRYP-01 → 04) │ │ ├── 10-business-logic/ # 10 tests (WSTG-BUSL-01 → 10) │ │ ├── 11-client-side/ # 14 tests (WSTG-CLNT-01 → 14) │ │ └── 12-api-testing/ # 3 tests (WSTG-APIT-01 → 03) │ └── portswigger-academy/ # 31 PortSwigger attack technique guides │ ├── sql-injection.md # UNION, blind, error-based, OOB, WAF bypass │ ├── cross-site-scripting.md # Reflected, stored, DOM, CSP bypass, filter evasion │ ├── ssrf.md # URL schemes, cloud metadata, DNS rebinding │ ├── ssti.md # Jinja2, Twig, Freemarker sandbox escapes │ ├── jwt.md # Algorithm confusion, kid injection, JWK exploitation │ ├── oauth.md # Auth code theft, redirect exploitation, scope upgrade │ └── ... (31 total) # One per vulnerability class │ ├── templates/ # Testing guides and procedures │ ├── input-validation-guide.md # Phase 4 step-by-step procedures │ ├── testing-strategies.md # Test matrices, chaining, parallel strategy │ ├── cli-tools-guide.md # Tool setup and Docker management │ ├── tools.md # Per-tool command reference │ ├── quality-gates.md # Phase quality checklists and anti-patterns │ ├── cross-domain-auth-guide.md # SSO/OIDC/SAML procedures │ ├── source-code-analysis.md # Security-focused code review template │ ├── pipelined-testing.md # Phase 4 pipelined exploitation strategy │ ├── agent-roles/ # Role-specialized subagent templates │ │ ├── README.md # Role index and selection guide │ │ ├── scout.md # Reconnaissance role (Phase 0-1) │ │ ├── analyzer.md # Vulnerability discovery role (Phase 2-5) │ │ ├── exploiter.md # Exploitation proof role (Phase 4) │ │ └── reporter.md # QA review + Final Judge role │ ├── shared/ │ │ ├── honesty-framework.md # Anti-hallucination guardrails │ │ ├── exploit-classification.md # Three-tier finding classification │ │ ├── reproducibility.md # Evidence format requirements │ │ └── scope-rules.md # Avoid/focus rule templates │ └── wordlists/ # Tech-specific fuzzing wordlists │ ├── benchmarks/ │ └── xbow/ # XBOW benchmark suite (104 CTF challenges) │ ├── runner.py # Challenge orchestration │ ├── solver.py # Automated solver (Claude Code CLI) │ ├── Makefile # solve, solve-all, score, compare │ └── results/ # Run reports │ ├── docs/ │ ├── ROADMAP.md # Competitive analysis + improvement roadmap │ └── adding-knowledge-base-resources.md # Guide for adding new technique guides │ ├── configs/ │ ├── example-config.yaml # Example engagement configuration │ └── config-schema.md # YAML schema documentation │ ├── scripts/ │ ├── install-tools.sh # Docker build + container start │ ├── browser-auth.py # Headless Chromium auth (JS-rendered logins) │ ├── pkce-auth.py # OAuth 2.0 PKCE flow automation │ └── status.sh # Engagement status dashboard │ └── engagements/ # Runtime output (git-ignored) └── / ├── logs.txt # Live engagement log (tail -f to watch) ├── findings.md # Append-only findings log ├── progress.log # Timestamped event log ├── resume-prompt.md # Auto-resume prompt (paste into new session) ├── report.md # Final pentest report ├── cookies.txt # Cross-domain cookie jar └── tool-output/ # Raw CLI tool outputs

root@kitploit:~
---

## Требования

| Требование | Версия | Примечания |
|-------------|---------|-------|
| Docker | 20.10+ | Docker Desktop на macOS/Windows |
| Claude Code | Последняя | `npm install -g @anthropic-ai/claude-code` |
| uv | 0.1+ | `curl -LsSf https://astral.sh/uv/install.sh \| sh` |
| Node.js | 18+ | Для сервера Playwright MCP |
| Python | 3.10+ | Управляется uv (ручная установка не требуется) |
| Burp Suite Pro | Последняя | **Опционально** — для пассивного мониторинга трафика |

**Поддерживаемые платформы:** macOS (Apple Silicon & Intel), Linux (x86_64 & ARM64)

---

## FAQ

**В: Заменяет ли это человека-пентестера?**

Нет. AutoPentest автоматизирует систематические, методологически обоснованные части пентеста. Он превосходен в охвате (гарантирует, что ничего не упущено) и последовательности (каждый тест следует одной и той же процедуре). Однако сложная бизнес-логика, творческие цепочки эксплуатации и зависящая от контекста оценка рисков по-прежнему выигрывают от человеческого опыта. Воспринимайте это как мультипликатор силы.

**В: Сколько времени занимает полная оценка?**

Это зависит от размера и сложности приложения. Типичное веб-приложение среднего размера (50-100 эндпоинтов) занимает несколько часов. Мультидоменные приложения с SSO требуют больше времени. Конвейерная архитектура фазы 4 параллелизует наиболее трудоемкое тестирование.

**В: Могу ли я запускать это без Burp Suite?**

Да. Burp Suite опционален и используется только для пассивного мониторинга трафика. Все HTTP-запросы проходят через `docker exec curl`, а все инструменты безопасности запускаются внутри Docker-контейнера. Без Burp вы теряете возможность просматривать трафик в истории прокси Burp, но все функции тестирования работают.

**В: Что такое руководства по техникам PortSwigger?**

31 справочное руководство по атакам, охватывающее обнаружение, техники эксплуатации, полезные нагрузки, шпаргалки и шаблоны обхода WAF — взятые из PortSwigger Web Security Academy. Во время тестирования агенты автоматически загружают соответствующее руководство (например, руководство по SQLi при тестировании на SQL-инъекции) для всестороннего ознакомления с техниками и полезными нагрузками. См. [`docs/adding-knowledge-base-resources.md`](https://github.com/bhavsec/autopentest-ai/blob/HEAD/docs/adding-knowledge-base-resources.md), чтобы добавить свои собственные руководства.

**В: Как добавить собственные списки слов или полезные нагрузки?**

Поместите списки слов в `templates/wordlists/`, и они будут доступны внутри Docker-контейнера через монтирование тома. Тестовые файлы WSTG в `knowledge-base/` также можно настроить с дополнительными полезными нагрузками. Чтобы добавить новые руководства по техникам атак, следуйте инструкциям в [`docs/adding-knowledge-base-resources.md`](https://github.com/bhavsec/autopentest-ai/blob/HEAD/docs/adding-knowledge-base-resources.md).

**В: Могу ли я тестировать приложения за VPN?**

Да. Docker-контейнер наследует сеть вашего хоста (на Linux с `--network host`) или подключается к хосту через `host.docker.internal` (на macOS/Windows). Если ваш VPN запущен на хосте, контейнер сможет достичь целей, защищенных VPN.

**В: Что произойдет, если пентест будет прерван (сбой, лимит использования, тайм-аут)?**

AutoPentest автоматически создает файл `resume-prompt.md` на каждой контрольной точке со всем необходимым для продолжения. Откройте новый сеанс Claude Code, вставьте содержимое `engagements/<eid>/resume-prompt.md`, и тестирование продолжится точно с того места, где оно остановилось — включая прогресс на середине фазы, учетные данные, область тестирования и оставшиеся тесты.

**В: Что насчет ограничения скорости?**

AutoPentest включает трехуровневую классификацию ошибок (Transient/Rate Limit/Permanent) с автоматической отсрочкой. Если цель ограничивает запросы, инструменты автоматически замедляются. Вы также можете установить правила избегания в конфигурации, чтобы пропускать определенные эндпоинты.

**В: Какие роли у агентов?**

AutoPentest использует 4 специализированные роли (Scout, Analyzer, Exploiter, Reporter) вместо общих субагентов. Каждая роль имеет выделенный шаблон подсказок с целенаправленными инструкциями по инструментам, ограниченными списками инструментов и антипаттернами. Это предотвращает смешение агентом разведки, анализа, эксплуатации и отчетности, улучшая фокус и изоляцию отказов. См. [`templates/agent-roles/README.md`](https://github.com/bhavsec/autopentest-ai/blob/HEAD/templates/agent-roles/README.md) для полного списка ролей.

**В: Как работает обход WAF?**

Когда полезная нагрузка блокируется (403, страница блокировки), AutoPentest автоматически определяет поставщика WAF по характеристикам ответа, затем загружает специфичные для поставщика обходные полезные нагрузки, организованные по уровню сложности. Поддерживается 12 поставщиков WAF (Cloudflare, AWS WAF, Akamai, Imperva, ModSecurity, F5 и другие). Информация о WAF передается всем агентам через систему результатов.

**В: Что такое контрфактический анализ?**

После первого прохода анализа, находящего уязвимости, AutoPentest может породить второй Analyzer, который предполагает, что все известные уязвимости исправлены. Это заставляет агента искать другие векторы атак — другие эндпоинты, параметры, контексты внедрения и логические ошибки. Результаты объединяются с существующей очередью эксплуатации с автоматическим удалением дубликатов. Эта техника основана на академическом исследовании (исследование абляции PenHeal), которое показывает улучшение покрытия уязвимостей на 71%.

**В: Как работает верификация результатов?**

Когда инструменты CLI (nmap, nuclei, sqlmap и т.д.) выдают пустой или подозрительный вывод, инструмент `verify_tool_result()` обнаруживает распространенные проблемы (ошибки прокси, отказ в доступе, неправильные флаги) и предлагает исправленные команды. Это предотвращает молчаливый учет сломанных запусков инструментов как 'выполненных' — распространенный режим отказа в автоматизированном пентестинге.

**В: Как работает связывание уязвимостей?**

Граф знаний отслеживает сущности (эндпоинты, параметры, находки, cookies, домены) и отношения, обнаруженные в ходе тестирования. После фазы 4 `find_chains()` использует BFS для обнаружения многошаговых путей атак и проверяет 7 предопределенных шаблонов цепочек (например, XSS + отсутствие CSP, SSRF + метаданные облака, IDOR + роль администратора). Цепочки, повышающие влияние, вызывают автоматическое повышение серьезности.

---

## Отказ от ответственности

**Этот инструмент предназначен только для авторизованного тестирования безопасности.** Используйте AutoPentest только против приложений, на тестирование которых у вас есть явное разрешение. Несанкционированный доступ к компьютерным системам незаконен. Авторы не несут ответственности за любое неправомерное использование этого инструмента.

Всегда убедитесь, что у вас есть:
- Письменное разрешение от владельца приложения
- Четко определенный объем того, что можно и нельзя тестировать
- Понимание среды тестирования (продакшн vs стейджинг)
- Соответствующие правила избегания, настроенные для деструктивных или чувствительных эндпоинтов

---

<p align="center">
  Создано с помощью <a href="https://modelcontextprotocol.io">Model Context Protocol</a>
</p>
Скачать инструмент
ВозможностьРучной пентестАвтоматический сканерAutoPentest
Полное покрытие OWASP WSTGЗависит от тестировщикаЧастичное109 тестов
Тестирование бизнес-логикиДаНетДа
Многошаговая эксплуатацияДаОграниченоДа
Связывание уязвимостейДаНетДа
Обнаружения на основе доказательствДаШаблонный выводВоспроизводимые curl-команды
Стабильное качествоРазличаетсяДаФазовые шлюзы + Final Judge
СкоростьДниМинутыЧасы
Кросс-доменная аутентификация (SSO/OIDC)Ручная настройкаОбычно не удаётсяАвтоматическая обработка
Класс уязвимостиМин. техникМин. попыток обхода
XSS35
SQL Injection35
Command Injection35
SSTI23
SSRF35
Path Traversal35
СерьезностьКоличествоПримеры
Критический2UNION-based SQL-инъекция с полным извлечением данных, обход контроля доступа через заголовок X-Original-URL
Высокий5Отраженный XSS через обход экранирования JS-строки, IDOR на деталях заказа, XXE с чтением локальных файлов, DOM XSS через загрязнение прототипа
Средний6Отсутствие заголовков безопасности, отсутствие блокировки аккаунта, отсутствие CSP, CRLF-инъекция, DOM-based открытое перенаправление
Низкий5Раскрытие информации об инфраструктуре, устаревший AngularJS, небезопасные куки ALB, слабая конфигурация TLS
Информационный5Объединенные дубликаты и вторичные доказательства для основных находок