Mettre en place un VDP avec un agent IA
Créez un brouillon de VDP dans Kit, puis configurez-le et publiez-le avec un agent IA via les outils MCP.
Pourquoi c’est important
Mettre en place un programme de divulgation des vulnérabilités implique de parcourir sept sections de configuration, de générer une security.txt et de publier un portail de signalement public. Un agent IA peut configurer et publier un brouillon existant pour vous via les outils MCP de Kit : vous décrivez ce que vous voulez, l’agent lit le schéma, écrit la configuration et demande votre validation avant que quoi que ce soit ne passe en ligne.
C’est le volet construction des outils CSIRT. La page Intégration IA couvre les outils de triage du quotidien (sévérité, doublons, réponses aux chercheurs). Cette page couvre les outils de configuration et de publication d’un brouillon.
L’agent peut lire l’état du programme, préparer une configuration et l’enregistrer. Les instructions des outils lui demandent d’obtenir votre accord pour la publication, les montants des primes et les modifications des textes juridiques. La validation des appels dépend du client IA. Ces outils de configuration n’acceptent pas de données de carte de paiement.
Pour utiliser un client MCP externe, créez d’abord un brouillon dans Kit avec un abonnement Kit actif et un accès administrateur CSiRT. Connectez ou reconnectez ensuite votre client et accordez-lui un accès en lecture et en écriture à CSiRT. Les outils CSiRT apparaissent uniquement lorsqu’un programme existe.
Du brouillon à la mise en ligne
Commencez par csirt_get_setup_guide et suivez son next_tool. csirt_create_program peut aussi renvoyer le brouillon existant ; cet appel est facultatif dans ce parcours.
| Étape | Outil | Ce qui se passe |
|---|---|---|
| 1. S’orienter | csirt_get_setup_guide |
Indique l’état actuel, le schéma de configuration, les valeurs par défaut recommandées et le next_tool exact à appeler. |
| 2. Confirmer le brouillon (facultatif) | csirt_create_program |
Sans paramètres, renvoie le programme existant sans créer de doublon. Nécessite un accès administrateur CSiRT et un abonnement Kit actif. |
| 3. Configurer | csirt_configure_program |
Définit n’importe quel sous-ensemble des sept sections de configuration en un seul appel. À répéter autant que nécessaire. |
| 4. Activer | csirt_activate_program |
Publie le portail public et commence à accepter de vrais rapports. L’instruction de l’outil demande l’accord de l’utilisateur ; l’outil vérifie aussi le périmètre et le contact security.txt. |
Une conversation typique :
"Mettez en place un programme de divulgation des vulnérabilités pour nous. Le périmètre est
app.acme.com et api.acme.com, l'e-mail de réception [email protected]. Pas de primes pour l'instant."
L’agent appelle csirt_get_setup_guide, lit le brouillon existant, configure le périmètre et le contact security.txt, puis s’arrête et vous demande de confirmer avant la mise en ligne.
Étape 1 : s’orienter avec le guide de configuration
csirt_get_setup_guide est le point d’entrée et l’outil auquel l’agent revient entre les étapes. Il renvoie le statut, le nombre de rapports, le respect des SLA, une config_checklist (chaque élément indique l’outil correspondant) et le prochain outil à appeler.
Comme le schéma et les valeurs par défaut accompagnent la réponse, l’agent peut construire une configuration complète et valide sans deviner les noms de champs. Les clés reflètent exactement csirt_get_program, si bien que les mêmes structures fonctionnent pour la lecture, la modification et la réécriture.
Étape 2 : confirmer le brouillon (facultatif)
Sans paramètres, csirt_create_program renvoie votre programme existant via un client MCP externe. Si vous fournissez name ou disclosure_policy, ces champs sont mis à jour. Il nécessite la portée csirt_write, un accès administrateur CSiRT et un abonnement Kit actif.
| Paramètre | Requis | Description |
|---|---|---|
name |
Non | Met à jour le nom du programme existant si fourni. |
disclosure_policy |
Non | Met à jour le texte de la politique de divulgation coordonnée existante (markdown) si fourni. |
Il est idempotent : si un programme existe déjà, l’outil renvoie celui-ci au lieu d’en créer un doublon. La réponse inclut la config_checklist et next_tool: "csirt_configure_program".
Note
Créer un programme ne le rend pas public. Un programme au statut brouillon n’accepte aucun rapport et reste invisible au public tant que vous ne l’activez pas, mais vous pouvez le prévisualiser vous-même à tout moment (voir ci-dessous).
Étape 3 : configurer le programme
csirt_configure_program définit n’importe quel sous-ensemble des sept sections de configuration en un seul appel. Les clés et les structures de champs reflètent csirt_get_program et csirt_get_setup_guide, si bien qu’un aller-retour lecture → modification → réécriture est sans perte.
Important
Tous les montants monétaires sont en centimes. Une prime de 500 $ vaut 50000. Cela s’applique à la grille des primes et au versement minimum.
| Section | Clé | Ce qu’elle définit |
|---|---|---|
| Périmètre | scope_config |
in_scope_targets[], out_of_scope_categories[], excluded_vuln_types[]. Requis avant l’activation.
|
| Grille des primes | bounty_matrix_config |
tiers: [{severity, min_cents, max_cents}] pour informational/low/medium/high/critical/super_critical. |
| SLA | sla_config |
acknowledgment_hours, resolution_targets {severity => hours}, breach_alert_repeats (0–20, 3 par défaut), breach_alert_interval_hours (6–720, 6 par défaut). |
| Triage | triage_config |
default_assignee_id, escalation_severities[], dedup_enabled, require_retest, max_appeals, auto_assign_on_call. |
| Versements | disbursement_config |
supported_payment_methods[], require_tax_docs, require_agreement, min_payout_cents, currency. |
| Spam | spam_config |
max_reports_per_window, window_seconds, block_duration_seconds. |
| security.txt | security_txt_config |
contact_email (l’adresse de réception publique, requise avant l’activation), expires_days, policy_url, acknowledgments_url, hiring_url, encryption_url. |
Vous pouvez appeler cet outil autant de fois que vous le souhaitez tant que vous êtes au statut Brouillon. La réponse indique quelles sections ont changé, si le programme est désormais activatable, les éventuels activation_blockers restants et le prochain outil.
Pour la signification complète de chaque champ, consultez Configurer votre programme, qui documente ces mêmes sept sections dans l’interface web.
Prévisualiser le portail au statut brouillon
Vous n’avez pas besoin d’activer pour voir le portail. Chaque outil de configuration renvoie une portal_preview_url, le portail rendu tel que les chercheurs le verront, avec une bannière de prévisualisation. Cela fonctionne tant que le programme est encore au statut brouillon :
- Membres du compte uniquement. Ouvrez le lien en étant connecté à Kit. Si vous êtes déconnecté, le lien vous envoie vers la page de connexion puis vous y ramène ; les visiteurs qui ne sont pas membres de votre compte reçoivent une 404, si bien que le brouillon reste invisible au public.
-
Toujours sur le domaine Kit. Un domaine de sécurité personnalisé (par exemple
vdp.yourcompany.com) ne commence à servir le portail qu’après l’activation ; votre connexion Kit ne se reporte pas sur votre propre domaine, si bien que le lien de prévisualisation utilise toujours l’URLkit.
Demandez à l’agent « montrez-moi un aperçu de ma page VDP » et il vous fournira ce lien.
Étape 4 : activer (mise en ligne)
csirt_activate_program met le VDP en ligne : il publie le portail de signalement public et commence à accepter de vrais rapports de chercheurs et les compteurs SLA.
L’instruction de l’outil demande à l’agent d’expliquer la publication et d’obtenir votre confirmation avant l’appel. Il s’agit d’une instruction destinée à l’agent, pas d’un formulaire de validation distinct imposé par Kit.
Il refuse aussi d’activer tant que deux éléments ne sont pas définis :
-
Périmètre : au moins une cible dans le périmètre (
scope_config.in_scope_targets). -
Contact security.txt : un e-mail de réception (
security_txt_config.contact_email).
Si l’un des deux manque, l’outil renvoie les blocages précis (ainsi que la preview_url du brouillon) et renvoie l’agent vers csirt_configure_program avec la section à corriger. Une fois en ligne, la réponse inclut l’URL publique portal_url, votre domaine de sécurité personnalisé lorsqu’il en existe un, sinon l’URL Kit. Vous pouvez ensuite mettre le programme en pause.
Automatique vs. confirmé par un humain
| L’agent prépare | À vérifier et approuver | Indisponible via ces outils |
|---|---|---|
| Lire l’état du programme et le schéma de configuration | Activation (mise en ligne / publication du portail) | Capturer une carte de paiement |
| Rédiger une configuration complète à partir de votre intention | Activation | Souscrire un abonnement |
| Écrire des sections de configuration (périmètre, SLA, triage, spam, security.txt) | Définir les montants des primes | Aucune |
| Lire la checklist de configuration du brouillon | Modifier les textes juridiques de sphère de sécurité (Safe Harbor) / divulgation | Aucune |
Vérifiez l’aperçu du portail, les montants des primes et la politique avant d’approuver. Si vous utilisez un client MCP externe, vérifiez aussi ses paramètres de validation des appels d’outils.
En bref
- Créez le premier brouillon dans Kit avec un abonnement Kit actif et un accès administrateur CSiRT
- Si vous utilisez un client MCP externe, assurez-vous que la connexion a obtenu l’autorisation CSIRT en Lecture et écriture sur l’écran de consentement ; les outils de configuration sont des outils d’écriture
-
Demandez à l’agent de « mettre en place un VDP » ; il commence par
csirt_get_setup_guide - Confirmez que le programme est encore au statut Brouillon avant sa publication
- Fournissez le périmètre (cibles dans le périmètre) et un e-mail de réception pour security.txt
- Vérifiez les montants de la grille des primes avant de les approuver (les montants sont en centimes)
-
Donnez un « oui » explicite avant que l’agent n’appelle
csirt_activate_program -
Vérifiez l’URL publique
portal_urlrenvoyée après l’activation
Et ensuite ?
- Configurer votre programme : référence champ par champ pour les sept sections de configuration
- Intégration IA : les outils IA du volet triage (sévérité, doublons, réponses aux chercheurs)
- Configuration de security.txt : conformité RFC 9116 et vérification
- Connexion des assistants IA : connecter un client MCP externe et gérer les scopes