Meilleures pratiques pour le maintien des dépendances
Rester à jour sur les dépendances est essentiel pour maintenir un environnement logiciel sécurisé. Voici quelques recommandations :
**Adopter des outils de gestion des dépendances axés sur la sécurité**
-
Utilisez et configurez des outils qui analysent vos dépendances pour détecter les vulnérabilités et suggèrent automatiquement des mises à jour.
-
Vérifiez que ces outils sont intégrés à votre pipeline CI/CD pour la surveillance et la mise à jour continues.
-
Configurez vos processus pour suivre le contrôle de version sémantique pour éviter les modifications cassantes.
**Effectuer des analyses et des audits réguliers de la vulnérabilité** -
Planifiez des audits de dépendances réguliers et des analyses de dépendances pour identifier les dépendances obsolètes ou vulnérables.
**Automatiser la gestion des correctifs de sécurité** -
Configurez vos outils de gestion des dépendances pour appliquer automatiquement des correctifs de sécurité.
-
Configurez des requêtes de tirage automatisées pour les mises à jour de sécurité critiques pour qu'elles soient examinées et fusionnées rapidement.
**Appliquer des stratégies sur l’utilisation des dépendances** -
Implémentez des stratégies qui appliquent l’utilisation des versions sécurisées des dépendances.
-
Utilisez des outils qui peuvent bloquer la fusion des pull requests s'ils introduisent des vulnérabilités ou échouent à mettre à jour les dépendances vulnérables.
**Intégrer des tests de sécurité dans les**CI/CD -
Incorporez des outils de test de sécurité dans votre pipeline CI/CD.
-
Vérifiez que les mises à jour des dépendances sont testées automatiquement pour la conformité de la sécurité.
**Utiliser les fichiers de verrouillage et l’épinglage des dépendances** -
Utilisez des fichiers de verrouillage (par exemple,
package-lock.json,yarn.lock,Pipfile.lock) pour épingler les dépendances aux versions sécurisées connues. -
Mettez régulièrement à jour et passez en revue ces fichiers de verrou pour vous assurer que les dépendances sont à jour sans problèmes de sécurité inattendus.
**Suivre les avis de sécurité** -
Abonnez-vous aux avis de sécurité pour les langages et les frameworks que vous utilisez.
-
Automatisez l’intégration des avis dans votre flux de travail de développement pour rester informé des nouvelles vulnérabilités.
-
Gardez un œil sur les tableaux de bord fournis par vos outils de gestion des dépendances.
-
Tenez compte des mises à jour critiques, en particulier des correctifs de sécurité, et hiérarchiser celles-ci.
**contrôle de version et**de gestion des modifications -
Suivez les modifications de dépendance dans la gestion de version (par exemple, par le biais de pull requests automatisées).
-
Effectuez des révisions régulières du code pour vous assurer que les mises à jour n’introduisent pas de nouvelles vulnérabilités.
**Formation et sensibilisation** -
Informez vos équipes de développement et d’exploitation sur l’importance de maintenir les dépendances sécurisées et à jour.
-
Fournissez une formation sur l’utilisation efficace des outils de gestion des dépendances et de sécurité.
**Plan de réponse aux vulnérabilités** -
Disposer d’un plan de réponse aux incidents clair pour déterminer quand des vulnérabilités sont identifiées dans les dépendances.
-
Assurez-vous que l’équipe sait comment résoudre et résoudre rapidement les problèmes de sécurité.
En suivant ces pratiques, vous pouvez réduire considérablement le risque posé par les dépendances obsolètes et vulnérables et maintenir un environnement plus sécurisé.
Comment GitHub peut aider
GitHub fournit des fonctionnalités de sécurité pour vous aider à gérer les dépendances :
**Graphique** des dépendances : effectue le suivi des dépendances de votre projet et identifie les vulnérabilités. Consultez [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph).
**Révision** des dépendances : intercepte les dépendances non sécurisées dans les requêtes de tirage avant qu'elles ne soient fusionnées. En outre, action de révision des dépendances peut échouer aux vérifications et, lorsque les règles de protection de branche l'exigent, empêche les requêtes d'extraction qui introduisent des vulnérabilités d’être fusionnées. Consultez [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review).
**Dependabot** : analyse automatiquement les vulnérabilités, crée des alertes et ouvre des pull requests pour mettre à jour les dépendances vulnérables ou obsolètes. Vous pouvez regrouper plusieurs mises à jour dans des pull requests uniques pour rationaliser les révisions. Consultez [AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts).
**GitHub Advisory Database** : fournit des avis de sécurité qui alimentent la détection des vulnérabilités de Dependabot. Voir [AUTOTITLE](/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-the-github-advisory-database).
**Rapports de vulnérabilité privés** : permet aux maintenances de recevoir, discuter et corriger les rapports de vulnérabilité en privé avant la divulgation publique.
Vue d’ensemble de la sécurité : affiche la posture de sécurité de votre organisation avec des tableaux de bord pour les dépôts à risque, les tendances des alertes et l’état d’activation des fonctionnalités. Consultez À propos de la vue d’ensemble de la sécurité.
Pour obtenir des conseils sur la chaîne d’approvisionnement de bout en bout, consultez Sécurisation de votre chaîne d’approvisionnement de bout en bout.