ArtifactorySécuritéDevSecOpsCI/CD

JFrog Artifactory : sécuriser sa chaîne de dépendances logicielle

7 juillet 2026 · Sphinx-Digital

En 2021, l’attaque SolarWinds a montré qu’une compromission de la chaîne de build peut toucher des milliers d’organisations. Sécuriser la supply chain logicielle est passé de bonne pratique à exigence. JFrog Artifactory est l’un des outils centraux de cette démarche.

Pourquoi vos dépendances sont une surface d’attaque

Votre application dépend de dizaines de bibliothèques tierces, qui dépendent elles-mêmes d’autres. Un projet Node.js typique embarque plusieurs centaines de packages transitifs. Chacun est un vecteur potentiel :

  • CVE dans une dépendance — vulnérabilité connue non patchée
  • Dependency confusion — package malveillant publié avec le même nom qu’un package interne
  • Typosquattingreqeusts à la place de requests
  • Package hijacking — prise de contrôle d’un package légitime

Artifactory comme proxy universel

La première ligne de défense : faire transiter toutes vos dépendances par Artifactory.

# Maven
<mirror>
  <id>artifactory</id>
  <mirrorOf>*</mirrorOf>
  <url>https://artifactory.example.com/artifactory/maven-virtual/</url>
</mirror>

# npm — .npmrc
registry=https://artifactory.example.com/artifactory/api/npm/npm-virtual/

# Docker — daemon.json
{ "registry-mirrors": ["https://artifactory.example.com/docker-hub"] }

Avec cette configuration, vos builds ne touchent jamais directement npm, PyPI ou Docker Hub. Tout est auditable et scannable.

Xray : scanner en temps réel

Politique : CVE avec CVSS ≥ 9.0
Action : Bloquer le téléchargement + notifier #security-alerts

Quand un développeur tente d’utiliser log4j-2.14.1 (Log4Shell, CVSS 10.0), Xray bloque le téléchargement avant même que le package entre dans le build.

Défense contre la Dependency Confusion

Dépôt Virtual "maven-virtual" :
  Ordre de résolution :
  1. maven-local (interne — priorité absolue)
  2. maven-central-remote (proxy Maven Central)

Si un package existe en local, il ne peut pas être écrasé par un package public du même nom.

Promotion : la dernière barrière avant production

jfrog rt build-promote myapp 42 \
  --source-repo=docker-staging \
  --target-repo=docker-prod \
  --status=Released \
  --comment="Scan Xray : aucune CVE critique"

L’image n’est pas re-buildée — copiée avec traçabilité complète. Si elle a passé Xray en staging, elle est garantie identique en production.

Notre formation Artifactory couvre l’ensemble de cette démarche sur des environnements de lab réels.