Skip to main content

Collaboration dans une duplication (fork) privée temporaire pour résoudre une vulnérabilité de sécurité de dépôt

Vous pouvez créer une duplication (fork) privée temporaire pour collaborer en privé pour résoudre une faille de sécurité dans votre référentiel public.

Note

Cet article s’applique à la modification des avis au niveau du dépôt par un propriétaire dedépôt public.

Les utilisateurs qui ne sont pas propriétaires de dépôt peuvent contribuer aux avis de sécurité généraux dans la GitHub Advisory Database sur github.com/advisories. Les modifications des avis globaux ne changent pas ou n’affectent pas la façon dont l’avis apparaît sur le dépôt. Pour plus d’informations, consultez « Modification des avis de sécurité dans la base de données d’avis de GitHub ».

Prérequis

Avant de pouvoir collaborer dans une duplication privée temporaire, vous devez créer un brouillon d'avis de sécurité. Pour plus d’informations, consultez « Création d’un avis de sécurité de dépôt ».

Création d'une duplication privée temporaire

Toute personne disposant d'autorisations d'administrateur pour un avis de sécurité peut créer une duplication privée temporaire.

Pour que les informations sur les vulnérabilités demeurent sécurisées, les intégrations, y compris l'intégration continue, ne peuvent pas accéder aux duplications privées temporaires.

  1. Sur GitHub, accédez à la page principale du référentiel.

  2. Sous le nom du dépôt, cliquez sur Sécurité. Si vous ne voyez pas l’onglet « Sécurité », sélectionnez le menu déroulant et cliquez sur Sécurité.

    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Sécurité » est mis en évidence avec un encadré orange foncé.

  3. Dans la barre latérale gauche, sous « Rapports », cliquez sur Avis.

  4. Dans la liste « Avis de sécurité », cliquez sur le nom de l'avis de sécurité dans lequel vous souhaitez créer une duplication privée temporaire.

  5. Faites défiler jusqu'au bas du formulaire d'avis, puis cliquez sur Démarrer une duplication privée temporaire.

    Capture d'écran de la zone « Collaborer sur un correctif en privé » du formulaire. Un bouton intitulé « Démarrer une duplication privée temporaire » est présenté en orange foncé.

    Une duplication privée du dépôt est créée et affichée sur la page de conseil.

    La convention de nommage pour la duplication privée est très similaire à la convention utilisée pour les avis dans GitHub Advisory Database et suit ce format : repo-ghsa-xxxx-xxxx-xxxx, où :

    • repo est le nom du dépôt. Pour rester sous la limite des 100 caractères pour les noms de dépôt, nous tronquons le nom du dépôt d'origine pour le ramener à 80 caractères.
    • xxxx-xxxx-xxxx est l'identificateur unique du brouillon de l'avis de sécurité :
      • x est une lettre ou un chiffre de l'ensemble suivant : 23456789cfghjmpqrvwx.
      • Les chiffres et les lettres sont attribués de manière aléatoire.
      • Les lettres et les chiffres sont tous en minuscules.

Par exemple, si vous créez une duplication privée temporaire dans un dépôt appelé octocat-repo et que l'ID généré automatiquement pour le brouillon de l'avis est GHSA-x854-cvjg-vx26, la duplication temporaire est appelée octocat-repo-ghsa-x854-cvjg-vx26.

Vous pouvez également utiliser l'API REST pour créer des fourchettes temporaires privées. Pour en savoir plus, reportez-vous à « Créer une fourchette temporaire privée » dans la documentation de l'API REST.

Ajout de collaborateurs à une duplication privée temporaire

Toute personne disposant d'autorisations d'administrateur pour un avis de sécurité peut ajouter des collaborateurs à ce dernier, et les collaborateurs associés à l'avis de sécurité peuvent accéder à la duplication privée temporaire. Pour plus d’informations, consultez « Ajout d’un collaborateur à un avis de sécurité de dépôt ».

Ajout de modifications à une duplication privée temporaire

Toute personne disposant d'autorisations d'écriture pour un avis de sécurité peut collaborer sur un correctif en validant des modifications à une duplication privée temporaire.

  1. Sur GitHub, accédez à la page principale du référentiel.

  2. Sous le nom du dépôt, cliquez sur Sécurité. Si vous ne voyez pas l’onglet « Sécurité », sélectionnez le menu déroulant et cliquez sur Sécurité.

    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Sécurité » est mis en évidence avec un encadré orange foncé.

  3. Dans la barre latérale gauche, sous « Rapports », cliquez sur Avis.

  4. Dans la liste « Avis de sécurité », cliquez sur le nom de l'avis de sécurité sur lequel vous souhaitez travailler.

  5. Vous pouvez apporter vos modifications sur GitHub ou localement :

    • Pour apporter vos modifications sur GitHub, sous « Collaborer sur un correctif », cliquez sur la duplication privée temporaire. Ensuite, créez une branche et modifiez des fichiers. Pour plus d’informations, consultez « Création et suppression de branches dans votre référentiel » et « Modification de fichiers ».
    • Pour ajouter des modifications localement, suivez les instructions indiquées sous « Cloner et créer une branche » et « Effectuer vos modifications, puis pousser ».

    Capture d'écran de la zone « Collaborer sur un correctif » d'un brouillon d'avis de sécurité. Le lien de la « duplication privée temporaire » est indiqué en orange foncé.

