Aller au contenu

--- # SOURCE_HASH: 993dd5b063d3cc16137e536a63afff8059bcb88a title: Fichier de verrou manquant entraînant des dépendances non fixées
shortname: cicd-dependances-non-fixees
description: Vérifie l'absence d'un fichier de verrou.
anchor: cicd
pretty_name: CI/CD - Fichier de verrou manquant entraînant des dépendances non fixée


{{ title }}

Vérifie la présence des manifestes de gestion des dépendances (par exemple, package.json, Gemfile, pyproject.toml, Pipfile, go.mod, etc.) sans un fichier de verrouillage associé qui fixe cryptographiquement les dépendances (par exemple, package-lock.json, Gemfile.lock, poetry.lock, Pipfile.lock, go.sum).

L'Importance des Fichiers de Verrouillage des Dépendances pour une Gestion Cohérente, Sécurisée et Prévisible des Dépendances

Les fichiers de verrouillage des dépendances jouent un rôle crucial dans le développement logiciel moderne, permettant aux équipes de créer des environnements cohérents, sécurisés et prévisibles à travers les différentes étapes du cycle de vie du logiciel. Pour les développeurs, les fichiers de verrouillage ne sont pas simplement un autre fichier dans un dépôt, ils sont essentiels pour maintenir des builds cohérents, améliorer la sécurité et simplifier la collaboration. Cet article explore l'importance des fichiers de verrouillage, les avantages qu'ils apportent et leur mise en œuvre spécifique dans les principaux langages de programmation.

Pourquoi les Fichiers de Verrouillage des Dépendances Sont-Ils Importants

1. Cohérence entre les Environnements

Les fichiers de verrouillage enregistrent les versions exactes de chaque dépendance, ainsi que des sous-dépendances, dont un projet dépend. En stockant ces versions spécifiques, les fichiers de verrouillage éliminent les incohérences entre les environnements (développement, staging, production). Lorsque le même fichier de verrouillage est utilisé, les développeurs peuvent être confiants que chaque installation recrée exactement le même environnement chaque fois, réduisant le risque de problèmes de type "ça fonctionne sur ma machine".

2. Sécurité Renforcée

L'utilisation de fichiers de verrouillage des dépendances est une mesure de sécurité forte. Les fichiers de verrouillage aident à protéger les applications contre les vulnérabilités liées aux dépendances en prévenant des mises à jour inattendues qui pourraient introduire des versions non sécurisées. Les vulnérabilités de sécurité dans les dépendances sont courantes, et en contrôlant quelles versions sont installées, vous obtenez un meilleur contrôle sur les risques de sécurité.

3. Collaboration Améliorée

Pour les équipes travaillant sur le même projet, les fichiers de verrouillage garantissent que chaque développeur, quelles que soient ses configurations locales, travaille avec des versions de dépendance identiques. Cette cohérence est cruciale pour les équipes, permettant une collaboration plus fluide et réduisant les frictions lors de la révision et de la fusion des modifications de code.

4. Software Bill of Materials (SBOM)

Les fichiers de verrouillage sont essentiels pour la génération d'un Software Bill of Materials (SBOM), qui est de plus en plus important pour le suivi des chaînes d'approvisionnement logicielle. Par exemple, Trivy, un analyseur de sécurité, peut générer un SBOM pour l'analyse de sécurité des dépendances, mais il nécessite un fichier de verrouillage pour fonctionner efficacement. Sans un tel fichier, le SBOM ne refléterait pas avec précision les dépendances du projet et leurs vulnérabilités associées, ce qui donnerait une image incomplète et probablement incorrecte de la réalité dans l'environnement de production.

Fichiers de Verrouillage des Dépendances par Langages

JavaScript

Python

Go

Java

.NET / C

  • Gestionnaire de Paquet : NuGet
  • Fichier de Verrouillage : packages.lock.json (NuGet)
  • Génération/Maintien :
  • Documentation de Microsoft

Ruby

PHP

Rust

Objective-C / Swift

Elixir

Dart

C/C++

Julia

Étapes pour Créer un SBOM avec Trivy

Pour que la fonctionnalité SBOM de Trivy fonctionne correctement, il est essentiel d'avoir un fichier de verrouillage à jour. Les fichiers de verrouillage contiennent des métadonnées nécessaires pour générer un SBOM qui représente avec précision les dépendances, les versions et les vulnérabilités de sécurité potentielles du projet.

Ressources Supplémentaires