
Pentester IA open source qui prouve chaque découverte. Des oracles machine réexécutent chaque exploit ; les bugs vérifiés livrent une capsule de preuve que vous pouvez rejouer vous-même.
 [](https://pypi.org/project/ptai/) [](https://pypi.org/project/ptai/) [](https://github.com/0xSteph/pentest-ai/blob/main/LICENSE) [Site web](https://pentestai.xyz/) · [Démarrage rapide](#quick-start) · [Bug bounty](#bug-bounty-automation) · [Vérification](#how-verification-works) · [Documentation](https://github.com/0xSteph/pentest-ai/tree/main/docs) · [Issues](https://github.com/0xSteph/pentest-ai/issues) **Pentest-AI est un outil open source de test d'intrusion et de bug bounty assisté par IA qui prouve chaque résultat.** Il connecte un client ou un modèle d'IA à un véritable workflow de pentest — investigation d'applications web, découverte et reproduction de vulnérabilités, et utilisation d'**oracles machine pour vérifier si un exploit fonctionne réellement**. Pas de preuve, pas de résultat : les résultats vérifiés s'accompagnent de preuves que vous pouvez rejouer vous-même. Utilisez-le via **MCP** (Claude Code, Codex, Cursor, VS Code), depuis la **CLI**, ou en **CI/CD**. Le modèle pilote l'investigation ; un oracle indépendant décide si un résultat mérite un verdict vérifié — la sortie est donc du signal, pas du bruit généré par IA. **Conçu pour le bug bounty autorisé :** importez le périmètre d'un programme (HackerOne, Bugcrowd, Intigriti, YesWeHack), lancez une mission encadrée par le périmètre, et transformez chaque résultat vérifié en soumission prête pour la plateforme. [Accéder au workflow bug bounty →](#bug-bounty-automation) > Ne testez que les systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation explicite. Lisez la [politique d'utilisation acceptable](https://pentestai.xyz/aup) et les [conditions](https://pentestai.xyz/terms) avant de lancer une mission. ## Démarrage rapide ### Recommandé : Codex ou Claude Code Utilisez Python **3.10–3.14** et installez d'abord [pipx](https://pipx.pypa.io/stable/installation/). Exécutez `pipx ensurepath` et rouvrez votre terminal si nécessaire. pipx isole les dépendances de Pentest-AI et rend ses commandes disponibles dans tous les dossiers. ```sh pipx install ptai ptai setup --mcp ``` Installez d'abord la CLI de votre client IA. La configuration demande confirmation avant de connecter **tous les clients pris en charge détectés**, y compris Codex et Claude Code lorsqu'ils sont installés. Elle préserve les enregistrements existants. Redémarrez votre client ensuite. L'assistant utilise les **paramètres à l'échelle de l'utilisateur**. Il n'installe pas de clients, ne vous connecte pas, ne télécharge pas de modèles et ne configure pas Ollama. Votre client IA fournit le modèle ; aucune clé API de modèle distincte n'est requise par le serveur MCP. Utilisez `ptai setup --mcp --dry-run` pour prévisualiser les changements. Consultez la [configuration mono-client et par dépôt](https://pentestai.xyz/docs/ai-clients/) pour les instructions Codex `.codex/config.toml` et Claude Code `.mcp.json`. Pour les mises à niveau, utilisez `pipx upgrade ptai`. Dans un environnement virtuel activé existant, `python -m pip install --upgrade ptai` est également pris en charge ; gardez cet environnement disponible après l'avoir enregistré auprès de votre client IA. ### Alternative : Ollama et modèles locaux Installez Pentest-AI comme ci-dessus, mais ignorez la configuration MCP pour cette approche. [Installez et démarrez Ollama](https://docs.ollama.com/quickstart), puis récupérez un modèle avec prise en charge du tool-calling. Utilisez `ollama list` pour trouver son nom exact installé. ```bash export PENTEST_AI_LLM_PROVIDER=ollama export PENTEST_AI_MODEL="your-installed-model" ptai start https://your-authorized-target.example --no-sync ``` Dans PowerShell : ```powershell $env:PENTEST_AI_LLM_PROVIDER = "ollama" $env:PENTEST_AI_MODEL = "your-installed-model" ptai start https://your-authorized-target.example --no-sync ``` Remplacez les valeurs fictives avant d'exécuter. Un modèle local ne nécessite aucune clé API cloud. La qualité du modèle et la mémoire disponible influencent les résultats. Consultez le [guide des modèles](https://pentestai.xyz/docs/ai-clients/) pour la configuration du point de terminaison. ### Essayez la démo intégrée Aucune clé API ni cible externe requise. ```bash pipx install ptai ptai demo ``` La démo teste une application vulnérable intégrée, rejoue un résultat depuis sa capsule de preuve et vérifie les routes durcies. Inspectez le workflow de preuve avant de configurer une véritable mission. ### Autres fournisseurs de modèles Pour les modèles cloud autonomes et les dépendances de scanners optionnelles, consultez le [guide d'installation](https://pentestai.xyz/docs/getting-started/) et le [guide des fournisseurs](https://github.com/0xsteph/pentest-ai/blob/main/docs/llm-providers.md). Gardez les clés API hors du contrôle de version. ## Automatisation du bug bounty Pentest-AI est conçu pour le travail de bug bounty autorisé, où rester dans le périmètre et ne soumettre que des résultats reproductibles sont ce qui compte. ```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/ ``` - **Le périmètre est appliqué**, pas indicatif : jokers, CIDRs et exclusions hors périmètre, en échec fermé, sur chaque agent et outil. - **Les soumissions sont prêtes à être envoyées** : chacune inclut un `curl` reproductible, CVSS/CWE, l'impact, la remédiation, et le verdict machine avec une capsule de preuve rejouable. - Ou exécutez le playbook de méthodologie intégré de bout en bout : `ptai playbook run bug-bounty-web -i target=acme.com --execute`. [Guide complet du bug bounty →](https://github.com/0xSteph/pentest-ai/blob/main/docs/bug-bounty.md) ## Comment fonctionne la vérification  1. **Trouver un candidat.** Une sonde ou un scanner identifie un comportement qui mérite investigation. 2. **Le reproduire et vérifier un contrôle.** Un oracle nommé répète l'exploit et le compare à un contrôle qui ne devrait pas démontrer la faiblesse. 3. **Conserver les preuves.** Un résultat vérifié enregistre l'oracle et ses résultats dans une capsule de preuve portable. Utilisez `ptai replay` pour le vérifier à nouveau. Par exemple, un contournement par en-tête de confiance doit renvoyer du contenu privilégié avec l'en-tête d'attaque et refuser l'accès sans celui-ci. Un serveur qui répond à chaque requête par HTTP 200 ne constitue pas une preuve suffisante. **Le modèle ne peut pas attribuer un verdict vérifié.** La sortie d'un scanner tiers reste non vérifiée jusqu'à ce qu'un oracle la prouve indépendamment. Les résultats sans recette de vérification prise en charge restent des candidats. Un verdict vérifié s'applique aux conditions testées. Cela ne signifie pas que l'application entière est sécurisée. Les capsules de preuve ne sont pas signées ; rejouer la vérification est le mécanisme de confiance. [Lire la conception de la vérification](https://github.com/0xSteph/pentest-ai/blob/main/docs/why-verification.md) ## Ce que vous pouvez faire | Workflow | Ce que Pentest-AI fournit | | --- | --- | | Investiguer des applications web | Sondes pour l'injection, le contrôle d'accès, la gestion des requêtes et d'autres faiblesses applicatives | | Mener une mission de bug bounty | Importer le périmètre du programme, l'appliquer et générer des soumissions prêtes pour la plateforme ([guide](https://github.com/0xSteph/pentest-ai/blob/main/docs/bug-bounty.md)) | | Travailler via un client IA | Outils MCP pour les missions, l'investigation et la vérification | | Reproduire un résultat | Résultats d'oracle et capsules de preuve rejouables | | Vérifier un correctif | Rejouer la vérification enregistrée contre la cible mise à jour | | Rapporter à votre équipe | Rapports et sortie SARIF pour les workflows d'ingénierie existants | | Garder les données de mission en local | Résultats stockés sur votre machine dans SQLite | La couverture varie selon la sonde et l'oracle. Les scanners optionnels nécessitent leurs propres binaires, et certaines intégrations fournissent une sortie brute plutôt que des résultats structurés. Consultez la [documentation](https://github.com/0xSteph/pentest-ai/tree/main/docs) et le [changelog](https://github.com/0xSteph/pentest-ai/blob/main/CHANGELOG.md) pour votre version ; `main` peut contenir du travail non publié. [Voir l'inventaire des capacités vérifié par la CI](https://github.com/0xSteph/pentest-ai/blob/main/docs/capability-inventory.md). ## Intégrer les résultats vérifiés dans la CI Configurez votre fournisseur de modèle, une cible autorisée et le consentement de première exécution dans votre environnement CI. Gardez les secrets dans le coffre de secrets du fournisseur CI. ```sh ptai start https://your-authorized-target.example --ci --fail-on verified --no-sync ``` Exportez les résultats vérifiés en utilisant l'ID de mission issu de l'exécution : ```sh ptai export YOUR_ENGAGEMENT_ID --sarif pentest.sarif ``` `--sarif` est une option d'export, pas une option de `ptai start`. Conservez l'ID de mission et lancez l'export même lorsque le seuil de résultats échoue si vous voulez des preuves pour les builds échoués. Téléversez le fichier résultant via l'intégration SARIF de votre fournisseur CI. [Configuration et modèles CI](https://github.com/0xSteph/pentest-ai/blob/main/docs/ci-cd.md) ## Preuves, benchmarks et limites Les résultats de benchmark, la complétion de défis et les résultats vérifiés par oracle sont des mesures différentes. Ces rapports enregistrent les versions, les cibles et la méthodologie derrière leurs résultats : - [Rapports et artefacts de benchmark](https://github.com/0xSteph/pentest-ai/tree/main/benchmarks) - [Méthodologie Juice Shop](https://github.com/0xSteph/pentest-ai/blob/main/docs/benchmarks/juice-shop.md) - [Harnais de test vulnérable](https://github.com/0xSteph/pentest-ai/tree/main/tests/honeypot) - [Vérifications d'application propre](https://github.com/0xSteph/pentest-ai/tree/main/tests/cleanapp) **Attendez-vous à une couverture incomplète.** Un scan sans résultat vérifié n'est pas une évaluation de sécurité de tout ce que fait une application. L'authentification, l'état de l'application, les classes de bugs non prises en charge et les changements environnementaux affectent ce qui peut être trouvé et reproduit. Examinez les résultats et gardez un humain impliqué dans la mission. ## Données et comportement réseau Les résultats sont stockés localement. Les compteurs d'utilisation anonymes sont activés sur opt-in via `ptai telemetry enable`. Le stockage local ne signifie pas que chaque opération reste sur votre machine : les appels au fournisseur de modèle et les scanners installés ont leur propre comportement réseau. Les vérifications de vulnérabilités aveugles peuvent utiliser un collaborateur externe hors bande ; les métadonnées de callback sont visibles par ce service. Utilisez votre propre collaborateur lorsque c'est nécessaire, ou désactivez les callbacks : ```bash ptai start https://your-authorized-target.example --oast-server https://your-collaborator.example ptai start https://your-authorized-target.example --no-oast ``` ## Participer Utilisez les [Issues](https://github.com/0xSteph/pentest-ai/issues) pour les bugs reproductibles et les [Discussions](https://github.com/0xSteph/pentest-ai/discussions) pour les questions et les idées. Consultez le [guide des agents et contributeurs](https://github.com/0xSteph/pentest-ai/blob/main/AGENTS.md) pour les instructions de build et de test. Le dépôt optionnel [pentest-ai-agents](https://github.com/0xSteph/pentest-ai-agents) contient les fichiers de sous-agents Claude Code. Pentest-AI est open source sous [licence MIT](https://github.com/0xSteph/pentest-ai/blob/main/LICENSE).