Ce guide explique comment améliorer votre stratégie de sécurité en activant la fonctionnalité d'analyse des failles dans Secure Source Manager.
L'analyse des failles détecte automatiquement les failles connues dans les dépendances de votre code source, en analysant chaque nouveau commit d'une demande d'extraction'extraction. Les failles sont présentées à la fois dans les vues des demande d'extraction et dans l'onglet Sécurité à l'échelle du dépôt.
Activer l'analyse des failles
Assurez-vous que les rôles et paramètres suivants sont activés pour votre dépôt.
Rôles requis
Pour obtenir l'autorisation nécessaire pour activer l'analyse des failles, demandez à votre administrateur de vous accorder le rôle IAM Administrateur de dépôt Secure Source Manager (roles/securesourcemanager.repoAdmin) sur le dépôt Secure Source Manager.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient l'autorisation securesourcemanager.repositories.update, qui est requise pour activer l'analyse des failles.
Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour savoir comment attribuer des rôles Secure Source Manager, consultez Contrôle des accès avec IAM et Accorder aux utilisateurs l'accès à l'instance.
Mettre à jour les paramètres du dépôt
Vous pouvez activer l'analyse des failles pour vos dépôts via l'interface Secure Source Manager :
- Accédez au dépôt dans lequel vous souhaitez activer l'analyse des failles.
- Cliquez sur l'icône Paramètres.
- Recherchez le bouton Analyse des failles.
- Cliquez sur le bouton pour l'activer.
- Cliquez sur le bouton Update Settings (Mettre à jour les paramètres).
Utiliser l'analyse des failles
Une fois l'analyse des failles activée, les analyses suivantes sont effectuées automatiquement :
- Analyses planifiées : les commits de tête de toutes les branches, une fois par jour.
- Analyses des demandes d'extraction :
- Les commits de tête des nouvelles demandes d'extraction, lors de la création de la demande d'extraction d'extraction.
- Nouveaux commits envoyés aux demandes d'extraction, lors de l'envoi.
Seules les failles provenant des dépendances de votre code sont détectées. Les analyses de failles détectent les failles répertoriées dans les bases de données publiques, y compris, mais sans s'y limiter, la National Vulnerability Database et la GitHub Advisory Database. Les failles détectées incluent un lien externe vers les données de la base de données publique sur la faille et, le cas échéant, l'ID CVE.
Onglet "Sécurité"
Une fois l'analyse des failles activée, un onglet Sécurité s'affiche dans la barre de navigation du dépôt. Vous pouvez l'utiliser pour rechercher les failles analysées pendant une période de conservation de trois ans.
L'onglet "Security" (Sécurité) inclut les résultats des analyses planifiées et des analyses des demande d'extraction.
Par défaut, le filtre Trouvé dans de l'onglet "Sécurité" est défini sur la branche la plus récemment consultée (ou sur la branche par défaut du dépôt). Pour afficher d'autres failles, ajustez ou effacez le filtre Trouvé dans.
L'onglet Sécurité inclut les données suivantes sur chaque faille :
- Gravité : gravité de la faille de sécurité, telle qu'évaluée par la source de la base de données publique des failles.
- ID : ID CVE public, s'il est disponible, ou un autre identifiant tel que l'ID GHSA. Si disponible, un lien externe vers l'entrée de la base de données publique pour la faille.
- Found In (Trouvé dans) : SHA du commit Git qui a été analysé, ainsi qu'une liste de toutes les branches Git, de tous les tags Git ou de toutes les demandes d'extraction pour lesquels il s'agit du dernier commit.
- Fichier : fichier source du dépôt qui inclut la dépendance vulnérable et, si disponible, le numéro de ligne.
- Package : nom du package dépendant et sa version contenant la faille. Si elle est connue, la version du package qui corrige la faille est également indiquée.
- Description : si disponible, description de la faille.
- Détectée : date de l'analyse qui a détecté la faille.
Les filtres suivants sont disponibles dans l'onglet Sécurité :
- Gravité : n'affiche que les failles présentant la gravité spécifiée (
CRITICAL,HIGH,MEDIUMouLOW). - Found In (Trouvé dans) : n'affiche que les failles détectées dans la branche, le tag ou le hachage SHA de commit Git spécifié.
- Fichier : n'affiche que les failles détectées dans le chemin d'accès source spécifié. Accepte les sous-chaînes. Par exemple,
project/peut être utilisé pour filtrer les dépendances vulnérables dans le répertoireproject/. - Faille : recherchez une faille à l'aide de ses données publiques, telles que son ID, sa description ou le nom du package concerné. Accepte les sous-chaînes.
- Date de début et Date de fin : n'affiche que les failles détectées après ou avant les dates indiquées, respectivement. Format :
YYYY-MM-DD.
Demandes d'extraction
Une fois l'analyse de la demande d'extraction terminée, les failles détectées s'affichent dans l'onglet Conversation de la demande d'extraction d'extraction. Les analyses vérifient tous les fichiers du dépôt. Les failles des fichiers non modifiés dans la demande d'extraction peuvent être incluses.
Les demandes d'extraction affichent une vue abrégée des principales failles détectées. Pour afficher la liste complète et les détails des failles de la demande d'extraction, cliquez sur le lien Full Results (Résultats complets) pour les afficher dans l'onglet "Security" (Sécurité) du dépôt.
Les failles ne bloquent pas la fusion des demandes d'extraction.
Types de fichiers compatibles
Les fichiers de package des langages suivants seront analysés pour détecter les failles de dépendance :
| Compatible | |
|---|---|
| Go | |
| Java | |
| JavaScript | |
| Node.js | |
| PHP | |
| Python | |
| Ruby | |
| Rust | |
| TypeScript | |
| .NET |