Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 305

Verrouillage de dépendances (pinning)

Qu'est-ce que Verrouillage de dépendances (pinning) ?

Verrouillage de dépendances (pinning)Pratique consistant à déclarer les dépendances logicielles à des versions exactes, souvent associées à des empreintes cryptographiques, afin que les builds consomment toujours les mêmes artefacts et résistent aux manipulations de la chaîne d'approvisionnement.


Le pinning remplace les plages floues ("^1.0.0") par des versions exactes et, idéalement, des empreintes cryptographiques dans un lockfile (package-lock.json, poetry.lock, Pipfile.lock, Gemfile.lock, go.sum, Cargo.lock). Les builds deviennent reproductibles et résistent aux mises à jour silencieuses, à la dependency confusion, au typosquatting et aux versions compromises. Les pratiques modernes fixent aussi les GitHub Actions et autres plugins CI à des SHA de commit plutôt qu'à des tags mutables. Le pinning doit être couplé à une surveillance active des vulnérabilités (SCA, Dependabot, Renovate) pour que les correctifs continuent à arriver, sous peine de voir s'accumuler des CVE. Le hash pinning est un contrôle clé cité par SLSA, NIST SSDF, OWASP et les initiatives de builds reproductibles.

Exemples

  1. 01

    Fixer toutes les GitHub Actions tierces à des SHA de commit plutôt qu'à des tags comme v3.

  2. 02

    Utilisation de pip --require-hashes avec un requirements.txt entièrement haché en CI.

Questions fréquentes

Qu'est-ce que Verrouillage de dépendances (pinning) ?

Pratique consistant à déclarer les dépendances logicielles à des versions exactes, souvent associées à des empreintes cryptographiques, afin que les builds consomment toujours les mêmes artefacts et résistent aux manipulations de la chaîne d'approvisionnement. Cette notion relève de la catégorie Sécurité applicative en cybersécurité.

Que signifie Verrouillage de dépendances (pinning) ?

Pratique consistant à déclarer les dépendances logicielles à des versions exactes, souvent associées à des empreintes cryptographiques, afin que les builds consomment toujours les mêmes artefacts et résistent aux manipulations de la chaîne d'approvisionnement.

Comment fonctionne Verrouillage de dépendances (pinning) ?

Le pinning remplace les plages floues ("^1.0.0") par des versions exactes et, idéalement, des empreintes cryptographiques dans un lockfile (package-lock.json, poetry.lock, Pipfile.lock, Gemfile.lock, go.sum, Cargo.lock). Les builds deviennent reproductibles et résistent aux mises à jour silencieuses, à la dependency confusion, au typosquatting et aux versions compromises. Les pratiques modernes fixent aussi les GitHub Actions et autres plugins CI à des SHA de commit plutôt qu'à des tags mutables. Le pinning doit être couplé à une surveillance active des vulnérabilités (SCA, Dependabot, Renovate) pour que les correctifs continuent à arriver, sous peine de voir s'accumuler des CVE. Le hash pinning est un contrôle clé cité par SLSA, NIST SSDF, OWASP et les initiatives de builds reproductibles.

Comment se défendre contre Verrouillage de dépendances (pinning) ?

Les défenses contre Verrouillage de dépendances (pinning) combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.

Quels sont les autres noms de Verrouillage de dépendances (pinning) ?

Noms alternatifs courants : Fixation de versions, Hash pinning.

Termes liés