Retour aux mises à jour
New releaseAug 22, 2026

burp-ai-agent v1.0.0

Extension Burp Suite qui ajoute des outils MCP intégrés, une analyse assistée par IA, des contrôles de confidentialité, un scan passif et actif, et plus encore.

Partager

Custom AI Agent

Le pont entre Burp Suite et l'IA moderne.

Note sur le nom : Cette extension est publiée sous le nom Custom AI Agent (anciennement Burp AI Agent). Elle a été renommée pour se conformer aux exigences de dénomination du BApp Store de PortSwigger et pour éviter toute confusion avec le fournisseur Burp AI intégré à Burp Suite. Le dépôt GitHub (github.com/six2dez/burp-ai-agent), le site de documentation (burp-ai-agent.six2dez.com) et le répertoire de configuration (~/.burp-ai-agent/) conservent l'identifiant burp-ai-agent pour des raisons de continuité.

Capture d'écran de Custom AI Agent

Custom AI Agent est une extension pour Burp Suite qui intègre l'IA dans votre flux de travail de sécurité. Utilisez des modèles locaux ou des fournisseurs cloud, connectez des agents IA externes via MCP, et laissez les scanners passifs/actifs détecter les vulnérabilités pendant que vous vous concentrez sur les tests manuels.

Nouveautés de la v0.9.0

  • Backend Anthropic natif (CAP-01) — API Anthropic Messages en direct via le transport HTTP de Burp ; tout le trafic apparaît dans l'historique du Proxy.
  • Secrets chiffrés au repos AES-256-GCM (SEC-01) — toutes les clés API et tous les jetons stockés sont chiffrés avec une clé propre à l'installation via javax.crypto. La clé maîtresse réside dans les Préférences de Burp aux côtés du texte chiffré, ce qui protège contre une inspection occasionnelle d'un fichier de préférences, mais pas contre un attaquant local — voir Notes de confidentialité et de sécurité.
  • Anonymisation d'hôte par véritable HKDF (PRIV-01) — le mode STRICT utilise désormais une véritable extraction/expansion HMAC-SHA256 (et non du SHA-256 salé) pour l'anonymisation des hôtes.
  • Rédaction du corps des requêtes/réponses + motifs personnalisés (PRIV-02) — le pipeline de rédaction couvre les champs du corps et les motifs regex configurables par l'utilisateur, validés contre ReDoS.
  • Détecteur de secrets avant envoi (PRIV-03) — avertit avant que des valeurs à haute entropie ne quittent Burp ; les actions de la liste blanche sont journalisées dans l'audit.
  • Serveurs MCP externes (CAP-02) — connectez des serveurs MCP externes/personnalisés (SSE ou stdio) afin que les agents IA puissent appeler leurs outils en plus des outils intégrés de Burp.
  • Garde-fous de budget de jetons par session (CAP-04) — BudgetGuard plafonne la consommation du scanner passif avec les états WARN/CAP/OFF ; le scanner passif se met automatiquement en pause au plafond absolu.

