Intégration IA
Comment utiliser l'assistant IA intégré et les outils MCP externes pour automatiser le triage VDP, l'évaluation de la sévérité et la communication avec les chercheurs.
Pourquoi c’est important
Le triage de sécurité est un travail répétitif à forte charge cognitive. Chaque rapport nécessite une vérification du périmètre, une détection des doublons, une évaluation de la sévérité et une réponse au chercheur. L’assistance IA réduit le temps moyen de triage de plusieurs heures à quelques minutes.
L’agent IA CSIRT peut lire l’intégralité de l’état de votre programme, suggérer une sévérité, vérifier les doublons et rédiger des réponses sans vous faire quitter le contexte de votre flux de travail. Il fonctionne comme un copilote, pas comme un pilote automatique : chaque action d’écriture nécessite votre confirmation explicite avant son exécution.
Filtrage IA (automatique)
Chaque rapport soumis est évalué automatiquement avant d’atteindre votre tableau de triage. Aucune configuration requise : le filtrage s’exécute à chaque soumission.
Le filtre détecte douze signaux de contenu IA bâclé :
| Signal | Ce qu’il repère |
|---|---|
| Noms de fonctions hallucinés | Références à des méthodes ou des API qui n’existent pas dans les frameworks courants ni dans le code cible |
| Numéros de CVE fabriqués | Identifiants CVE qui n’apparaissent pas dans la base NVD |
| CVE existante présentée comme nouvelle | Une CVE déjà publiée présentée comme s’il s’agissait d’une découverte inédite |
| Remédiation générique | Conseils de correction passe-partout, applicables à n’importe quelle vulnérabilité et non liés au problème signalé |
| Aucune preuve de concept précise | « Je peux le démontrer sur demande » sans étapes de reproduction, captures d’écran ni exploit exécutable |
| Langage de modèle | Formulations copiées-collées depuis un modèle de rapport de bug bounty, applicables à n’importe quelle cible |
| Étapes de reproduction vagues | Instructions de reproduction trop imprécises pour réellement suivre ou reproduire le problème |
| Structure de modèle | La présentation globale du rapport reflète un modèle générique plutôt qu’une véritable investigation |
| Détails techniques incohérents | Affirmations qui se contredisent ou qui ne tiennent pas techniquement |
| Références à des éléments de code inexistants | Fichiers, points de terminaison, paramètres ou symboles qui n’existent pas dans la cible |
| Description académique | Explication théorique d’une classe de vulnérabilité, sans preuve qu’elle affecte cette cible |
| Titre générique | Un titre qui nomme une classe de vulnérabilité sans rien de spécifique au rapport |
Chaque rapport reçoit un score de confiance (0–100) et une recommandation :
| Recommandation | Signification |
|---|---|
| Pass | Aucun signal de contenu bâclé détecté. Le rapport entre normalement dans le tableau de triage. |
| Review | Signaux légers présents. Le rapport entre dans le tableau de triage avec un badge d’avertissement. |
| Flag | Forts signaux de contenu bâclé. Le rapport est signalé sur sa carte du tableau de triage avec un badge IA et une justification. |
Les rapports signalés ne sont jamais rejetés automatiquement. Le résultat du filtrage et sa justification sont visibles dans la vue détaillée du rapport, afin que vous puissiez trancher. Ce n’est qu’un avis : le système est volontairement prudent pour éviter de signaler à tort des chercheurs légitimes, en particulier les locuteurs non natifs de l’anglais.
Agent IA CSIRT
Accédez à l’assistant IA via le chat de la barre latérale (l’icône de chat dans la navigation supérieure). Sur les pages VDP, l’assistant charge automatiquement l’agent CSIRT avec un accès complet aux données de votre programme.
L’agent a accès à 31 outils répartis en deux catégories :
- Outils de lecture (17) — interroger l’état du programme, les rapports, les chercheurs, le karma, les métriques, les données financières et les partages externes entre pairs
- Outils d’écriture (14) — mettre en place le programme (créer, configurer, activer, essai), trier les rapports, enregistrer les évaluations, résoudre les recours, ajuster le karma, envoyer des messages, approuver les primes, lier des références externes et partager des rapports avec des pairs externes
Les outils d’écriture nécessitent une confirmation. L’IA décrit ce qu’elle s’apprête à faire et attend votre approbation avant d’exécuter.
Outils de lecture
| Outil | Ce qu’il fait |
|---|---|
csirt_get_setup_guide |
Commencez ici. Vue d’ensemble du programme avec le nombre de rapports, la conformité aux SLA et une checklist de configuration — ainsi que le schéma de configuration, les valeurs par défaut recommandées et l’outil exact à appeler ensuite. Se comporte correctement pour les tout nouveaux comptes sans programme. |
csirt_get_program |
Configuration complète du programme — les sept onglets de paramètres rendus sous forme de données lisibles |
csirt_list_reports |
Liste de rapports filtrable avec indicateurs SLA (filtre par statut, sévérité, responsable, statut SLA) |
csirt_get_report |
Détail complet du rapport : évaluation, messages, chronologie, prime attribuée, profil du chercheur |
csirt_get_report_timeline |
Journal chronologique de chaque événement sur un rapport (transitions de statut, messages, évaluations, affectations) |
csirt_check_duplicates |
Trouve des doublons candidats à partir d’un point de terminaison et d’un type de vulnérabilité concordants |
csirt_validate_scope |
Vérifie si le point de terminaison concerné par un rapport relève du périmètre configuré du programme |
csirt_suggest_severity |
Renvoie le contexte du rapport ainsi que la grille des primes pour que l’IA puisse raisonner sur la sévérité appropriée |
csirt_get_bounty_benchmark |
Données historiques de primes pour un niveau de sévérité ou un type de vulnérabilité (médiane, moyenne, plage, exemples récents) |
csirt_list_messages |
Fil de messages complet d’un rapport, y compris les notes internes |
csirt_draft_response |
Charge le modèle Liquid correspondant avec des variables préremplies pour que l’IA puisse rédiger une réponse naturelle au chercheur. C’est un outil de lecture : il prépare le contexte mais n’envoie rien. Utilisez csirt_send_message pour envoyer. |
csirt_get_ledger |
Piste d’audit financière, filtrable par rapport, type d’entrée et plage de dates |
csirt_get_metrics |
MTTA, MTTR, taux de conformité aux SLA, rapports par sévérité et par statut, meilleurs chercheurs, total des primes |
csirt_get_researcher |
Profil du chercheur avec historique des soumissions, niveau de karma et total des primes gagnées |
csirt_get_researcher_karma |
Score de karma d’un chercheur, niveau, signal, répartition de la réputation et historique récent des événements de karma (recherche par ID préfixé ou par e-mail) |
csirt_list_researchers |
Annuaire de chercheurs filtrable avec le nombre de rapports et le total des primes |
csirt_list_report_shares |
Liste les partages externes actifs entre pairs sur un rapport (invitations par e-mail et toute personne disposant du lien), avec audit des consultations et l’URL partageable. Trouvez ici un share_id à révoquer via csirt_share_report. |
Outils d’écriture
Les outils d’écriture nécessitent une confirmation explicite avant exécution. L’IA vous indique ce qu’elle s’apprête à faire, et vous devez approuver l’action.
| Outil | Ce qu’il fait |
|---|---|
csirt_create_program |
Crée le VDP au statut Brouillon avec des valeurs par défaut sensées. Offre gratuite, idempotent. La première étape pour mettre en place un programme. |
csirt_configure_program |
Définit n’importe quel sous-ensemble des sept sections de configuration (périmètre, grille des primes, SLA, triage, paiements, spam, security.txt) en un seul appel. Montants en centimes ; les clés reflètent csirt_get_program. |
csirt_activate_program |
Met le programme en production — publie le portail public et accepte les vrais rapports. Nécessite une confirmation humaine ; refuse tant que le périmètre et l’e-mail de contact security.txt ne sont pas définis. |
csirt_start_trial |
Démarre un essai gratuit de 30 jours du module complémentaire VDP, sans carte et à annulation automatique. Ne capture jamais de carte — le paiement reste dans l’interface web. |
csirt_triage_report |
Fait avancer le statut d’un rapport (par ex. de Soumis à Trié) avec un commentaire facultatif. Le rejet nécessite un code de motif ; un rapport avec une prime approuvée doit être rejeté via csirt_dismiss_report
|
csirt_assess_report |
Enregistre un vecteur CVSS et une évaluation de sévérité sur un rapport |
csirt_dismiss_report |
Rejette un rapport avec un code de motif (hors périmètre, doublon, informatif, non reproductible, spam, autre) et une note facultative. Révoque une prime approuvée lorsque revoke_bounty: true est confirmé |
csirt_resolve_appeal |
Résout le recours en attente d’un chercheur sur un rapport (accepté ou rejeté). Accepter un rapport rejeté le rouvre ; rejeter confirme l’issue. Le chercheur reçoit la décision par e-mail. |
csirt_assign_report |
Affecte un rapport à un membre de l’équipe pour investigation |
csirt_send_message |
Envoie un message dans le fil du rapport — externe (visible par le chercheur) ou interne (équipe uniquement) |
csirt_approve_bounty |
Approuve un montant de prime pour un rapport résolu (module complémentaire VDP uniquement) |
csirt_link_asset |
Lie une référence externe (ticket Jira, PR de correctif GitHub/GitLab, issue Linear, document Notion ou toute URL) à un rapport pour que l’équipe puisse suivre les travaux associés. Interne uniquement — jamais montré au chercheur. |
csirt_share_report |
Accorde ou révoque l’accès d’un pair externe à un rapport. Ne partage que des champs techniques expurgés (titre, type, point de terminaison, description, repro, sévérité, pièces jointes) — l’identité du chercheur, la prime et les notes internes ne franchissent jamais la limite. |
csirt_adjust_karma |
Ajuste manuellement le karma d’un chercheur via un code de motif prédéfini, avec des points fixes, lié au rapport (et facultativement à un asset lié) qui le justifie. Le karma plafonne à 0 vers le bas. |
Tous les outils d’écriture nécessitent le scope csirt_write lorsqu’on y accède via des clients MCP externes.
Exemples d’invites
Utilisez-les dans le chat de la barre latérale sur n’importe quelle page VDP :
"Show me my triage queue — what's at risk of breaching SLA?"
"Check report rpt_abc123 for duplicates and suggest a severity."
"Draft a validation response for report rpt_abc123 explaining we've confirmed the SQL injection."
"What's our SLA compliance rate this month?"
"List all unassigned Critical reports."
"Triage report rpt_abc123 to Validated and assign it to Alice."
"Approve a $500 bounty for report rpt_abc123 — it's a High severity XSS."
"Show me the researcher profile for the person who submitted rpt_abc123."
"What does the bounty history look like for High severity findings?"
L’assistant utilise les outils de lecture pour rassembler le contexte, puis les outils d’écriture lorsque vous lui demandez d’agir. Vous pouvez enchaîner les commandes naturellement — « check for duplicates, suggest severity, and draft a response » exécute trois outils à la suite.
Connexion via MCP (clients externes)
Pour les assistants IA externes comme Claude Desktop, Claude Code ou des agents MCP personnalisés, les 31 outils CSIRT sont disponibles via l’API MCP. Le module CSiRT doit être accordé sur l’écran de consentement pour qu’un outil CSIRT soit disponible, et les outils d’écriture nécessitent le scope csirt_write.
Pour mettre en place un programme de A à Z avec un agent, voir Configurer un VDP avec un agent IA, qui déroule la chaîne csirt_get_setup_guide → csirt_create_program → csirt_configure_program → csirt_activate_program.
Voir Connecter des assistants IA pour les instructions de configuration, le flux d’autorisation et la gestion des scopes.
Une fois connecté, le client externe a accès au même ensemble d’outils que le chat intégré de la barre latérale. Commencez par csirt_get_setup_guide pour obtenir une vue d’ensemble de votre programme avant d’utiliser les autres outils.
Point de terminaison llms.txt
Votre portail de sécurité sert automatiquement une description lisible par machine à l’adresse /llms.txt. Elle suit le standard llms.txt et fournit aux assistants IA un contexte structuré sur votre programme de divulgation des vulnérabilités — périmètre, règles d’engagement et consignes de soumission. Aucune configuration nécessaire ; elle se met à jour automatiquement à mesure que vous modifiez les paramètres de votre programme.
En bref
- Ouvrez un rapport et essayez « Check for duplicates » dans la barre latérale IA
- Demandez à l’assistant « What’s our SLA compliance this month? » depuis le tableau de bord VDP
- Essayez « Draft a dismissal response » sur un rapport hors périmètre
- Examinez le badge de filtrage IA sur un rapport signalé pour comprendre ce qui l’a déclenché
-
Connectez un client MCP externe et appelez
csirt_get_setup_guidepour vérifier l’accès - Lisez Trier les rapports pour le flux de triage complet que ces outils prennent en charge