Configurer l'agent de triage en isolement réseau
Reliez votre dépôt de triage VDP forké à Kit via un assistant guidé — forkez le dépôt d'exemple, câblez le déclencheur de pipeline et vérifiez avec un aller-retour réel.
Pourquoi c’est important
Le triage IA orienté code exécute un agent de sécurité IA dans votre CI à chaque rapport entrant. Cette page vous guide pour relier votre fork du dépôt d’exemple à Kit. La configuration est un assistant guidé, façon Vanta, dans vos réglages CSiRT — il ne valide une étape qu’une fois vérifiée, et l’étape finale ne passe au vert que lorsqu’un aller-retour de triage réel aboutit.
Il vous faut un GitLab Runner auto-hébergé (les runners partagés SaaS de gitlab.com ne peuvent pas être isolés au niveau réseau de l’hôte, ce qu’exige l’isolement réseau — voir Comment fonctionne l’isolement réseau).
Ce qu’il vous faut
- Un compte Kit avec le module complémentaire VDP activé et un programme CSiRT actif
- Un compte GitLab capable de forker un dépôt et de créer un runner auto-hébergé
- Un point de terminaison de modèle que votre runner peut atteindre via le proxy de sortie — DeepSeek par défaut (
https://api.deepseek.com/anthropic), ou tout point de terminaison compatible Anthropic - Le jeton de déclenchement de pipeline de votre projet GitLab (que vous créerez à l’étape 2)
L’assistant
Rendez-vous dans VDP > Réglages > Triage orienté code. Forker le dépôt d’exemple est un prérequis ponctuel ; ensuite l’assistant comporte deux étapes actives — relier la pipeline, puis la tester — et chaque étape vérifiée se verrouille avant l’ouverture de la suivante.
Forker le dépôt d’exemple
Forkez l’implémentation de référence :
https://gitlab.com/startupkit/vdp-ai-triage-example
L’assistant vous propose un bouton Forker sur GitLab qui ouvre le dépôt. Forkez-le dans un projet GitLab que vous possédez et contrôlez — vous gardez la main sur le modèle, les prompts et la politique réseau, et Kit ne voit jamais votre code. Avant d’aller plus loin, exécutez la pipeline une fois en mode --dry-run contre la fixture examples/sample-report fournie — elle doit passer au vert et produire un triage prédéfini, sans aucune connexion à Kit ni clé de modèle. Cela confirme que le contrat fonctionne avant de câbler quoi que ce soit en réel.
Étape 1 — Relier votre pipeline
Kit doit déclencher votre pipeline à l’arrivée d’un rapport. Dans votre projet GitLab forké :
- Allez dans Settings > CI/CD > Pipeline trigger tokens et cliquez sur Add new token.
- Copiez le jeton de déclenchement généré et l’URL de déclenchement de votre projet.
Collez les deux dans le formulaire Relier votre pipeline de l’assistant — l’URL de déclenchement de pipeline GitLab et le jeton de déclenchement de pipeline. L’enregistrement active la connexion. Le jeton de déclenchement est stocké chiffré et affiché masqué avec un lien Changer le jeton.
Kit appelle alors l’API de déclenchement de pipeline GitLab à la soumission d’un rapport, en transmettant trois variables CI par exécution :
POST https://gitlab.com/api/v4/projects/<project_id>/trigger/pipeline
--form token=<trigger_token>
--form ref=main
--form "variables[KIT_REPORT_ID]=rpt_..."
--form "variables[KIT_TRIAGE_TOKEN]=<scoped, short-lived>"
--form "variables[KIT_MCP_URL]=https://..."
Note
Kit transmet l’identifiant du rapport, un jeton de triage éphémère à portée restreinte et l’URL de rappel MCP en tant que variables CI lors de l’appel de déclenchement — pas comme quelque chose que vous collez dans votre dépôt. Les variables CI ont la priorité la plus élevée dans GitLab et arrivent à chaque exécution : le jeton restreint et l’URL de rappel ne sont donc jamais stockés dans votre dépôt ni dans les réglages de variables de votre projet.
Comment votre agent répond à Kit
Il n’y a rien à configurer à la main ici — aucune URL de rappel à coller, aucun secret de signature. Votre agent lit le rapport et renvoie le triage via un point de terminaison MCP à portée restreinte, pour un seul rapport. Le fichier agent/mcp.json du dépôt d’exemple lit les variables CI KIT_MCP_URL et KIT_TRIAGE_TOKEN que Kit a injectées lors de l’appel de déclenchement : la connexion est ainsi câblée automatiquement à chaque exécution.
Le KIT_TRIAGE_TOKEN est un jeton bearer que l’agent envoie sur ses appels MCP vers Kit. Kit le résout vers exactement un rapport — c’est la seule autorisation dont le point de terminaison a besoin.
Important
Le jeton restreint donne accès à un rapport, pendant une heure. Ce n’est pas une clé d’API valable pour tout le compte. Un nouveau jeton est émis pour chaque rapport et expire au bout d’une heure. C’est ce qui empêche un job CI compromis d’atteindre un autre rapport que celui qu’il est en train de trier.
Étape 2 — Tester maintenant
Le bouton Envoyer un rapport de test de l’assistant déclenche un aller-retour réel avec un rapport d’exemple : Kit déclenche votre pipeline, votre agent lit le rapport via le jeton MCP restreint, s’exécute et renvoie un triage.
Cette étape ne passe au vert que lorsqu’un triage réel arrive effectivement dans Kit — pas lorsque le déclenchement se contente de partir. Si votre pipeline échoue, expire ou renvoie un blob invalide, l’assistant affiche la dernière erreur sur cette étape pour que vous puissiez la relancer une fois le problème corrigé.
Tip
Si le test reste bloqué en « en cours », vérifiez que votre runner auto-hébergé est en ligne et prend bien les jobs, et que votre proxy de sortie autorise réellement les deux destinations permises (votre point de terminaison de modèle et l’hôte MCP de Kit). Un blocage total trop agressif bloque aussi le rappel MCP — voir Comment fonctionne l’isolement réseau.
Terminé
Une fois l’aller-retour de test abouti, l’assistant confirme que votre agent est câblé. À partir de là, chaque nouveau rapport déclenche votre pipeline automatiquement.
Où se trouve la carte
Une fois connecté, une carte Triage orienté code apparaît sur votre tableau de bord des intégrations sous Incident Response, à côté de Vanta et PagerDuty. Elle indique le statut connecté / déconnecté et l’heure de votre dernier triage, et renvoie vers cet assistant.
En bref
- Module complémentaire VDP activé et programme CSiRT actif
-
Forker
vdp-ai-triage-exampleet l’exécuter en--dry-runcontre le rapport d’exemple (vert, sans Kit, sans clé) - Mettre en place un GitLab Runner auto-hébergé — les runners partagés SaaS ne peuvent pas être isolés du réseau
- Créer un jeton de déclenchement de pipeline et coller l’URL de déclenchement + le jeton dans l’assistant
- Lancer Tester maintenant et confirmer le passage au vert à l’arrivée d’un triage réel
- Ouvrir un rapport récent et confirmer que le panneau Triage orienté code s’affiche
Pour aller plus loin
- Comment fonctionne l’isolement réseau — configurer correctement la frontière de sortie avant la mise en production
- Personnaliser le prompt et le modèle de triage — pointer l’agent vers votre modèle et ajuster le prompt
- Triage IA orienté code — ce que le panneau affiche et comment la boucle fonctionne