Vous maintenez une bibliothèque publique et recevez un signalement de sécurité. Le message affirme qu’un utilisateur peut accéder à une ressource qui ne lui appartient pas, mais ne précise ni version ni conditions de reproduction. Vous devez répondre, comprendre la portée et organiser une discussion entre mainteneurs, sans exposer les détails du rapport.
Ce scénario fictif sert de fil conducteur. Les évolutions GitHub des 1er et 2 octobre 2026 apportent des outils de réception et de coordination. Elles ne dispensent pas de qualifier la réalité du problème. Le protocole présenté ici est une proposition Partitech, sans vulnérabilité réelle ni test d’exploitation.
Trois leviers pour un même circuit de réception
GitHub annonce le 1er octobre des formulaires structurés pour les signalements privés. Les mainteneurs peuvent personnaliser les informations demandées avec un fichier .github/VULNERABILITY_REPORT.yml. Le formulaire par défaut demande notamment résumé, détails, démonstration et impact. Un formulaire rempli améliore l’organisation des informations ; il ne valide pas l’affirmation du rapporteur.
Le même jour, des limites de soumission sont annoncées. Elles portent sur les nouveaux rapports. Les administrateurs peuvent régler une limite quotidienne globale pour le dépôt et désigner des rapporteurs de confiance. Les commentaires sur les avis existants ne sont pas concernés.
Le 2 octobre, les commentaires confidentiels deviennent disponibles. Leur accès suit les droits d’écriture actuels du dépôt. Le rapporteur et les collaborateurs invités dépourvus de ces droits ne les voient pas. Le périmètre annoncé concerne les dépôts publics ayant activé le signalement privé de vulnérabilités.
Ces trois leviers répondent à des difficultés différentes : obtenir les bonnes informations, maîtriser l’arrivée de nouveaux dossiers et choisir les destinataires d’une discussion. Aucun ne mesure automatiquement la gravité d’une faille. Un dossier bref peut être important ; un dossier très long peut rester impossible à reproduire.
Demander une reproduction exploitable
Dans notre exemple, la première réponse doit permettre de comprendre la situation sans demander de données client. Quelle version est concernée ? Quel comportement est attendu ? Quel comportement a été observé ? Quels droits possédait le compte utilisé ? Ces questions bornent une reproduction locale.
Le formulaire proposé ci-dessous est un modèle éditorial, pas un fichier YAML prêt à déployer. Il sert à choisir les informations avant de valider la syntaxe contre la documentation GitHub.
| Information demandée | Utilité pour le mainteneur |
|---|---|
| Version et environnement | Retrouver le comportement concerné |
| Conditions préalables | Identifier les droits et la configuration nécessaires |
| Étapes locales inoffensives | Comprendre le parcours sans toucher à un tiers |
| Attendu et observé | Distinguer l’écart du comportement normal |
| Portée présumée | Examiner ce qui serait réellement accessible |
| Limites de l’essai | Éviter de généraliser un seul résultat |
Invitez à employer des comptes et des données synthétiques. Ne demandez ni jeton d’accès, ni copie de base de production, ni information personnelle. Si une preuve comprend une donnée sensible, faites préciser son existence et son rôle sans la reproduire dans le formulaire.
La démonstration, souvent appelée preuve de concept, sert à rendre un comportement observable. Sa longueur ne détermine pas sa validité. Dans un rapport assisté par IA, vérifiez les liens, les versions et les étapes exactement comme dans tout autre rapport. L’origine du texte ne suffit pas à conclure à la bonne ou à la mauvaise foi.
GitHub précise une différence importante pour les intégrations : un formulaire personnalisé est imposé aux soumissions REST, tandis que le formulaire par défaut ne l’est pas. REST désigne ici une interface permettant à un programme d’envoyer un rapport. Si vous personnalisez le formulaire, contrôlez le fonctionnement de vos intégrations ; le résultat dans le navigateur ne couvre pas ce second chemin.
Limiter le flux sans perdre les signalements utiles
Une limite de soumission agit sur le nombre de nouveaux dossiers, pas sur leur valeur. Avant de modifier un réglage, examinez ce qui ralentit votre équipe : manque de versions, doublons, absence de responsable ou volume réel. Une mesure de débit ne corrige pas un circuit de triage sans propriétaire.
Le triage est la première qualification du dossier. Il consiste à comprendre ce qui est décrit, vérifier les conditions et orienter la suite. Il ne signifie pas nécessairement déclarer immédiatement une faille confirmée ou classer le rapport sans réponse.
Prévoyez un chemin alternatif dans votre politique de sécurité pour une personne légitime bloquée par une limite. Ce chemin doit permettre un contact confidentiel connu des mainteneurs. Il ne doit pas conduire à déposer des détails sensibles dans une issue publique. Vérifiez qui reçoit les messages et qui remplace cette personne en cas d’absence.
La liste de rapporteurs de confiance mérite également un suivi. Définissez qui peut y ajouter une personne, comment revoir cette confiance et quand retirer une entrée. Le statut doit faciliter le contact avec des interlocuteurs connus, sans devenir une exemption oubliée.
Pour un doublon, reliez le nouveau dossier au suivi existant sans divulguer les éléments confidentiels d’un autre rapport. Expliquez au rapporteur ce que vous pouvez communiquer et la prochaine étape. Une réponse compréhensible évite qu’il interprète un classement administratif comme un abandon de son signalement.
Choisir la visibilité avant de publier un commentaire
Dans notre scénario, l’équipe veut discuter d’une hypothèse de reproduction et d’un éventuel correctif. Une partie de cette discussion peut être utile au rapporteur ; une autre relève de la coordination interne. Choisissez la visibilité en fonction du contenu et des destinataires réels.
| Contenu à partager | Question de revue |
|---|---|
| Demande de précision au rapporteur | Est-elle lisible dans le canal qu’il consulte ? |
| Hypothèse de qualification interne | Les détenteurs actuels du droit d’écriture sont-ils tous concernés ? |
| Organisation du correctif | Quel responsable doit recevoir l’information ? |
| Information sensible inutile | Peut-elle être retirée avant toute publication ? |
GitHub indique que la visibilité confidentielle ne peut pas être convertie après publication, que les lectures sont consignées dans le journal d’audit et que le support diffère entre GraphQL et REST : ces commentaires sont disponibles dans GraphQL, mais pas retournés par REST au lancement. Si votre outil de suivi utilise seulement REST, une absence de commentaire ne prouve donc pas l’absence de discussion.
La confidentialité dépend des droits actuels, pas d’une liste figée au moment de la rédaction. Le départ d’un mainteneur doit être traité dans la gestion des accès. À l’inverse, une personne nouvellement dotée du droit d’écriture peut entrer dans le périmètre de lecture. Vérifiez les droits avant de choisir le canal pour un contenu particulièrement sensible.
Construire un circuit qui aboutit à une décision
Pour chaque dossier, conservez une fiche simple : date de réception, composant présumé, version, état de reproduction, propriétaire et prochaine action. Le statut « informations manquantes » doit indiquer lesquelles. Le statut « confirmé » doit renvoyer à ce qui a été observé. Une hypothèse reste une hypothèse jusqu’à cette étape.
Dans notre bug fictif, vous pourriez d’abord demander la version et les conditions d’accès, puis reproduire uniquement avec deux comptes synthétiques dans un environnement local. Si le comportement est normal et documenté, expliquez pourquoi. Si un défaut apparaît, attribuez le correctif et organisez la vérification avant la communication publique. Aucune de ces opérations n’est réalisée dans cet article.
Mesurez le délai jusqu’à la première réponse utile et le nombre de dossiers encore sans responsable. Ces indicateurs décrivent votre fonctionnement ; ils ne démontrent pas que toutes les failles importantes ont été reçues. Évitez de publier des détails permettant d’identifier un rapporteur ou une vulnérabilité non divulguée.
Avant d’élargir le processus, faites relire une soumission fictive à une autre personne de l’équipe. Peut-elle retrouver l’environnement, expliquer la visibilité et identifier la prochaine décision ? Si oui, votre réception produit un dossier exploitable. Si non, corrigez les questions et les responsabilités avant d’ajouter de nouvelles contraintes aux rapporteurs.
Sources et date de vérification
Sources GitHub rouvertes le 6 octobre 2026 : formulaires structurés, limites de soumission et commentaires confidentiels. La fiche, les tableaux et le scénario sont des recommandations originales Partitech. Aucun advisory, réglage GitHub ou signalement réel n’a été créé.