Skip to main content

Exporting a software bill of materials for your repository

You can export a software bill of materials or SBOM for your repository from the dependency graph. SBOMs allow transparency into your open source usage and help expose supply chain vulnerabilities, reducing supply chain risks.

Qui peut utiliser cette fonctionnalité ?

Toute personne sur GitHub

About the dependency graph and SBOM exports

Le graphe des dépendances est un résumé des fichiers manifest et des fichiers de verrouillage dans un dépôt. Il contient également toutes les dépendances soumises pour le dépôt à l'aide de l'interface API de soumission de dépendances. Pour chaque dépôt, il affiche :

  • Dépendances, les écosystèmes et les packages dont il dépend
  • Les dépendants : les dépôts et packages qui en dépendent

Pour chaque dépendance, vous pouvez voir la version, les informations de licence, le fichier manifeste qui l’inclut, et si elle présente des vulnérabilités connues. Pour les écosystèmes de packages prenant en charge les dépendances transitives, l’état de la relation sera affiché et vous pourrez cliquer sur «  », puis sur « Afficher les chemins », pour voir le chemin transitif qui a introduit la dépendance.

Vous pouvez également rechercher une dépendance spécifique à partir de la barre de recherche. Les dépendances sont triées automatiquement, les packages vulnérables apparaissant en haut de la liste.

You can export the current state of the dependency graph for your repository as a Software Bill of Materials (SBOM) using the industry standard SPDX format:

  • Via the GitHub UI
  • Using the REST API

Une SBOM est un inventaire formel et lisible par machine des dépendances d’un projet et des informations associées (telles que les versions, les identifiants de package, les licences, les chemins transitifs pour les écosystèmes de packages prenant en charge l’étiquetage des dépendances transitives, et les informations de copyright). Les SBOMs aident à réduire les risques liés à la chaîne logistique en :

  • Fournir une transparence sur les dépendances utilisées par votre référentiel
  • Autoriser l’identification des vulnérabilités dans votre codebase
  • Fournir des insights sur les problèmes de conformité, de sécurité ou de qualité de la licence pouvant exister dans votre codebase
  • Vous permettre de mieux vous conformer aux différentes normes en matière de protection des données

Pour plus d’informations sur les écosystèmes prenant en charge l’étiquetage des dépendances transitives, consultez Écosystèmes de packages pris en charge pour le graphe des dépendances.

If your company provides software to the US federal government per Executive Order 14028, you will need to provide an SBOM for your product. You can also use SBOMs as part of your audit process and use them to comply with regulatory and legal requirements.

Remarque

Dependents are not included in SBOMs.

Exporting a software bill of materials for your repository from the UI

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

  2. Sous le nom de votre référentiel, cliquez sur Insights.

    Capture d’écran de la page principale d’un dépôt. Dans la barre de navigation horizontale, un onglet, marqué d’une icône de graphique et du titre « Insights », est mis en évidence en orange.

  3. In the left sidebar, click Dependency graph.

  4. On the top right side of the Dependencies tab, click Export SBOM to generate an SBOM file for download from your browser.

Exporting a software bill of materials for your repository using the REST API

If you want to use the REST API to export an SBOM for your repository, see Points de terminaison d’API REST pour la nomenclature logicielle (SBOM).

Generating a software bill of materials from GitHub Actions

The following actions will generate an SBOM for your repository and attach it as a workflow artifact which you can download and use in other applications. For more information about downloading workflow artifacts, see Téléchargement d’artefacts de workflow.

ActionDetails
SPDX Dependency Submission ActionUses Microsoft's SBOM Tool to create SPDX 2.2 compatible SBOMs with the supported ecosystems
Anchore SBOM ActionUses Syft to create SPDX 2.2 compatible SBOMs with the supported ecosystems
SBOM Dependency Submission ActionUploads a CycloneDX SBOM to the API de soumission de dépendances