
Pentester de IA de código aberto que comprova cada descoberta. Oráculos de máquina reexecutam cada exploit; bugs verificados vêm com uma cápsula de prova que você mesmo pode reproduzir.
 [](https://pypi.org/project/ptai/) [](https://pypi.org/project/ptai/) [](https://github.com/0xSteph/pentest-ai/blob/main/LICENSE) [Website](https://pentestai.xyz/) · [Início rápido](#quick-start) · [Bug bounty](#bug-bounty-automation) · [Verificação](#how-verification-works) · [Documentação](https://github.com/0xSteph/pentest-ai/tree/main/docs) · [Issues](https://github.com/0xSteph/pentest-ai/issues) **O Pentest-AI é uma ferramenta de código aberto de pentest e bug-bounty com IA que comprova cada achado.** Ela conecta um cliente ou modelo de IA a um fluxo de trabalho real de pentest — investigando aplicações web, descobrindo e reproduzindo vulnerabilidades e usando **oráculos de máquina para verificar se um exploit realmente funciona**. Sem prova, sem achado: resultados verificados carregam evidências que você mesmo pode reproduzir. Use-o via **MCP** (Claude Code, Codex, Cursor, VS Code), pela **CLI** ou em **CI/CD**. O modelo conduz a investigação; um oráculo independente decide se um achado merece um veredito verificado — assim a saída é sinal, não lixo de IA. **Feito para bug bounty autorizado:** importe o escopo de um programa (HackerOne, Bugcrowd, Intigriti, YesWeHack), execute um engajamento com escopo aplicado e transforme cada achado verificado em uma submissão pronta para a plataforma. [Ir para o fluxo de bug bounty →](#bug-bounty-automation) > Teste apenas sistemas que você possui ou tem autorização explícita para avaliar. Leia a [política de uso aceitável](https://pentestai.xyz/aup) e os [termos](https://pentestai.xyz/terms) antes de executar um engajamento. ## Início rápido ### Recomendado: Codex ou Claude Code Use Python **3.10–3.14** e instale o [pipx](https://pipx.pypa.io/stable/installation/) primeiro. Execute `pipx ensurepath` e reabra o terminal se necessário. O pipx isola as dependências do Pentest-AI e torna seus comandos disponíveis em todas as pastas. ```sh pipx install ptai ptai setup --mcp ``` Instale primeiro a CLI do seu cliente de IA. O setup pergunta antes de conectar **todos os clientes compatíveis detectados**, incluindo tanto o Codex quanto o Claude Code quando instalados. Ele preserva registros existentes. Reinicie seu cliente depois. O assistente usa **configurações de escopo do usuário**. Ele não instala clientes, não faz login, não baixa modelos nem configura o Ollama. Seu cliente de IA fornece o modelo; nenhuma chave de API de modelo separada é exigida pelo servidor MCP. Use `ptai setup --mcp --dry-run` para pré-visualizar alterações. Veja [configuração de cliente único e por repositório](https://pentestai.xyz/docs/ai-clients/) para instruções de `.codex/config.toml` do Codex e `.mcp.json` do Claude Code. Para atualizações, use `pipx upgrade ptai`. Em um ambiente virtual já ativado, `python -m pip install --upgrade ptai` também é suportado; mantenha esse ambiente disponível após registrá-lo no seu cliente de IA. ### Alternativa: Ollama e modelos locais Instale o Pentest-AI como acima, mas pule a configuração do MCP para esta rota. [Instale e inicie o Ollama](https://docs.ollama.com/quickstart), depois baixe um modelo com suporte a tool-calling. Use `ollama list` para encontrar seu nome exato instalado. ```bash export PENTEST_AI_LLM_PROVIDER=ollama export PENTEST_AI_MODEL="your-installed-model" ptai start https://your-authorized-target.example --no-sync ``` No PowerShell: ```powershell $env:PENTEST_AI_LLM_PROVIDER = "ollama" $env:PENTEST_AI_MODEL = "your-installed-model" ptai start https://your-authorized-target.example --no-sync ``` Substitua os placeholders antes de executar. Um modelo local não precisa de chave de API na nuvem. A qualidade do modelo e a memória disponível afetam os resultados. Veja o [guia de modelos](https://pentestai.xyz/docs/ai-clients/) para configuração de endpoint. ### Experimente a demo incluída Nenhuma chave de API ou alvo externo é necessário. ```bash pipx install ptai ptai demo ``` A demo testa uma aplicação vulnerável incluída, reproduz um achado a partir de sua proof capsule e verifica as rotas reforçadas. Inspecione o fluxo de evidências antes de configurar um engajamento real. ### Outros provedores de modelo Para modelos de nuvem standalone e dependências opcionais de scanner, veja o [guia de instalação](https://pentestai.xyz/docs/getting-started/) e o [guia de provedores](https://github.com/0xsteph/pentest-ai/blob/main/docs/llm-providers.md). Mantenha chaves de API fora do controle de versão. ## Automação de bug bounty O Pentest-AI foi projetado para trabalho autorizado de bug bounty, onde permanecer no escopo e submeter apenas achados reproduzíveis é o que importa. ```sh # 1. Import the program's scope (HackerOne / Bugcrowd / Intigriti / YesWeHack) ptai bounty import --platform hackerone --file scope.json --out program.scope # 2. Run a scope-enforced engagement (a preflight shows exactly what will be # touched and asks you to confirm — nothing out of scope is ever hit) ptai start acme.com --scope-file program.scope --intensity stealth # 3. Turn verified findings into platform-ready submissions ptai bounty report <engagement-id> --platform hackerone --out submissions/ ``` - **O escopo é aplicado**, não é apenas consultivo: wildcards, CIDRs e exclusões fora do escopo, fail-closed, em cada agente e ferramenta. - **As submissões são submetíveis**: cada uma inclui um `curl` reproduzível, CVSS/CWE, impacto, remediação e o veredito de máquina com uma proof capsule reproduzível. - Ou execute o playbook de metodologia integrado de ponta a ponta: `ptai playbook run bug-bounty-web -i target=acme.com --execute`. [Guia completo de bug bounty →](https://github.com/0xSteph/pentest-ai/blob/main/docs/bug-bounty.md) ## Como a verificação funciona  1. **Encontre um candidato.** Uma sonda ou scanner identifica um comportamento que vale a pena investigar. 2. **Reproduza-o e verifique um controle.** Um oráculo nomeado repete o exploit e o compara com um controle que não deveria demonstrar a fraqueza. 3. **Mantenha a evidência.** Um achado verificado registra o oráculo e seus resultados em uma proof capsule portátil. Use `ptai replay` para verificá-la novamente. Por exemplo, um bypass de trusted-header deve retornar conteúdo privilegiado com o cabeçalho de ataque e negar acesso sem ele. Um servidor que responde a toda requisição com HTTP 200 não é evidência suficiente. **O modelo não pode conceder um veredito verificado.** A saída de scanners de terceiros permanece não verificada até que um oráculo a comprove de forma independente. Achados sem uma receita de verificação suportada permanecem candidatos. Um veredito verificado se aplica às condições testadas. Não significa que toda a aplicação está segura. As proof capsules não são assinadas; reexecutar a verificação é o mecanismo de confiança. [Leia o design de verificação](https://github.com/0xSteph/pentest-ai/blob/main/docs/why-verification.md) ## O que você pode fazer | Fluxo de trabalho | O que o Pentest-AI oferece | | --- | --- | | Investigar aplicações web | Sondas para injeção, controle de acesso, tratamento de requisições e outras fraquezas de aplicação | | Executar um engajamento de bug bounty | Importar o escopo do programa, aplicá-lo e gerar submissões prontas para a plataforma ([guia](https://github.com/0xSteph/pentest-ai/blob/main/docs/bug-bounty.md)) | | Trabalhar por meio de um cliente de IA | Ferramentas MCP para engajamentos, investigação e verificação | | Reproduzir um achado | Resultados de oráculos e proof capsules reproduzíveis | | Verificar uma correção | Reexecutar a verificação registrada contra o alvo atualizado | | Reportar para sua equipe | Relatórios e saída SARIF para fluxos de engenharia existentes | | Manter os dados do engajamento locais | Achados armazenados na sua máquina em SQLite | A cobertura varia por sonda e oráculo. Scanners opcionais precisam de seus próprios binários, e algumas integrações fornecem saída bruta em vez de achados estruturados. Consulte a [documentação](https://github.com/0xSteph/pentest-ai/tree/main/docs) e o [changelog](https://github.com/0xSteph/pentest-ai/blob/main/CHANGELOG.md) para sua versão; `main` pode conter trabalho não lançado. [Veja o inventário de capacidades verificado pela CI](https://github.com/0xSteph/pentest-ai/blob/main/docs/capability-inventory.md). ## Coloque achados verificados na CI Configure seu provedor de modelo, um alvo autorizado e o consentimento de primeira execução no seu ambiente de CI. Mantenha segredos no cofre de segredos do provedor de CI. ```sh ptai start https://your-authorized-target.example --ci --fail-on verified --no-sync ``` Exporte achados verificados usando o engagement ID da execução: ```sh ptai export YOUR_ENGAGEMENT_ID --sarif pentest.sarif ``` `--sarif` é uma opção de exportação, não uma opção de `ptai start`. Retenha o engagement ID e execute a exportação mesmo quando o gate de achados falhar, se você quiser evidências para builds com falha. Faça upload do arquivo resultante por meio da integração SARIF do seu provedor de CI. [Configuração e templates de CI](https://github.com/0xSteph/pentest-ai/blob/main/docs/ci-cd.md) ## Evidências, benchmarks e limites Achados de benchmark, conclusão de desafios e achados verificados por oráculo são medições diferentes. Estes relatórios registram as versões, alvos e metodologia por trás de seus resultados: - [Relatórios e artefatos de benchmark](https://github.com/0xSteph/pentest-ai/tree/main/benchmarks) - [Metodologia do Juice Shop](https://github.com/0xSteph/pentest-ai/blob/main/docs/benchmarks/juice-shop.md) - [Harness de teste vulnerável](https://github.com/0xSteph/pentest-ai/tree/main/tests/honeypot) - [Verificações de aplicação limpa](https://github.com/0xSteph/pentest-ai/tree/main/tests/cleanapp) **Espere cobertura incompleta.** Uma varredura sem achados verificados não é uma avaliação de segurança de tudo o que uma aplicação faz. Autenticação, estado da aplicação, classes de bugs não suportadas e mudanças ambientais afetam o que pode ser encontrado e reproduzido. Revise os resultados e mantenha um humano envolvido no engajamento. ## Dados e comportamento de rede Os achados são armazenados localmente. Contadores de uso anônimos são opt-in via `ptai telemetry enable`. Armazenamento local não significa que toda operação permanece na sua máquina: chamadas ao provedor de modelo e scanners instalados têm seu próprio comportamento de rede. Verificações de vulnerabilidade cega podem usar um colaborador out-of-band externo; os metadados de callback são visíveis para esse serviço. Use seu próprio colaborador quando necessário, ou desative callbacks: ```bash ptai start https://your-authorized-target.example --oast-server https://your-collaborator.example ptai start https://your-authorized-target.example --no-oast ``` ## Participe Use [Issues](https://github.com/0xSteph/pentest-ai/issues) para bugs reproduzíveis e [Discussions](https://github.com/0xSteph/pentest-ai/discussions) para perguntas e ideias. Veja o [guia de agentes e contribuidores](https://github.com/0xSteph/pentest-ai/blob/main/AGENTS.md) para instruções de build e teste. O repositório opcional [pentest-ai-agents](https://github.com/0xSteph/pentest-ai-agents) contém arquivos de subagentes do Claude Code. O Pentest-AI é de código aberto sob a [licença MIT](https://github.com/0xSteph/pentest-ai/blob/main/LICENSE).