ptai (pentest-ai)

Post-Exploitation v1.4.0 · 02.09.2026 активный

ИИ-пентестер для веб-приложений, подтверждающий каждую находку через машинные оракулы.

v1.4.0
02.09.2026 current

Установка
pipx install ptai
показать оригинал переведено ИИ

Pentest-AI — open-source AI pentesting. Findings you can reproduce.

PyPI Python License: MIT

Веб-сайт · Быстрый старт · Верификация · Документация · Обращения

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

Используйте его через MCP, из CLI или в CI. Модель помогает вести исследование; оракул определяет, получает ли находка верифицированный вердикт.

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

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

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

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

pipx install ptai
ptai setup --mcp

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

Мастер использует общепользовательские настройки. Он не устанавливает клиенты, не выполняет вход в систему, не скачивает модели и не настраивает Ollama. Ваш AI-клиент предоставляет модель; для MCP-сервера не требуется отдельный ключ API модели. Используйте 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

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

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

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

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

A candidate becomes verified only after an oracle repeats the exploit and checks a control. The resulting proof capsule can be replayed.

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

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

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

Верифицированный вердикт применяется к протестированным условиям. Это не означает, что всё приложение безопасно. Капсулы доказательств не подписаны; механизмом доверия является повторный запуск проверки.

Читать о принципах верификации

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

Рабочий процесс Что предоставляет Pentest-AI
Исследовать веб-приложения Зонды для инъекций, контроля доступа, обработки запросов и других слабостей приложений
Работать через AI-клиента Инструменты MCP для заданий, исследований и верификации
Воспроизвести находку Результаты оракула и воспроизводимые капсулы доказательств
Проверить исправление Повторно запустите записанную проверку на обновлённой цели
Сообщить команде Отчёты и вывод SARIF для существующих инженерных процессов
Хранить данные задания локально Находки хранятся на вашем компьютере в SQLite
Покрытие зависит от probe и oracle. Опциональным сканерам требуются собственные бинарные файлы, а некоторые интеграции предоставляют сырой вывод, а не структурированные находки. Обратитесь к документации и списку изменений для вашей версии; ветка main может содержать ещё не выпущенные изменения.

Посмотреть инвентарь возможностей, проверяемый CI.

Интеграция проверенных находок в CI

Настройте провайдера моделей, авторизованную цель и согласие на первый запуск в вашем окружении CI. Храните секреты в хранилище секретов вашего CI-провайдера.

ptai start https://your-authorized-target.example --ci --fail-on verified --no-sync

Экспортируйте проверенные находки, используя ID engagement'а из запуска:

ptai export YOUR_ENGAGEMENT_ID --sarif pentest.sarif

--sarif — это опция экспорта, а не опция ptai start. Сохраните ID engagement'а и выполните экспорт, даже если гейт находок не пройден, если вам нужны свидетельства для неуспешных сборок. Загрузите полученный файл через SARIF-интеграцию вашего CI-провайдера.

Настройка CI и шаблоны

Доказательства, бенчмарки и ограничения

Находки бенчмарков, прохождение испытаний и находки, проверенные oracle, — это разные метрики. Эти отчёты фиксируют версии, цели и методологию, лежащие в основе их результатов:

Ожидайте неполное покрытие. Сканирование без проверенных находок не является оценкой безопасности всего, что делает приложение. Аутентификация, состояние приложения, неподдерживаемые классы ошибок и изменения окружения влияют на то, что можно обнаружить и воспроизвести. Проверяйте результаты и сохраняйте участие человека в engagement'е.

Данные и сетевое поведение

Находки хранятся локально. Анонимные счётчики использования подключаются добровольно через ptai telemetry enable.

Локальное хранение не означает, что каждая операция остаётся на вашей машине: вызовы провайдера моделей и установленных сканеров имеют собственное сетевое поведение. Проверки слепых уязвимостей могут использовать внешний out-of-band коллаборатор; метаданные обратных вызовов видны этому сервису.

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

ptai start https://your-authorized-target.example --oast-server https://your-collaborator.example
ptai start https://your-authorized-target.example --no-oast

Участие в проекте

Используйте Issues для воспроизводимых багов и Discussions для вопросов и идей. См. руководство для агентов и контрибьюторов для инструкций по сборке и тестированию.

Опциональный репозиторий pentest-ai-agents содержит файлы субагентов Claude Code.

Pentest-AI — проект с открытым исходным кодом под лицензией MIT.

Войдите, чтобы оставить комментарий