
ИИ-пентестер с открытым исходным кодом, который доказывает каждую находку. Машинные оракулы повторно запускают каждый эксплойт; подтверждённые баги поставляются с доказательной капсулой, которую вы можете воспроизвести самостоятельно.
 [](https://pypi.org/project/ptai/) [](https://pypi.org/project/ptai/) [](https://github.com/0xSteph/pentest-ai/blob/main/LICENSE) [Сайт](https://pentestai.xyz/) · [Быстрый старт](#quick-start) · [Bug bounty](#bug-bounty-automation) · [Верификация](#how-verification-works) · [Документация](https://github.com/0xSteph/pentest-ai/tree/main/docs) · [Issues](https://github.com/0xSteph/pentest-ai/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 →](#bug-bounty-automation) > Тестируйте только те системы, которыми вы владеете или на оценку которых у вас есть явное разрешение. Прочитайте [политику допустимого использования](https://pentestai.xyz/aup) и [условия](https://pentestai.xyz/terms) перед запуском engagement. ## Быстрый старт ### Рекомендуется: Codex или Claude Code Используйте Python **3.10–3.14** и сначала установите [pipx](https://pipx.pypa.io/stable/installation/). Выполните `pipx ensurepath` и при необходимости перезапустите терминал. pipx изолирует зависимости Pentest-AI и делает его команды доступными во всех папках. ```sh pipx install ptai ptai setup --mcp ``` Сначала установите CLI вашего AI-клиента. Setup спрашивает перед подключением **всех обнаруженных поддерживаемых клиентов**, включая как Codex, так и Claude Code, если они установлены. Он сохраняет существующие регистрации. После этого перезапустите клиент. Мастер использует **пользовательские настройки**. Он не устанавливает клиентов, не выполняет вход, не скачивает модели и не настраивает Ollama. Модель предоставляет ваш AI-клиент; отдельный API-ключ модели для MCP-сервера не требуется. Используйте `ptai setup --mcp --dry-run` для предварительного просмотра изменений. См. [настройку для одного клиента и для отдельного репозитория](https://pentestai.xyz/docs/ai-clients/) для инструкций по Codex `.codex/config.toml` и Claude Code `.mcp.json`. Для обновления используйте `pipx upgrade ptai`. В уже активированном виртуальном окружении также поддерживается `python -m pip install --upgrade ptai`; сохраняйте это окружение доступным после его регистрации в вашем AI-клиенте. ### Альтернатива: Ollama и локальные модели Установите Pentest-AI как указано выше, но пропустите настройку MCP для этого варианта. [Установите и запустите Ollama](https://docs.ollama.com/quickstart), затем загрузите модель с поддержкой вызова инструментов. Используйте `ollama list`, чтобы узнать её точное установленное имя. ```bash export PENTEST_AI_LLM_PROVIDER=ollama export PENTEST_AI_MODEL="your-installed-model" ptai start https://your-authorized-target.example --no-sync ``` В PowerShell: ```powershell $env:PENTEST_AI_LLM_PROVIDER = "ollama" $env:PENTEST_AI_MODEL = "your-installed-model" ptai start https://your-authorized-target.example --no-sync ``` Замените плейсхолдеры перед запуском. Локальной модели не нужен облачный API-ключ. Качество модели и доступная память влияют на результаты. См. [руководство по моделям](https://pentestai.xyz/docs/ai-clients/) для настройки эндпоинта. ### Попробуйте встроенное демо API-ключ или внешняя цель не требуются. ```bash pipx install ptai ptai demo ``` Демо тестирует встроенное уязвимое приложение, воспроизводит находку из её proof capsule и проверяет защищённые маршруты. Изучите процесс работы с доказательствами перед настройкой реального engagement. ### Другие провайдеры моделей Для автономных облачных моделей и опциональных зависимостей сканеров см. [руководство по установке](https://pentestai.xyz/docs/getting-started/) и [руководство по провайдерам](https://github.com/0xsteph/pentest-ai/blob/main/docs/llm-providers.md). Не храните API-ключи в системе контроля версий. ## Автоматизация bug bounty Pentest-AI создан для авторизованной работы в bug bounty, где главное — оставаться в scope и отправлять только воспроизводимые находки. ```sh # 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 →](https://github.com/0xSteph/pentest-ai/blob/main/docs/bug-bounty.md) ## Как работает верификация  1. **Найдите кандидата.** Проба или сканер выявляет поведение, заслуживающее исследования. 2. **Воспроизведите его и проверьте контроль.** Именованный оракул повторяет эксплойт и сравнивает его с контролем, который не должен демонстрировать уязвимость. 3. **Сохраните доказательства.** Верифицированная находка записывает оракул и его результаты в переносимую proof capsule. Используйте `ptai replay`, чтобы проверить её снова. Например, обход через доверенный заголовок должен возвращать привилегированное содержимое с атакующим заголовком и отказывать в доступе без него. Сервер, отвечающий на каждый запрос HTTP 200, не является достаточным доказательством. **Модель не может вынести вердикт «верифицировано».** Вывод сторонних сканеров остаётся неверифицированным, пока оракул независимо его не докажет. Находки без поддерживаемого рецепта верификации остаются кандидатами. Вердикт «верифицировано» относится к протестированным условиям. Он не означает, что всё приложение безопасно. Proof capsules не подписаны; повторный запуск проверки — это и есть механизм доверия. [Прочитать о дизайне верификации](https://github.com/0xSteph/pentest-ai/blob/main/docs/why-verification.md) ## Что вы можете делать | Workflow | Что предоставляет Pentest-AI | | --- | --- | | Исследование веб-приложений | Пробы для инъекций, контроля доступа, обработки запросов и других слабостей приложений | | Проведение engagement в bug bounty | Импорт scope программы, его принудительное соблюдение и генерация готовых к отправке заявок ([руководство](https://github.com/0xSteph/pentest-ai/blob/main/docs/bug-bounty.md)) | | Работа через AI-клиент | MCP-инструменты для engagement, исследования и верификации | | Воспроизведение находки | Результаты оракула и воспроизводимые proof capsules | | Проверка исправления | Повторный запуск записанной проверки против обновлённой цели | | Отчёт для вашей команды | Отчёты и вывод SARIF для существующих инженерных процессов | | Локальное хранение данных engagement | Находки хранятся на вашей машине в SQLite | Покрытие зависит от пробы и оракула. Опциональным сканерам нужны собственные бинарные файлы, а некоторые интеграции предоставляют необработанный вывод, а не структурированные находки. Обратитесь к [документации](https://github.com/0xSteph/pentest-ai/tree/main/docs) и [changelog](https://github.com/0xSteph/pentest-ai/blob/main/CHANGELOG.md) для вашей версии; `main` может содержать невыпущенную работу. [Посмотреть инвентарь возможностей, проверяемый CI](https://github.com/0xSteph/pentest-ai/blob/main/docs/capability-inventory.md). ## Встраивание верифицированных находок в CI Настройте провайдера модели, авторизованную цель и согласие на первый запуск в вашей CI-среде. Храните секреты в хранилище секретов вашего CI-провайдера. ```sh ptai start https://your-authorized-target.example --ci --fail-on verified --no-sync ``` Экспортируйте верифицированные находки, используя engagement ID из запуска: ```sh ptai export YOUR_ENGAGEMENT_ID --sarif pentest.sarif ``` `--sarif` — это опция экспорта, а не опция `ptai start`. Сохраните engagement ID и запустите экспорт даже при провале гейта находок, если вам нужны доказательства для неудачных сборок. Загрузите полученный файл через SARIF-интеграцию вашего CI-провайдера. [Настройка CI и шаблоны](https://github.com/0xSteph/pentest-ai/blob/main/docs/ci-cd.md) ## Доказательства, бенчмарки и ограничения Находки бенчмарков, прохождение челленджей и находки, верифицированные оракулом, — это разные измерения. Эти отчёты фиксируют версии, цели и методологию, лежащие в основе их результатов: - [Отчёты и артефакты бенчмарков](https://github.com/0xSteph/pentest-ai/tree/main/benchmarks) - [Методология Juice Shop](https://github.com/0xSteph/pentest-ai/blob/main/docs/benchmarks/juice-shop.md) - [Уязвимый тестовый стенд](https://github.com/0xSteph/pentest-ai/tree/main/tests/honeypot) - [Проверки чистого приложения](https://github.com/0xSteph/pentest-ai/tree/main/tests/cleanapp) **Ожидайте неполного покрытия.** Сканирование без верифицированных находок не является оценкой безопасности всего, что делает приложение. Аутентификация, состояние приложения, неподдерживаемые классы багов и изменения окружения влияют на то, что можно найти и воспроизвести. Просматривайте результаты и держите человека вовлечённым в engagement. ## Данные и сетевое поведение Находки хранятся локально. Анонимные счётчики использования включаются по желанию через `ptai telemetry enable`. Локальное хранение не означает, что каждая операция остаётся на вашей машине: вызовы провайдера модели и установленные сканеры имеют собственное сетевое поведение. Проверки blind-уязвимостей могут использовать внешний out-of-band collaborator; метаданные callback видны этому сервису. Используйте собственный collaborator там, где это требуется, или отключите callbacks: ```bash ptai start https://your-authorized-target.example --oast-server https://your-collaborator.example ptai start https://your-authorized-target.example --no-oast ``` ## Присоединяйтесь Используйте [Issues](https://github.com/0xSteph/pentest-ai/issues) для воспроизводимых багов и [Discussions](https://github.com/0xSteph/pentest-ai/discussions) для вопросов и идей. См. [руководство для агентов и контрибьюторов](https://github.com/0xSteph/pentest-ai/blob/main/AGENTS.md) для инструкций по сборке и тестированию. Опциональный репозиторий [pentest-ai-agents](https://github.com/0xSteph/pentest-ai-agents) содержит файлы субагентов Claude Code. Pentest-AI — открытый исходный код под [лицензией MIT](https://github.com/0xSteph/pentest-ai/blob/main/LICENSE).