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
- Typosquatting —
reqeustsà la place derequests - 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.