Création d'une demande de tirage à partir d'une duplication privée temporaire

Toute personne disposant d'autorisations d'écriture pour un avis de sécurité peut créer une demande de tirage à partir d'une duplication privée temporaire.

  1. Sur GitHub, accédez à la page principale du référentiel.

  2. Sous le nom du dépôt, cliquez sur Sécurité. Si vous ne voyez pas l’onglet « Sécurité », sélectionnez le menu déroulant et cliquez sur Sécurité.

    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Sécurité » est mis en évidence avec un encadré orange foncé.

  3. Dans la barre latérale gauche, sous « Rapports », cliquez sur Avis.

  4. Dans la liste « Avis de sécurité », cliquez sur le nom de l'avis de sécurité dans lequel vous souhaitez créer une demande de tirage.

  5. Faites défiler l'écran jusqu'au bas du formulaire d'avis. Ensuite, sous « Collaborer sur un correctif », cliquez sur Comparer et effectuer une demande de tirage pour créer une demande de tirage pour la branche associée.

    Capture d'écran de la zone « Collaborer sur un correctif » d'un brouillon d'avis de sécurité. Le bouton « Comparer et effectuer une demande de tirage » est indiqué en orange foncé.
    « Ouvrir une demande de tirage » inclut un en-tête montrant les branches qui seront comparées dans une comparaison de différences Git à trois points lors de la création de la demande de tirage. Pour plus d’informations, consultez « À propos de la comparaison des branches dans les demandes de tirage ».

  6. Pour créer une demande de tirage (pull request) prête à être examinée, cliquez sur Créer une demande de tirage. Pour créer un brouillon de demande de tirage, utilisez la liste déroulante et sélectionnez Créer un brouillon de demande de tirage, puis cliquez sur Brouillon de demande de tirage. Si vous êtes membre d’une organisation, vous devrez peut-être demander l’accès au brouillon des demandes de tirage à partir d’un propriétaire d’organisation. Consultez « À propos des demandes de tirage (pull requests) ».

Vous ne pouvez pas fusionner des demandes de tirage individuelles dans une duplication privée temporaire. À la place, vous fusionnez toutes les demandes de tirage ouvertes à la fois dans l’avis de sécurité correspondant. Pour plus d’informations, consultez « Fusion de modifications dans un avis de sécurité ».

Fusion de modifications dans un avis de sécurité

Toute personne disposant d'autorisations d'administrateur pour un avis de sécurité peut y fusionner des modifications.

Vous ne pouvez pas fusionner des demandes de tirage individuelles dans une duplication privée temporaire. À la place, vous fusionnez toutes les demandes de tirage ouvertes à la fois dans l’avis de sécurité correspondant.

Vous ne pouvez fusionner des modifications dans un avis de sécurité que si chaque demande de tirage ouverte dans la duplication privée temporaire peut être fusionnée. Pour que les informations sur les vulnérabilités demeurent sécurisées, les vérifications d'état ne s'exécutent pas sur les demandes de tirage dans les duplications privées temporaires. Pour plus d’informations, consultez « À propos des branches protégées ».

De plus, il ne peut y avoir aucun conflit de fusion, et GitHub n'applique aucune des règles de protection que vous avez peut-être configurées pour la branche vers laquelle vous essayez de fusionner les modifications.

  1. Sur GitHub, accédez à la page principale du référentiel.
  2. Sous le nom du dépôt, cliquez sur Sécurité. Si vous ne voyez pas l’onglet « Sécurité », sélectionnez le menu déroulant et cliquez sur Sécurité.
    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Sécurité » est mis en évidence avec un encadré orange foncé.
  3. Dans la barre latérale gauche, sous « Rapports », cliquez sur Avis.
  4. Dans la liste « Avis de sécurité », cliquez sur le nom de l'avis de sécurité auquel sont associées des modifications que vous souhaitez fusionner.
  5. Faites défiler l'écran jusqu'au bas du formulaire d'avis. Ensuite, sous « Cet avis est prêt à être fusionné », cliquez sur Fusionner les demandes de tirage pour fusionner toutes les demandes de tirage ouvertes dans la duplication privée temporaire.

Capture d'écran de la zone « Collaborer sur un correctif » d'un brouillon d'avis de sécurité. Le bouton « Fusionner les demandes de tirage » est indiqué en orange foncé.

Note

Vous ne pouvez fusionner qu’une seule demande de tirage dans la branche main d’une duplication privée temporaire. Si plusieurs demandes de tirage ciblent la branche main, la fusion est bloquée.

Après avoir fusionné les modifications dans un avis de sécurité, vous pouvez publier ce dernier pour alerter votre communauté sur la vulnérabilité de sécurité dans les versions précédentes de votre projet. Pour plus d’informations, consultez « Publication d’un avis de sécurité de dépôt ».

Pour aller plus loin