Intégration Linear
Transmettez les rapports de vulnérabilité validés à Linear sous forme de tickets, et suivez en retour le statut de la correction, sans faire sortir de Kit les détails d'exploitation.
Pourquoi c’est important
Les personnes qui trient un rapport de vulnérabilité ne sont presque jamais celles qui le corrigent. Le triage se fait dans Kit ; la correction se fait sur un tableau d’ingénierie. Sans lien entre les deux, quelqu’un recopie le rapport dans Linear à la main — et à partir de là, les deux systèmes divergent. Le ticket indique « In Review » alors que le rapport indique « Validé », personne ne sait répondre à la question « est-ce vraiment corrigé ? », et le chercheur attend.
Connecter Linear met fin à cette dérive. Un clic sur un rapport crée le ticket, et le lien entre les deux est une relation que Kit tient à jour — pas une URL que quelqu’un a collée dans un commentaire.
Cela règle aussi un problème plus discret : la recopie manuelle a tendance à coller tout, y compris les étapes de reproduction et l’e-mail du chercheur, dans un espace de travail dont personne n’a vérifié l’audience réelle. L’intégration de Kit transmet à la place un ticket volontairement minimal.
Note
Kit se connecte à un seul outil de suivi par programme. Linear et Jira ne fonctionnent pas côte à côte — si une connexion Jira existe déjà, déconnectez-la avant de connecter Linear.
Ce dont vous avez besoin
- Un compte Kit avec le module complémentaire VDP activé
- Un espace de travail Linear
- Un administrateur de l’espace de travail Linear pour effectuer l’étape de connexion — voir ci-dessous
- Les droits d’administrateur de module dans Kit — connecter un outil de suivi est une décision qui engage toute l’organisation
Warning
Kit s’installe dans Linear en tant qu’utilisateur applicatif. Linear ne laisse qu’un administrateur de l’espace de travail autoriser ce type d’installation, et la refuse à un membre ordinaire. Les tickets et les commentaires créés par Kit sont donc publiés au nom de l’application Kit, et non de la personne qui a établi la connexion — précisément ce que l’on attend d’une piste d’audit, mais cela impose que l’étape de connexion soit effectuée par un administrateur.
Configuration
1. Connectez votre espace de travail Linear
- Rendez-vous sur VDP > Paramètres > Suivi des tickets
- Choisissez Linear parmi les outils proposés
- Cliquez sur Connecter Linear
- Connectez-vous à Linear et approuvez l’accès demandé
Kit demande un accès en lecture, plus l’autorisation de créer des tickets et des commentaires — rien d’autre. Un jeton Linear est limité à un seul espace de travail : une connexion correspond donc à un espace de travail.
L’autorisation appartient à la personne qui l’a accordée. Kit garde la trace de son identité, car lorsque cette personne quitte l’organisation, la connexion cesse de fonctionner et vous devez savoir quel accès renouveler.
2. Choisissez une équipe
- Sur la page des paramètres, cliquez sur Choisir l’équipe
- Choisissez l’équipe qui doit recevoir le travail de correction des vulnérabilités
Linear crée les tickets au sein d’une équipe, pas d’un projet — les projets de Linear traversent les équipes et constituent un regroupement facultatif : il n’y a donc rien à choisir de ce côté-là. Il n’y a pas non plus d’étape de type de ticket : Linear n’a pas de types de ticket.
Kit fait correspondre la gravité des rapports aux quatre priorités de Linear :
| Niveau de sévérité Kit | Priorité Linear |
|---|---|
| Super critique | Urgent |
| Critique | Urgent |
| Élevée | High |
| Moyenne | Medium |
| Faible | Low |
| Informatif | Low |
Contrairement à Jira, ces noms de priorité sont les mêmes dans tout l’espace de travail : il n’y a donc aucune correspondance à vérifier équipe par équipe. Si un niveau de sévérité n’a pas de correspondance, Kit n’envoie aucune priorité et la valeur par défaut de l’équipe s’applique — il n’envoie jamais la priorité « No priority » de Linear, qui écraserait cette valeur par défaut au lieu de s’y plier. Le niveau de sévérité est de toute façon toujours inscrit dans la description du ticket.
Pour maîtriser vous-même cette correspondance, définissez une surcharge priority_map sur la connexion — il n’existe pas encore d’écran dédié.
3. Vérifiez que tout fonctionne
Cliquez sur Tester la connexion. Kit effectue un aller-retour authentifié vers Linear et affiche le résultat.
Transmettre un rapport
Ouvrez n’importe quel rapport. Dans la colonne de droite, vous trouverez une carte Suivi des tickets.
- Cliquez sur Créer un ticket
- Lisez le panneau qui indique ce qui est transmis et ce qui reste dans Kit
- Cliquez sur Créer le ticket
La carte affiche un indicateur de chargement pendant la création du ticket, puis l’identifiant du ticket, son statut et un lien qui ouvre Linear dans un nouvel onglet.
Tout membre de l’équipe qui peut voir le rapport peut le faire — c’est du triage courant, au même niveau d’autorisation que joindre un lien. Seule la configuration de la connexion est réservée aux administrateurs.
Note
Linear réécrit l’identifiant d’un ticket (ENG-123) lorsque celui-ci est déplacé vers une autre équipe. Kit enregistre comme lien l’identifiant interne stable de Linear et actualise l’identifiant visible à chaque synchronisation : déplacer un ticket d’une équipe à l’autre ne casse donc rien.
Ce qui sort de Kit
C’est la partie qui mérite une lecture attentive. Par défaut, un ticket transmis est minimal : de quoi permettre à un ingénieur de planifier le travail, rien de plus.
| Transmis à Linear | Reste dans Kit |
|---|---|
| Titre du rapport et référence Kit | La description de la vulnérabilité |
| Gravité et score CVSS | Les étapes de reproduction |
| Type de vulnérabilité | Le point de terminaison concerné |
| Domaine concerné | Les fichiers de preuve de concept et les captures d’écran |
| Échéance de correction | Le nom, l’e-mail et les informations de versement du chercheur |
| Un lien de retour vers le rapport dans Kit | Les notes internes et le fil de discussion |
Ce choix n’est pas de la prudence gratuite. Depuis Kit, il est impossible de savoir qui voit réellement Linear : visibilité à l’échelle de l’espace de travail, intégrations disposant d’un droit de lecture, exports et sauvegardes qui survivent au ticket. Les champs que Kit retient sont ceux-là mêmes qu’il chiffre au repos ; les transmettre reviendrait donc à déplacer vos données les plus protégées vers votre système le moins maîtrisé.
L’identité du chercheur et les montants des primes ne disposent d’aucun réglage. L’absence même de l’option constitue la garantie.
Partager malgré tout les détails complets
Certaines équipes tiennent à avoir la description dans le ticket. Cela exige deux conditions indépendantes :
- Un administrateur active Autoriser les détails complets de la vulnérabilité dans VDP > Paramètres > Suivi des tickets
- La personne qui transmet le rapport coche la case pour ce ticket précis
Les deux sont désactivés par défaut. Lorsque le réglage au niveau du programme est désactivé, les cases ne s’affichent même pas — et une requête forgée à la main ne peut pas les contourner, car Kit revérifie le réglage du programme au moment de construire les données à transmettre.
Les descriptions de ticket Linear sont en Markdown. Lorsque le texte du rapport est inclus, il est placé dans un bloc de code : Linear l’affiche donc exactement tel que le chercheur l’a rédigé, au lieu de l’interpréter comme du balisage.
Tip
Laissez ce réglage désactivé. Le ticket renvoie vers Kit, et l’ingénieur qui a besoin des étapes de reproduction peut ouvrir le rapport — sous vos contrôles d’accès, et la consultation est tracée.
Commentaires sur les changements de statut
Lorsque Commenter les changements de statut est activé, Kit publie un bref commentaire dans Linear quand un rapport est validé, résolu, vérifié ou rejeté, ou que sa gravité change. Le commentaire tient en une phrase, accompagnée d’un lien de retour vers Kit.
Cette limite est plus stricte que celle du corps du ticket, et c’est voulu : ces commentaires partent automatiquement, sans que personne ne relise le texte ; il n’existe donc aucune option « inclure les détails complets » sur ce chemin. Pas de description, pas d’étapes de reproduction, pas d’identité du chercheur, pas de montants de prime.
Kit demande aussi à Linear de ne pas abonner l’application aux tickets qu’elle commente : commenter n’entraîne donc pas Kit dans le flux de notifications de votre espace de travail.
Statut de la correction
La carte affiche le libellé de statut du ticket tel que votre espace de travail le formule (« In Review », « Ready for QA »), parce que c’est ce que voit l’ingénieur. Kit le fait correspondre en interne à l’un de cinq états en s’appuyant sur les types d’état de flux de travail de Linear plutôt que sur les noms d’état — les noms sont du texte libre propre à chaque équipe, les types sont fixes :
| Type d’état Linear | Statut de correction Kit |
|---|---|
| Triage, Backlog, Unstarted | Non commencé |
| Started | En cours |
| Completed | Corrigé |
| Canceled, Duplicate | Ne sera pas corrigé |
Un doublon compte comme Ne sera pas corrigé, pas comme Corrigé — le ticket a été fermé sans qu’aucune correction ait eu lieu, et le compter comme terminé gonflerait artificiellement votre taux de correction.
Le statut est lu à la demande, quand quelqu’un ouvre le rapport, puis brièvement mis en cache pour que l’affichage d’un rapport ne déclenche jamais une salve d’appels d’API. Il n’y a pas encore de webhooks : Kit interroge Linear, Linear ne pousse rien.
Kit ne résout jamais un rapport au motif que Linear affiche « Done ». Sur un tableau d’ingénierie, « Done » signifie couramment « fusionné, pas déployé », et résoudre un rapport entraîne des conséquences que la personne qui déplace une carte n’a pas forcément voulues : le chercheur est notifié, le processus de prime s’ouvre et les compteurs de divulgation avancent. Kit met le ticket terminé en évidence et laisse la décision à un humain.
Dissociation et nouvelles tentatives
- Dissocier ne supprime le lien que dans Kit. Le ticket reste dans Linear, où il porte peut-être déjà les commentaires d’un ingénieur et une branche de correction — Kit n’est pas le système de référence de ce côté-là.
- Réessayer relance une transmission qui a échoué. Vous pouvez appuyer deux fois sans risque : Kit génère lui-même l’identifiant du ticket et envoie le même à chaque tentative ; une requête expirée alors que Linear avait déjà créé le ticket reprend donc le ticket existant au lieu d’en créer un second.
- Déconnecter l’intégration supprime la copie de l’autorisation détenue par Kit ainsi que ses lignes de suivi. Tous les tickets déjà créés restent dans Linear.
Dépannage
| Symptôme | Cause | Solution |
|---|---|---|
| « Seul un administrateur de l’espace de travail Linear peut connecter Kit » | L’étape de connexion a été effectuée par un membre ordinaire | Demandez à un administrateur de l’espace de travail de l’effectuer |
| « L’accès à Linear a été révoqué » | L’autorisation a été révoquée dans Linear, ou l’utilisateur qui l’avait accordée a été désactivé | Reconnectez-vous depuis la page des paramètres ; un autre administrateur peut réautoriser l’accès |
| « La réponse de Linear ne contenait aucun espace de travail » | L’autorisation s’est terminée sans accorder l’accès à l’espace de travail | Recommencez la connexion en vous identifiant dans le bon espace de travail |
| « Aucune équipe trouvée dans cet espace de travail Linear » | Le compte connecté n’appartient à aucune équipe visible | Vérifiez l’appartenance de ce compte aux équipes, puis réessayez |
| Aucun bouton Créer un ticket n’apparaît | Aucun outil de suivi n’est connecté, ou le module complémentaire VDP n’est pas actif | Connectez-en un dans VDP > Paramètres > Suivi des tickets |
En bref
- Le module complémentaire VDP est actif sur le compte
- Toute connexion Jira existante a d’abord été déconnectée — un seul outil de suivi par programme
- Un administrateur de l’espace de travail Linear est disponible pour effectuer l’étape de connexion
- L’espace de travail est connecté, et vous savez qui a accordé l’autorisation
- L’équipe cible est choisie
- Le test de connexion réussit
- Vous avez décidé, en connaissance de cause, si les détails complets de la vulnérabilité peuvent être partagés