À propos de la vérification des dépendances
Une révision des dépendances vous aide à comprendre les changements de dépendances et l’impact de ceux-ci sur la sécurité à chaque demande de tirage. Cette fonctionnalité fournit une visualisation facilement compréhensible des changements de dépendances avec des différences enrichies sous l’onglet « Fichiers modifiés » d’une demande de tirage (pull request). Une révision des dépendances vous informe de ce qui suit :
- Dépendances ajoutées, supprimées ou mises à jour, ainsi que leurs dates de publication.
- Nombre de projets utilisant ces composants.
- Données de vulnérabilité pour ces dépendances.
Pour plus d’informations, consultez « À propos de la vérification des dépendances » et « Révision des changements de dépendances dans une demande de tirage ».
À propos de la configuration de la révision des dépendances
La révision des dépendances est disponible quand le graphe des dépendances est activé pour votre instance GitHub Enterprise Server et qu’Advanced Security est activé pour l’organisation ou le dépôt. Pour plus d’informations, consultez « Activation de GitHub Advanced Security pour votre entreprise ».
Vérification de l’activation du graphique des dépendances
-
Dans votre instance GitHub Enterprise Server, accédez à la page principale du dépôt.
-
Sous le nom de votre dépôt, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.
-
Dans la section « Sécurité » de la barre latérale, cliquez sur Sécurité et analyse du code.
-
Sous « Configurer les fonctionnalités de sécurité et d’analyse », vérifiez si le graphique des dépendances est activé.
-
Si le graphique des dépendances est activé, cliquez sur Activer en regard de « GitHub Advanced Security » pour activer Advanced Security, y compris la révision des dépendances. Le bouton Activer est désactivé si votre entreprise n’a pas de licences disponibles pour Advanced Security.
À propos de la configuration de l’action de révision des dépendances
action de révision des dépendances analyse vos demandes de tirage à la recherche de changements de dépendances et génère une erreur si les nouvelles dépendances présentent des vulnérabilités connues. L’action est prise en charge par un point de terminaison d’API qui compare les dépendances entre deux révisions et signale toutes les différences.
Pour plus d’informations sur l’action et le point de terminaison d’API, consultez la documentation dependency-review-action
et « Points de terminaison d’API REST pour la révision des dépendances ».
Voici une liste des options de configuration courantes. Pour plus d’informations et une liste complète d’options, consultez Révision des dépendances sur le GitHub Marketplace.
Option | Obligatoire | Usage |
---|---|---|
fail-on-severity | Définit le seuil de gravité (low , moderate , high , critical ).L’action échoue sur toutes les demandes de tirage qui introduisent des vulnérabilités du niveau de gravité spécifié ou supérieur. | |
comment-summary-in-pr | Activez ou désactivez la création de rapports du résumé de la révision en tant que commentaire dans la demande de tirage (pull request). Si cette option est activée, vous devez accorder au flux de travail ou au travail l’autorisation pull-requests: write . | |
allow-ghsas | Contient la liste des ID de GitHub Advisory Database qui peuvent être ignorés pendant la détection. Vous trouverez les valeurs possibles pour ce paramètre dans GitHub Advisory Database. | |
config-file | Spécifie un chemin d’accès à un fichier de configuration. Le fichier de configuration peut être un fichier local dans le référentiel ou un fichier situé dans un référentiel externe. |
Configuration de l’action de révision des dépendances
Il existe deux méthodes pour configurer l’action de révision des dépendances :
- Incorporer les options de configuration dans votre fichier de workflow.
- Référencer un fichier de configuration dans votre fichier de workflow.
Notez que tous les exemples utilisent un numéro de version court pour l’action (v3
) au lieu d’un numéro de version SemVer (par exemple, v3.0.8
). Cela garantit que vous utilisez la version mineure la plus récente de l’action.
Utilisation de la configuration inline pour configurer l’action de révision des dépendances
-
Ajoutez un nouveau workflow YAML à votre dossier
.github/workflows
.Pour
runs-on
, l’étiquette par défaut estself-hosted
. Vous pouvez remplacer l’étiquette par défaut par l’étiquette de l’un de vos exécuteurs.YAML name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: [self-hosted] steps: - name: 'Checkout Repository' uses: actions/checkout@v4 - name: Dependency Review uses: actions/dependency-review-action@v4
name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: [self-hosted] steps: - name: 'Checkout Repository' uses: actions/checkout@v4 - name: Dependency Review uses: actions/dependency-review-action@v4
-
Spécifiez vos paramètres.
Cet exemple de fichier d’action de révision des dépendances montre comment vous pouvez utiliser les options de configuration disponibles.
YAML name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: [self-hosted] steps: - name: 'Checkout Repository' uses: actions/checkout@v4 - name: Dependency Review uses: actions/dependency-review-action@v4 with: # Possible values: "critical", "high", "moderate", "low" fail-on-severity: critical # ([String]). Skip these GitHub Advisory Database IDs during detection (optional) # Possible values: Any valid GitHub Advisory Database ID from https://github.com/advisories allow-ghsas: GHSA-abcd-1234-5679, GHSA-efgh-1234-5679 # ([String]). Block pull requests that introduce vulnerabilities in the scopes that match this list (optional) # Possible values: "development", "runtime", "unknown" fail-on-scopes: development, runtime
name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: [self-hosted] steps: - name: 'Checkout Repository' uses: actions/checkout@v4 - name: Dependency Review uses: actions/dependency-review-action@v4 with: # Possible values: "critical", "high", "moderate", "low" fail-on-severity: critical # ([String]). Skip these GitHub Advisory Database IDs during detection (optional) # Possible values: Any valid GitHub Advisory Database ID from https://github.com/advisories allow-ghsas: GHSA-abcd-1234-5679, GHSA-efgh-1234-5679 # ([String]). Block pull requests that introduce vulnerabilities in the scopes that match this list (optional) # Possible values: "development", "runtime", "unknown" fail-on-scopes: development, runtime
Utilisation d’un fichier config pour configurer l’action de révision des dépendances
-
Ajoutez un nouveau workflow YAML à votre dossier
.github/workflows
et utilisezconfig-file
pour préciser que vous utilisez un fichier de configuration.Pour
runs-on
, l’étiquette par défaut estself-hosted
. Vous pouvez remplacer l’étiquette par défaut par l’étiquette de l’un de vos exécuteurs.YAML name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: [self-hosted] steps: - name: 'Checkout Repository' uses: actions/checkout@v4 - name: Dependency Review uses: actions/dependency-review-action@v4 with: # ([String]). Representing a path to a configuration file local to the repository or in an external repository. # Possible values: An absolute path to a local file or an external file. config-file: './.github/dependency-review-config.yml' # Syntax for an external file: OWNER/REPOSITORY/FILENAME@BRANCH config-file: 'github/octorepo/dependency-review-config.yml@main' # ([Token]) Use if your configuration file resides in a private external repository. # Possible values: Any GitHub token with read access to the private external repository. external-repo-token: 'ghp_123456789abcde'
name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: [self-hosted] steps: - name: 'Checkout Repository' uses: actions/checkout@v4 - name: Dependency Review uses: actions/dependency-review-action@v4 with: # ([String]). Representing a path to a configuration file local to the repository or in an external repository. # Possible values: An absolute path to a local file or an external file. config-file: './.github/dependency-review-config.yml' # Syntax for an external file: OWNER/REPOSITORY/FILENAME@BRANCH config-file: 'github/octorepo/dependency-review-config.yml@main' # ([Token]) Use if your configuration file resides in a private external repository. # Possible values: Any GitHub token with read access to the private external repository. external-repo-token: 'ghp_123456789abcde'
-
Créez le fichier de configuration dans le chemin que vous avez spécifié.
Ce fichier d'exemple YAML illustre la manière dont vous pouvez utiliser les options de configuration disponibles.
YAML # Possible values: "critical", "high", "moderate", "low" fail-on-severity: critical # ([String]). Skip these GitHub Advisory Database IDs during detection (optional) # Possible values: Any valid GitHub Advisory Database ID from https://github.com/advisories allow-ghsas: - GHSA-abcd-1234-5679 - GHSA-efgh-1234-5679 # ([String]). Block pull requests that introduce vulnerabilities in the scopes that match this list (optional) # Possible values: "development", "runtime", "unknown" fail-on-scopes: - development - runtime
# Possible values: "critical", "high", "moderate", "low" fail-on-severity: critical # ([String]). Skip these GitHub Advisory Database IDs during detection (optional) # Possible values: Any valid GitHub Advisory Database ID from https://github.com/advisories allow-ghsas: - GHSA-abcd-1234-5679 - GHSA-efgh-1234-5679 # ([String]). Block pull requests that introduce vulnerabilities in the scopes that match this list (optional) # Possible values: "development", "runtime", "unknown" fail-on-scopes: - development - runtime
Pour plus d’informations sur les options de configuration, consultez dependency-review-action
.