Sécurité automatisée

Effectué

Ici, nous abordons certaines méthodes permettant d’automatiser les vérifications de sécurité dans un dépôt, à la disposition des administrateurs de dépôts GitHub.

Détecter et corriger les dépendances obsolètes avec des vulnérabilités de sécurité

À ce jour, presque tous les projets de ce jour prennent des dépendances sur des packages externes. Bien que ces composants puissent offrir des avantages substantiels en termes de productivité, ils peuvent introduire d’autres risques de sécurité. Surveiller ces packages et l’état de leurs vulnérabilités peut prendre du temps, en particulier en raison de la façon dont chaque dépendance peut avoir ses propres dépendances qui peuvent devenir difficiles à suivre et à tenir à jour. Heureusement, GitHub fournit des fonctionnalités qui réduisent cette charge de travail.

Graphiques des dépendances des dépôts

Les graphiques des dépendances sont une fonctionnalité par défaut disponible pour chaque dépôt. GitHub analyse les manifestes des packages courants, comme package.json, requirements.txt et d’autres. Ces graphiques permettent aux propriétaires de projet de suivre de façon récursive toutes les dépendances sur lesquelles s’appuie leur projet.

GitHub dependency graph

Pour obtenir la liste des manifestes de dépendance pris en charge, consultez À propos du graphe des dépendances.

Alertes de dépendance automatisées

Même avec un graphique des dépendances visuel, il peut encore être extrêmement difficile de maîtriser les considérations les plus récentes en matière de sécurité pour chaque dépendance d’un projet. Pour réduire cette surcharge de travail, GitHub fournit des alertes de dépendance automatisées qui surveillent pour vous vos graphiques des dépendances. Il établit ensuite des références croisées entre les versions cibles et les versions figurant sur les listes des vulnérabilités connues. Quand un risque est découvert, le projet fait l’objet d’une alerte. Les informations relatives à l’analyse proviennent des avis de sécurité GitHub.

A GitHub alert for a vulnerable dependency

Mises à jour des dépendances automatisées avec Dependabot

Une alerte de dépendance peut amener un contributeur au projet à faire passer la référence du package incriminé à la version recommandée et à créer une demande de tirage pour la validation. Ne serait-ce pas bien s’il existait un moyen d’automatiser ce travail ? Il y a une bonne nouvelle ! Dependabot le permet. Il recherche les alertes de dépendance et crée des demandes de tirage afin qu’un contributeur puisse valider la mise à jour et fusionner la demande.

Pour plus d’informations sur la flexibilité de Dependabot, consultez Configuration des mises à jour de sécurité de Dependabot.

Analyse du code automatisée

Tout comme Dependabot analyse votre dépôt à la recherche d’alertes de dépendance, vous pouvez utiliser l’analyse du code dans un dépôt GitHub pour y détecter d’éventuelles erreurs et failles de sécurité. L’analyse du code présente plusieurs avantages. Vous pouvez l’utiliser pour la recherche, le triage et la hiérarchisation des corrections à apporter aux problèmes existants ou aux potentielles vulnérabilités de sécurité. Elle sert également à empêcher les développeurs d’introduire de nouveaux problèmes de sécurité dans le code.

L’un des autres avantages de l’analyse du code est sa capacité à utiliser CodeQL. Avec CodeQL, vous pouvez interroger du code sous forme de données, ce qui vous permet de créer des requêtes personnalisées ou d’utiliser des requêtes gérées par la communauté open source. L’analyse du code vous permet de personnaliser et gérer librement la façon dont le code dans votre dépôt est analysé.

Vous pouvez activer les alertes d’analyse du code et les workflows sous l’onglet Sécurité d’un dépôt GitHub :

A list of policies, advisories, and alerts with links to more information.

Découvrez-en plus sur l’analyse du code et CodeQL.

Analyse de secrets

Il existe une autre fonctionnalité d’analyse automatisée dans un dépôt GitHub, l’analyse de secrets. À l’image des fonctionnalités d’analyse de sécurité précédentes, l’analyse de secrets recherche les informations d’identification ou secrets connus, commités dans le dépôt. Cette analyse est effectuée pour empêcher les comportements frauduleux et garantir l’intégrité des données sensibles. Par défaut, l’analyse de secrets porte sur les dépôts publics et vous pouvez l’activer sur les dépôts privés par les administrateurs de dépôts ou les propriétaires d’organisations.

Quand l’analyse des secrets détecte un ensemble d’informations d’identification, GitHub informe le fournisseur de services qui a émis le secret. Le fournisseur de services valide les informations d’identification. Ensuite, il décide de révoquer le secret, d’en émettre un nouveau ou de vous contacter directement. L’action dépend des risques inhérents pour vous ou le fournisseur de services.

Découvrez-en plus sur l’analyse des secrets des dépôts publics et privés.