Points forts

  • 12 backends IA — Burp AI (intégré), Anthropic, Ollama, LM Studio, NVIDIA NIM, Perplexity, OpenAI-compatible générique, Gemini CLI, Claude CLI, Codex CLI, OpenCode CLI, Copilot CLI.
  • 59 outils MCP — Laissez Claude Desktop (ou tout client MCP) piloter Burp de manière autonome (8 outils IA natifs de l'extension dans la version store, les 59 dans la version complète).
  • Accès MCP limité au périmètre — Confinez facultativement chaque outil MCP à vos hôtes dans le périmètre, afin que les clients IA externes ne puissent pas atteindre des cibles hors périmètre via Burp.
  • 62 classes de vulnérabilités — Des scanners IA passifs et actifs couvrant l'injection, l'authentification, la cryptographie, et plus encore. Le scanner passif s'exécute comme un PassiveScanCheck de Burp (Burp Pro).
  • Installation via Releases — Téléchargez le JAR depuis Releases. Pas sur le BApp Store : la soumission est ouverte depuis janvier 2026.
  • Interface adaptée au thème — Un système de conception interne habille le panneau de paramètres et s'adapte automatiquement au commutateur clair/sombre de Burp.
  • Burp Scan Skill — Utilisez votre assistant de codage IA préféré (Claude Code, Gemini CLI, Codex, etc.) comme scanner via MCP.
  • 3 modes de confidentialité — STRICT / BALANCED / OFF. Rédigez les données sensibles avant qu'elles ne quittent Burp.
  • Bibliothèque de prompts personnalisés — Enregistrez des prompts libres par contexte (requête HTTP ou problème de scanner) ; lancez-les depuis le menu contextuel ou saisissez-en des ponctuels via Custom….
  • Journalisation d'audit — JSONL avec hachage d'intégrité SHA-256 pour la conformité ; chaque lancement est estampillé avec promptSource / contextKind pour la reproductibilité.

Démarrage rapide

1. Installer

Téléchargez le dernier JAR depuis Releases, ou compilez à partir des sources (Java 21) :

git clone https://github.com/six2dez/burp-ai-agent.git
cd burp-ai-agent

# Full build (default, GitHub releases) — all 59 MCP tools
JAVA_HOME=/path/to/jdk-21 ./gradlew clean shadowJar
# Output: build/libs/Custom-AI-Agent-full-<version>.jar

# Store build (BApp Store submission) — 8 extension-native AI MCP tools only
JAVA_HOME=/path/to/jdk-21 ./gradlew clean shadowJar -PstoreBuild=true
# Output: build/libs/Custom-AI-Agent-<version>.jar

2. Charger dans Burp

  1. Ouvrez Burp Suite (Community ou Professional).
  2. Allez dans Extensions > Installed > Add.
  3. Sélectionnez Java comme type d'extension et choisissez le fichier .jar.

L'extension s'enregistre dans Burp sous le nom Custom AI Agent (le nom dans la liste des Extensions et l'onglet Suite) pour la distinguer du fournisseur Burp AI intégré à Burp.

Chargement de l'extension

3. Profils d'agent

L'extension installe automatiquement les profils fournis dans ~/.burp-ai-agent/AGENTS/ au premier lancement. Déposez des fichiers *.md supplémentaires dans ce répertoire pour ajouter des profils personnalisés.

4. Configurer un backend

Ouvrez l'onglet AI Agent et allez dans Settings. Choisissez un backend :

BackendTypeConfiguration
Burp AI (intégré)Intégré au processusUtilise l'IA intégrée de Burp Suite Pro lorsqu'elle est disponible ; aucune configuration supplémentaire requise.
OllamaHTTP localInstallez Ollama, lancez ollama serve, téléchargez un modèle (ollama pull llama3.1).
LM StudioHTTP localInstallez LM Studio, chargez un modèle, démarrez le serveur.
NVIDIA NIMHTTPUtilisez le point de terminaison par défaut https://integrate.api.nvidia.com, définissez votre clé API NVIDIA et choisissez un modèle tel que moonshotai/kimi-k2.5.
PerplexityHTTPUtilisez le point de terminaison par défaut https://api.perplexity.ai, définissez votre clé API pplx-... et choisissez un modèle tel que sonar, sonar-pro ou sonar-reasoning.
OpenAI-compatible génériqueHTTPFournissez une URL de base et un modèle pour tout fournisseur compatible OpenAI.
Gemini CLICLI cloudInstallez gemini, lancez gemini auth login.
Claude CLICLI cloudInstallez claude, définissez ANTHROPIC_API_KEY ou lancez claude login.
Codex CLICLI cloudInstallez codex, définissez OPENAI_API_KEY.
OpenCode CLICLI cloudInstallez opencode, configurez les identifiants du fournisseur.
Copilot CLICLI cloudInstallez copilot et connectez-vous avec votre compte GitHub.
AnthropicAPI cloudSaisissez votre clé API Anthropic dans Settings. Le trafic API transite par le proxy de Burp. Voir docs/anthropic-backend.md.

Pour NVIDIA NIM, le backend attend le même flux de type chat-completions que le point de terminaison hébergé par NVIDIA. Une configuration fonctionnelle est la suivante :

Backend: NVIDIA NIM
Base URL: https://integrate.api.nvidia.com
Model: moonshotai/kimi-k2.5
API Key: <your nvapi token>

Laissez les en-têtes supplémentaires vides, sauf si votre passerelle les exige. L'extension envoie les requêtes à /v1/chat/completions et utilise automatiquement le jeton bearer configuré.

5. Lancer votre première analyse

  1. Naviguez sur une cible via le Proxy de Burp.
  2. Faites un clic droit sur une requête dans Proxy > HTTP History.
  3. Sélectionnez Extensions > Custom AI Agent > Analyze this request.
  4. Une session de chat s'ouvre avec l'analyse de l'IA.

Menu contextuel

6. Connecter Claude Desktop via MCP (facultatif)

Activez le serveur MCP dans Settings > MCP Server et ajoutez ceci à votre configuration Claude Desktop :

macOS : ~/Library/Application Support/Claude/claude_desktop_config.json Windows : %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "burp-ai-agent": {
      "command": "npx",
      "args": [
        "-y",
        "supergateway",
        "--sse",
        "http://127.0.0.1:9876/sse"
      ]
    }
  }
}

