Comment utiliser GHAS pour un impact maximal
Dans cette unité, nous allons examiner :
- La compréhension du graphe de dépendances
- L’action sur les alertes GHAS
- Qui a accès aux alertes
Le graphe de dépendances : au cœur de la sécurité de la chaîne d’approvisionnement
Le graphe de dépendances identifie toutes les dépendances amont et les dépendances aval publiques d’un dépôt ou d’un paquet.
Vous pouvez consulter les dépendances de votre dépôt et certaines de leurs propriétés (comme les vulnérabilités) dans l’onglet Insights du dépôt.
GitHub génère ce graphe à partir des dépendances explicites déclarées dans les fichiers manifestes et lockfiles. Une fois activé, il analyse automatiquement tous les fichiers manifestes connus pour construire un graphe avec les noms et versions des dépendances.
Points clés :
- Inclut les dépendances directes et transitives
- Se met à jour automatiquement lorsqu’un commit modifie ou ajoute un fichier manifeste ou lock pris en charge
- Se met aussi à jour si une dépendance est modifiée dans son propre dépôt
- Accessible via l’onglet Insights de la page principale du dépôt
- Export possible au format SBOM compatible SPDX, via l’interface GitHub ou l’API REST
- L’API de soumission de dépendances (bêta) permet de soumettre des dépendances même si l’écosystème n’est pas pris en charge
Fonctionnalités qui s’appuient sur le graphe :
- Revue des dépendances : identifie les changements et leur impact en matière de sécurité
- Alertes Dependabot : détecte les vulnérabilités en croisant les données du graphe avec la base GitHub Advisory
- Mises à jour de sécurité Dependabot : aide à mettre à jour les dépendances vulnérables
- Mises à jour de version Dependabot : ne s’appuient pas sur le graphe, mais sur le versionnage sémantique
Agir sur les alertes GHAS
GHAS offre une vue d’ensemble complète de la posture de sécurité d’une organisation et permet de prioriser et gérer efficacement les risques.
Types d’alertes GHAS :
- Alertes d’analyse de code (Code Scanning)
- Alertes CodeQL : identifient les vulnérabilités comme les injections SQL, XSS, etc.
- Alertes d’analyse de secrets (Secret Scanning)
- Secrets exposés : détectent les clés API ou identifiants sensibles dans le code source
- Alertes de dépendances (Dependabot)
- Détecte les dépendances obsolètes et propose des mises à jour sécurisées
- Vue d’ensemble de la sécurité
- Tableau de bord résumant l’état de sécurité du dépôt
- Alertes tierces
- Intégration possible avec des outils externes via des fichiers SARIF
Conséquences de l’ignorance des alertes
Ignorer une alerte de sécurité peut entraîner :
- Exploitation par des acteurs malveillants
- Violations de données, interruptions de service
- Efforts de correction accrus, retards de projet, perte de confiance
À long terme :
- Atteinte à la réputation
- Non-conformité réglementaire
- Pertes financières
Les développeurs doivent analyser immédiatement la nature et la gravité de l’alerte, évaluer son impact et appliquer les mesures correctives.
Qui a accès aux alertes ?
GHAS permet une gestion fine des accès, garantissant que seules les personnes autorisées peuvent consulter les alertes sensibles.
Accès par rôle :
- Analyse de code et alertes Dependabot : accessibles à ceux ayant le rôle Write
- Alertes d’analyse de secrets : accessibles uniquement aux utilisateurs ayant le rôle Admin
- Accès personnalisé : tout utilisateur ou équipe peut se voir accorder l’accès à toutes les alertes via les paramètres d’accès aux alertes du dépôt
Une gestion efficace des accès améliore la collaboration et permet à chaque membre de se concentrer sur les aspects de sécurité pertinents à son rôle.
En comprenant comment identifier les vulnérabilités, réagir aux alertes, gérer les accès, et éviter les risques liés à l’inaction, les équipes peuvent exploiter pleinement GHAS pour créer un environnement de développement plus sécurisé et résilient.