
pentest-ai v1.4.0
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.

Site web · Démarrage rapide · Bug bounty · Vérification · Documentation · Issues
Pentest-AI est un outil open source de tests d'intrusion et de bug bounty assisté par IA qui distingue les résultats prouvés des suppositions. 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 recours à des oracles machine pour vérifier si un exploit fonctionne réellement. Un résultat qu'aucun oracle ne peut prouver reste étiqueté comme candidat, et un résultat vérifié est accompagné des requêtes et réponses qui l'ont prouvé.
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é, afin que les suppositions du modèle ne soient jamais présentées comme des résultats.
Conçu pour le bug bounty autorisé : un profil par programme contient son périmètre, son taux déclaré et votre identifiant de chercheur, une exécution à blanc montre le plan avant tout envoi, et les brouillons de rapport proviennent uniquement de résultats vérifiés. Accéder au workflow bug bounty →
Ne testez que les systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation explicite d'évaluation. Lisez la politique d'utilisation acceptable et les conditions avant de lancer une mission.
Démarrage rapide
Recommandé : Codex ou Claude Code
Utilisez Python 3.10 à 3.14 et installez d'abord pipx. 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.
pipx install ptai
ptai setup --mcp
Installez d'abord le CLI de votre client IA. La configuration demande une confirmation avant de connecter tous les clients pris en charge détectés, y compris à la fois Codex et Claude Code lorsqu'ils sont installés. Elle préserve les enregistrements existants. Redémarrez votre client par la suite.
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é d'API de modèle distincte n'est requise par le serveur MCP. Utilisez ptai setup --mcp --dry-run pour prévisualiser les modifications. Consultez la configuration mono-client et par dépôt 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 ; conservez 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, puis téléchargez un modèle
prenant en charge l'appel d'outils. Utilisez ollama list pour trouver son nom exact installé.
export PENTEST_AI_LLM_PROVIDER=ollama
export PENTEST_AI_MODEL="your-installed-model"
ptai start https://your-authorized-target.example --no-sync
Dans 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 espaces réservés avant l'exécution. Un modèle local ne nécessite aucune clé d'API cloud. La qualité du modèle et la mémoire disponible influencent les résultats. Consultez le guide des modèles pour la configuration du point de terminaison.
Essayez la démo intégrée
Aucune clé d'API ni cible externe requise.
pipx install ptai
ptai demo
La démo teste une application vulnérable fournie, rejoue une découverte depuis sa capsule de preuve et vérifie les routes durcies. Inspectez le flux de travail des preuves avant de configurer un engagement réel.
Autres fournisseurs de modèles
Pour les modèles cloud autonomes et les dépendances optionnelles des scanners, consultez le guide d'installation et le guide des fournisseurs. Gardez les clés API hors du contrôle de source.
Automatisation du bug-bounty
Le mode bug bounty est destiné aux programmes qui autorisent les tests automatisés. Vous écrivez un
profil par programme avec son périmètre, son débit déclaré et votre identifiant de chercheur.
--program applique ensuite tout cela à chaque requête, et --dry-run affiche le
plan sans rien envoyer.
# ~/.pentest-ai/programs/acme.toml
platform = "hackerone"
handle = "acme"
researcher = "your-h1-username" # sent on every request in X-Bug-Bounty
rps = 5.0 # the rate the program states
scope = ["*.acme.com", "api.acme.com"]
excluded = ["status.acme.com"]
scanners_allowed = true
allow_race = false
ptai start https://api.acme.com --program acme --dry-run # sends nothing
ptai start https://api.acme.com --program acme --auto-auth
ptai bounty-report <engagement-id> --program acme --output-dir drafts/
Sous --program :
- Chaque requête est soumise au débit du programme, y compris les outils externes. Un outil qui ne peut pas être contraint à sa part du débit est ignoré et le scan le signale.
- Le périmètre provient du profil et de nulle part ailleurs. Les requêtes hors périmètre sont refusées, et les exclusions l'emportent sur les jokers.
- Chaque requête porte votre identifiant de chercheur dans
X-Bug-Bounty, ou dans l'en-tête nommé par le programme (PTAI_BOUNTY_HEADER_NAME). - Les outils de wordlist tels que gobuster et ffuf sont refusés. Deux sondes de découverte intégrées essaient encore une liste de chemins probables, environ 500 requêtes.
- Les charges utiles conçues pour épuiser ou faire planter la cible ne sont pas envoyées. Les sondes qui modifient les comptes d'autres utilisateurs ou un état partagé ne s'exécutent pas. Les rafales de conditions de course ne s'exécutent que lorsque le profil définit
allow_race = true. - Les
429etRetry-Aftersont respectés. Une cible qui ralentit reçoit un débit plus faible, et une cible qui reste dégradée arrête le scan avec la raison enregistrée. - Un programme qui interdit les scanners nécessite un
yessaisi, car le scanner peut annuler le safe harbour.
ptai bounty-report rédige des rapports uniquement à partir de constats vérifiés par oracle, avec des étapes de reproduction tirées des requêtes de l'oracle lui-même. Reproduisez chacun manuellement et soumettez-le vous-même. ptai bounty import convertit le fichier de périmètre exporté d'un programme en entrées d'autorisation et d'exclusion pour le profil.