Назад к обновлениям
New releaseSep 4, 2026

pentest-ai v1.4.0

ИИ-пентестер с открытым исходным кодом, который доказывает каждую находку. Машинные оракулы повторно запускают каждый эксплойт; подтверждённые баги поставляются с доказательной капсулой, которую вы можете воспроизвести самостоятельно.

Поделиться

Pentest-AI — открытый AI-пентест. Находки, которые можно воспроизвести.

PyPI Python License: MIT

Сайт · Быстрый старт · Bug bounty · Верификация · Документация · Issues

Pentest-AI — это открытый инструмент AI-пентеста и bug-bounty, который доказывает каждую находку. Он подключает AI-клиент или модель к реальному процессу пентеста — исследует веб-приложения, обнаруживает и воспроизводит уязвимости и использует машинные оракулы для проверки того, действительно ли эксплойт работает. Нет доказательства — нет находки: верифицированные результаты содержат доказательства, которые вы можете воспроизвести сами.

Используйте его через MCP (Claude Code, Codex, Cursor, VS Code), из CLI или в CI/CD. Модель ведёт исследование; независимый оракул решает, заслуживает ли находка вердикта «верифицировано» — так что на выходе получается сигнал, а не AI-мусор.

Создан для авторизованного bug bounty: импортируйте scope программы (HackerOne, Bugcrowd, Intigriti, YesWeHack), запустите engagement с соблюдением scope и превратите каждую верифицированную находку в готовую к отправке заявку на платформе. Перейти к workflow bug bounty →

Тестируйте только те системы, которыми вы владеете или на оценку которых у вас есть явное разрешение. Прочитайте политику допустимого использования и условия перед запуском engagement.

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

Рекомендуется: Codex или Claude Code

Используйте Python 3.10–3.14 и сначала установите pipx. Выполните pipx ensurepath и при необходимости перезапустите терминал. pipx изолирует зависимости Pentest-AI и делает его команды доступными во всех папках.

pipx install ptai
ptai setup --mcp

Сначала установите CLI вашего AI-клиента. Setup спрашивает перед подключением всех обнаруженных поддерживаемых клиентов, включая как Codex, так и Claude Code, если они установлены. Он сохраняет существующие регистрации. После этого перезапустите клиент.

Мастер использует пользовательские настройки. Он не устанавливает клиентов, не выполняет вход, не скачивает модели и не настраивает Ollama. Модель предоставляет ваш AI-клиент; отдельный API-ключ модели для MCP-сервера не требуется. Используйте ptai setup --mcp --dry-run для предварительного просмотра изменений. См. настройку для одного клиента и для отдельного репозитория для инструкций по Codex .codex/config.toml и Claude Code .mcp.json.

Для обновления используйте pipx upgrade ptai. В уже активированном виртуальном окружении также поддерживается python -m pip install --upgrade ptai; сохраняйте это окружение доступным после его регистрации в вашем AI-клиенте.

Альтернатива: Ollama и локальные модели

Установите Pentest-AI как указано выше, но пропустите настройку MCP для этого варианта. Установите и запустите Ollama, затем загрузите модель с поддержкой вызова инструментов. Используйте ollama list, чтобы узнать её точное установленное имя.

export PENTEST_AI_LLM_PROVIDER=ollama
export PENTEST_AI_MODEL="your-installed-model"
ptai start https://your-authorized-target.example --no-sync

В PowerShell:

$env:PENTEST_AI_LLM_PROVIDER = "ollama"
$env:PENTEST_AI_MODEL = "your-installed-model"
ptai start https://your-authorized-target.example --no-sync

Замените плейсхолдеры перед запуском. Локальной модели не нужен облачный API-ключ. Качество модели и доступная память влияют на результаты. См. руководство по моделям для настройки эндпоинта.

Попробуйте встроенное демо

API-ключ или внешняя цель не требуются.

pipx install ptai
ptai demo

Демо тестирует встроенное уязвимое приложение, воспроизводит находку из её proof capsule и проверяет защищённые маршруты. Изучите процесс работы с доказательствами перед настройкой реального engagement.

Другие провайдеры моделей

Для автономных облачных моделей и опциональных зависимостей сканеров см. руководство по установке и руководство по провайдерам. Не храните API-ключи в системе контроля версий.

Автоматизация bug bounty

Pentest-AI создан для авторизованной работы в bug bounty, где главное — оставаться в scope и отправлять только воспроизводимые находки.

# 1. Импортируйте scope программы (HackerOne / Bugcrowd / Intigriti / YesWeHack)
ptai bounty import --platform hackerone --file scope.json --out program.scope

# 2. Запустите engagement с соблюдением scope (preflight показывает, что именно будет
#    затронуто, и просит подтверждения — ничего вне scope никогда не затрагивается)
ptai start acme.com --scope-file program.scope --intensity stealth

# 3. Превратите верифицированные находки в готовые к отправке заявки
ptai bounty report <engagement-id> --platform hackerone --out submissions/
  • Scope соблюдается принудительно, а не носит рекомендательный характер: wildcards, CIDR и исключения вне scope, fail-closed, для каждого агента и инструмента.
  • Заявки готовы к отправке: каждая включает воспроизводимый curl, CVSS/CWE, impact, remediation и машинный вердикт с воспроизводимой proof capsule.
  • Или запустите встроенный методический playbook от начала до конца: ptai playbook run bug-bounty-web -i target=acme.com --execute.

Полное руководство по bug bounty →

Как работает верификация

Кандидат становится верифицированным только после того, как оракул повторит эксплойт и проверит контроль. Полученную proof capsule можно воспроизвести.

  1. Найдите кандидата. Проба или сканер выявляет поведение, заслуживающее исследования.
  2. Воспроизведите его и проверьте контроль. Именованный оракул повторяет эксплойт и сравнивает его с контролем, который не должен демонстрировать уязвимость.
  3. Сохраните доказательства. Верифицированная находка записывает оракул и его результаты в переносимую proof capsule. Используйте ptai replay, чтобы проверить её снова.

Например, обход через доверенный заголовок должен возвращать привилегированное содержимое с атакующим заголовком и отказывать в доступе без него. Сервер, отвечающий на каждый запрос HTTP 200, не является достаточным доказательством.

Модель не может вынести вердикт «верифицировано». Вывод сторонних сканеров остаётся неверифицированным, пока оракул независимо его не докажет. Находки без поддерживаемого рецепта верификации остаются кандидатами.

Вердикт «верифицировано» относится к протестированным условиям. Он не означает, что всё приложение безопасно. Proof capsules не подписаны; повторный запуск проверки — это и есть механизм доверия.

Прочитать о дизайне верификации

Что вы можете делать

Категории