
ИИ-пентестер с открытым исходным кодом, который доказывает каждую находку. Машинные оракулы повторно запускают каждый эксплойт; подтверждённые баги поставляются с доказательной капсулой, которую вы можете воспроизвести самостоятельно.
Он не помечает. Он доказывает.
Веб-сайт · Установка · Почему верификация · Бенчмарки · Ограничения · Discord
⚠️ Инструмент для атак, только авторизованное тестирование. Устанавливая, вы принимаете AUP и Условия. См. Ответственное использование ↓
pip install ptai && ptai demo
ptai demo сканирует встроенное уязвимое приложение и выводит 4 findings, 3 oracle-VERIFIED.
Он воспроизводит одну находку вживую из proof-капсулы (replay 3/3), затем запускает те же маршруты
после исправления и выводит 0 findings.
Обратите внимание на две вещи. Находки появляются и исчезают вместе с уязвимостью, а не потому, что инструмент замолчал — единственное, что изменилось между двумя запусками, это исправление. И одна из четырёх остаётся кандидатом: обход логина через SQLi реален, но ни один оракул не смог повторно доказать его на этом маршруте, поэтому он не получает бейдж. Этот пробел — работа продукта, а не баг в демо.
Большинство сканеров говорят вам, что что-то может быть эксплуатируемым, и оставляют триаж вам. ptai считает находку кандидатом, пока именованный машинный оракул не перезапустит эксплойт и не воспроизведёт его N из N раз. Только тогда она получает статус VERIFIED.
Три свойства делают это чем-то большим, чем лозунг:
Ни один LLM никогда не выносит вердикт. Это правило enforced в коде, а не политикой: вердикт, который не может назвать оракула, заработавшего его, отклоняется. LLM координирует запуск и рассуждает о результатах. Он никогда не решает, реален ли баг.
У каждого оракула есть контроль, который должен провалиться. Обход доверенного заголовка должен возвращать привилегированный контент с заголовком и отказ без него. Проверка утечки учётных данных должна приниматься для реального секрета и отклоняться для намеренно повреждённого двойника. Конечная точка, отвечающая 200 на всё, не получает ничего. Это то, что не позволяет "вернулся 200" быть принятым за доказательство.
Вывод сторонних сканеров сдерживается. Результаты nuclei, nikto и zap не становятся находками по собственному авторитету. Они остаются непроверенными, пока один из собственных оракулов ptai не передокажет их независимо.
Каждая VERIFIED-находка поставляется как переносимая proof-капсула — находка,
рецепт для её повторного доказательства и квитанция. Любой может ptai replay её против
живой цели и наблюдать, как оракул повторно подтверждает, не доверяя ptai. Капсулы
намеренно не подписаны: воспроизведение — это механизм доверия, а не подпись, которую нужно
принимать на веру.
| Классов уязвимостей с работающим оракулом | 14 |
| Проб в библиотеке | 64 |
| Проб, которые могут получить VERIFIED | 30 |
| Видов оракулов | 24 |
| Обёрток инструментов | 203 |
| …которые сегодня парсят вывод в находки | 18 |
| MCP-инструментов | 52 |
| Специализированных агентов | 18 |
| Тестов | 2 729 на Python 3.10 / 3.12 / 3.14 |
На намеренно уязвимом honeypot 23 находки верифицируются по этим 14 классам
со 100% точностью и нулём ложных срабатываний. На стандартном OWASP Juice Shop
17 находок верифицированы в прогоне от 2026-08-23 — отчёт по in-scope HTTP / verified /
precision, а не 17/116. Сессия Path 1 MCP от 2026-08-25 (MCP-клиент, управляющий
run_probe, цель умерла до верификации оркестратором) заработала 12 verified-доказательств
со 100% точностью против 64 in-scope HTTP-вызовов (20 will-not-chase). OSINT, Web3
и UI-only ключи Juice Shop исключены из автоматизированного табло по дизайну.
Читайте эти цифры внимательно, потому что пробелы и есть суть. Существует 64 пробы, но только 30 могут получить вердикт; остальные 34 сообщают честных кандидатов. Зарегистрировано 203 обёртки, но только 18 превращают вывод инструментов в находки — остальные запускаются и возвращают сырой текст. Ворота оракула покупают точность, а не скорость обнаружения: они убирают ложные срабатывания, но не находят больше багов.
Harness honeypot (tests/honeypot/) и ворота нулевых ложных
срабатываний на чистом приложении (tests/cleanapp/) оба поставляются
в этом репозитории и запускаются в CI, так что это воспроизводимо, а не скриншоты.
Сказано прямо, потому что инструмент безопасности, который себя переоценивает, хуже бесполезного.
unsupported, а не вводящее в заблуждение ноль.ptai playbook run разрешает зависимости
и печатает план. Запуск его против цели ещё не подключён.Полный внутренний список дефектов, включая всё вышеперечисленное, отслеживается открыто, а не тихо. Если что-то здесь не так, откройте issue, и это будет исправлено.
Ваша существующая подписка на ИИ — это LLM. ptai предоставляет инструменты.
pip install ptai
ptai mcp install # автоопределяет ваши MCP-клиенты и записывает их конфиги
Перезапустите клиент — и 52 инструмента на месте. На этом пути ключ Anthropic не нужен — MCP-сервер по дизайну не размещает собственный LLM.
pip install ptai
export ANTHROPIC_API_KEY=sk-... # или OPENAI_API_KEY
ptai start https://target.example.com