Nécessite Node.js 18+. Si vous activez External Access, le client MCP doit envoyer Authorization: Bearer <token> à chaque requête.

Vous pouvez également enregistrer des serveurs MCP externes ou personnalisés dans Settings > MCP > External Servers (transports SSE ou stdio). Les jetons d'authentification des serveurs externes sont stockés chiffrés au repos, avec la réserve décrite dans Notes de confidentialité et de sécurité. Voir docs/external-mcp-servers.md pour les détails de configuration et les notes de sécurité.

Burp Scan Skill (analyse IA depuis le terminal)

Le skill burp-scan vous permet d'utiliser n'importe quel assistant de codage IA (Claude Code, Gemini CLI, Codex, etc.) comme scanner Burp depuis votre terminal. À la place de l'IA intégrée du plugin, l'IA de votre terminal devient le moteur de raisonnement tandis que Burp fournit les outils via MCP.

Ce qu'il contient

  • Référence des outils MCP (jusqu'aux 59 outils de la version complète) organisée par action d'analyse
  • Protocole d'analyse passive (analyse du trafic sans envoyer de requêtes)
  • Bibliothèque de payloads de tests actifs (plus de 200 payloads pour 62 classes de vulnérabilités avec motifs de détection)
  • Flux de travail d'analyse de bout en bout (scope -> passive -> active -> OOB -> rapport)
  • Protocole de création de problèmes avec correspondance sévérité/confiance

Installation pour Claude Code

Copiez le skill dans votre répertoire de skills Claude Code :

# Global (available in all projects)
cp -r skills/burp-scan ~/.claude/skills/burp-scan

# Or project-specific
cp -r skills/burp-scan .claude/skills/burp-scan

Utilisez ensuite /burp-scan dans Claude Code ou laissez-le se déclencher automatiquement lorsque vous mentionnez une analyse Burp.

Installation pour d'autres assistants IA

Le skill est un fichier Markdown autonome situé dans skills/burp-scan/SKILL.md. Vous pouvez l'utiliser avec tout assistant IA prenant en charge les prompts système ou les fichiers de contexte :

  • Gemini CLI / Codex / OpenCode : ajoutez-le comme fichier de contexte ou collez-le dans votre prompt système
  • Clients MCP personnalisés : incluez le contenu du skill comme contexte système en plus de votre connexion MCP
  • Tout LLM : le fichier est autonome — fournissez-le comme contexte en même temps que vos définitions d'outils MCP

Exemple d'utilisation

Vous : Connectez-vous au MCP de Burp sur localhost:9876 et analysez l'historique du proxy pour détecter des vulnérabilités IDOR

IA : [Utilise proxy_http_history pour récupérer le trafic]
    [Identifie les points de terminaison avec des identifiants numériques]
    [Envoie http1_request avec les payloads ID+1, ID-1]
    [Compare les réponses pour des données utilisateur différentes]
    [Crée issue_create pour l'IDOR confirmé]

Le skill et le scanner intégré du plugin sont complémentaires : le plugin exécute une analyse automatisée en arrière-plan, tandis que le skill permet une analyse interactive guidée par l'analyste depuis votre terminal.

Documentation

La documentation complète est disponible sur burp-ai-agent.six2dez.com.

Guides de l'opérateur

Notes de confidentialité et de sécurité

  • Secrets au repos — ce que le chiffrement fait et ne fait pas. Toutes les clés API et tous les jetons stockés (Anthropic, jeton bearer MCP, mot de passe du keystore TLS, etc.) sont chiffrés avec AES-256-GCM à l'aide d'une clé maîtresse aléatoire propre à l'installation (SecretCipher). Cette clé maîtresse est elle-même stockée dans les Préférences de Burp, encodée en Base64, à côté du texte chiffré qu'elle protège (préférence secret.master.key.v1). Quiconque peut lire vos Préférences de Burp peut donc également lire la clé et déchiffrer les secrets. Cela ne protège pas contre un attaquant local ou un processus malveillant s'exécutant sous votre utilisateur ; considérez-le comme de l'obfuscation contre l'inspection occasionnelle d'un fichier de préférences ou d'un projet exporté. Si un identifiant doit survivre à ce modèle de menace, conservez-le dans un coffre-fort de secrets dédié et collez-le à chaque session.
  • Les appels d'outils émis par le modèle nécessitent votre approbation. Un appel d'outil que l'extension extrait de la sortie du modèle ne s'exécute pas contre Burp tant que vous n'avez pas décidé. Chaque outil porte un niveau de sécurité requis : exécution automatique (lecture seule et sortie limitée), confirmation via une option Approve for session, ou confirmation à chaque appel. Un nom d'outil que le catalogue ne reconnaît pas se résout en confirmation à chaque fois, jamais en automatique, et les outils externes avec espace de noms ext: demandent toujours une confirmation à chaque appel. La décision apparaît sous forme de carte intégrée dans la transcription du chat plutôt que sous forme de boîte de dialogue modale, et chaque décision est enregistrée — un événement d'audit plus une ligne dans l'onglet Output de Burp, la journalisation d'audit étant désactivée par défaut. Un refus renvoie au modèle un résultat neutre « non autorisé, ne pas réessayer » plutôt qu'une erreur. Ce niveau est indépendant du commutateur Unsafe Mode : Unsafe Mode détermine si un outil peut jamais s'exécuter, le niveau détermine si le modèle peut l'exécuter sans demander. Justification de conception : DECISIONS.md ADR-15. Runbook opérateur : docs/ui-safety-guide.md.
  • Le mode de confidentialité STRICT anonymise les hôtes à l'aide d'un véritable HKDF (extraction/expansion HMAC-SHA256). Le mode BALANCED rédige les cookies, les jetons et les en-têtes d'authentification. Le mode OFF envoie le trafic tel quel.
  • Les sorties des serveurs MCP externes sont enveloppées dans un marqueur de frontière de confiance avant d'entrer dans le prompt IA, empêchant l'injection de prompt à partir de réponses de serveurs non fiables.

Les paramètres sont versionnés par schéma en interne (settings.schema.version) et migrés de manière additive au chargement pour des mises à niveau sûres.

Prérequis

  • Burp Suite Community ou Professional (2023.12+)
  • Java 21 (inclus avec les versions récentes de Burp pour l'exécution ; requis séparément pour la compilation à partir des sources)
  • Au moins un backend IA configuré (voir le tableau ci-dessus)

Licence

Ce projet est distribué sous la licence MIT.

Avertissement

L'utilisation de Custom AI Agent pour attaquer des cibles sans consentement préalable est illégale. Il incombe à l'utilisateur de respecter toutes les lois applicables. Les développeurs déclinent toute responsabilité en cas d'utilisation abusive ou de dommages causés par cet outil. Utilisez-le de manière responsable.

Contribution

Les issues et les pull requests sont les bienvenues. Consultez CONTRIBUTING.md pour la configuration de développement et les directives, ou la Documentation développeur pour les détails d'architecture.

Catégories