Logo StartupKit
FR

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

  1. Rendez-vous sur VDP > Paramètres > Suivi des tickets
  2. Choisissez Linear parmi les outils proposés
  3. Cliquez sur Connecter Linear
  4. 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

  1. Sur la page des paramètres, cliquez sur Choisir l’équipe
  2. 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.

  1. Cliquez sur Créer un ticket
  2. Lisez le panneau qui indique ce qui est transmis et ce qui reste dans Kit
  3. 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 :

  1. Un administrateur active Autoriser les détails complets de la vulnérabilité dans VDP > Paramètres > Suivi des tickets
  2. 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

Tapez pour rechercher...