Les outils de sécurité de la chaîne logistique logicielle et les lacunes qu'ils laissent subsister

Les correctifs php2shell (CVE-2026-109618 et CVE-2026-109619) pour les versions de PHP en fin de vie sont désormais disponibles. Les réponses du service commercial étant plus lentes que d'habitude en raison d'une forte demande, le moyen le plus rapide d'obtenir les paquets corrigés est d'acheter ELS for Runtimes en ligne (s'ouvre dans un nouvel onglet). Consulter la FAQ sur les correctifs

Accédez directement au résumé généré par l'IA de cet article de blog

  • Résumez cet article avec Perplexity
  • Résume cet article avec Gemini

Principaux enseignements

  • La plupart des outils de sécurité de la chaîne logistique logicielle vous indiquent ce qui s'est déjà glissé dans votre version, mais ils sont bien moins nombreux à empêcher que cela n'arrive dès le départ.
  • Cette appellation recouvre cinq fonctions réellement distinctes, mais les acheteurs ont souvent tendance à les comparer comme si elles remplissaient toutes la même fonction.
  • Ce qui les distingue, c'est ce qui se passe pendant l'installation, et non ce qui s'affiche ensuite sur le tableau de bord.
  • Deux chiffres issus d'un test en environnement de test permettront de présélectionner des candidats plus rapidement que n'importe quelle matrice de fonctionnalités fournie par un prestataire.

La sécurité de la chaîne d’approvisionnement logicielle a rapidement gagné en importance dans les priorités des équipes de sécurité cette année, et la liste des solutions retenues ne cesse de s’allonger. Il suffit d’assister à trois présentations de fournisseurs en une semaine pour que les démonstrations finissent par se confondre. Plusieurs fournisseurs, plusieurs tableaux de bord, tous mettant en évidence des dépendances vulnérables dans le même dépôt d’échantillons bien organisé, sans qu’il soit vraiment possible de déterminer lesquels auraient pu empêcher l’une des campagnes menées cette année.

Ce n'est pas un problème lié aux compétences des acheteurs. C'est un problème lié à la catégorie de produits. Ces outils remplissent des fonctions fondamentalement différentes tout en s'appuyant sur un discours marketing quasi identique, et la différence n'apparaît que lorsqu'on pose une question très précise sur le calendrier.

Pourquoi cette catégorie suscite-t-elle soudainement l'intérêt de tout le monde ?

La couverture des analystes suit les dépenses, et celles-ci découlent d'incidents comme ceux-ci. À une semaine d’intervalle, fin mars 2026, un paquet npm très répandu a été détourné pour installer discrètement un cheval de Troie d’accès à distance sur toute nouvelle version compilée pendant une fenêtre de trois heures, et un paquet PyPI très répandu a été détourné pour voler des identifiants dès le prochain démarrage de Python – aucune action de la part de l’utilisateur n’était requise dans les deux cas. Ces deux attaques étaient conçues pour s’exécuter avant que l’analyse post-résolution ne puisse faire quoi que ce soit d’utile : l’une lors de l’installation, l’autre lors de la prochaine exécution de l’interpréteur.

C'est là la lacune que la plupart des outils de sécurité de la chaîne logistique logicielle ne comblent pas, et c'est aussi la raison pour laquelle il est si difficile de s'y retrouver dans ce secteur. Les fournisseurs proposent des solutions basées sur des points de contrôle très différents : certains effectuent une analyse a posteriori, d'autres bloquent les menaces avant l'installation, tout en utilisant un langage presque identique pour décrire leur fonctionnement.

Retour à la réalité : Le fait qu’un fournisseur prétende appartenir à cette catégorie ne signifie pas pour autant que son produit résout le même problème que celui du fournisseur voisin. Demandez précisément quel point de contrôle son produit couvre avant de supposer qu’il y a chevauchement.

Ce que font réellement les outils de sécurité de la chaîne logistique logicielle

Cinq fonctions distinctes sont commercialisées sous cette marque. Peu de produits couvrent l'ensemble de ces cinq fonctions, et la plupart des équipes finissent par en combiner plusieurs.

Fonction Question à laquelle elle répond Lorsqu'il s'exécute
Analyse de la composition des logiciels Quels sont les composants présentant des vulnérabilités connues dans cette version ? Une fois les dépendances résolues
Génération et gestion de la liste SBOM Qu'est-ce qui a été expédié exactement, et à qui ? Lors de la compilation ou de la publication
Provenance et attestation Cet artefact a-t-il été produit par la version indiquée ? Au moment de la publication et de la vérification
Vérification lors de l'installation Faut-il autoriser la résolution de ce paquet ? Avant et pendant l'installation
Maintenance des paquets après la fin de vie (EOL) Qui se chargera de corriger cela une fois que le développement en amont aura cessé ? En continu, après la fin de vie (EOL) en amont

L'analyse de la composition, les SBOM et la traçabilité sont les fonctionnalités les plus abouties et les mieux comprises, et de nombreuses organisations disposent déjà d'outils couvrant au moins certaines d'entre elles. C'est au niveau du filtrage lors de l'installation que les attaques de 2026 ont réellement porté leurs fruits, et c'est la fonctionnalité que la plupart des listes de présélection ne prennent jamais la peine d'évaluer directement.

Maintenance après la fin de vie (EOL) est celle à laquelle personne ne pense jusqu'à ce qu'un audit révèle une dépendance dont le responsable de la maintenance a cessé toute activité dès 2021.

La différence entre la détection et la prévention

Commencez par la fonctionnalité dont disposent déjà presque toutes les équipes, car c’est aussi là que l’on voit le plus clairement où s’arrête la détection et où commence la prévention. L’analyse de la composition logicielle compare votre liste de dépendances résolues à des bases de données d’avis de sécurité. Elle est vraiment efficace dans ce domaine, et il vaut la peine de s’en doter, quels que soient les autres outils que vous achetiez.

Le problème, c’est que la détection des vulnérabilités basée sur les avis de sécurité ne fonctionne qu’une fois que le composant malveillant a été identifié et que cette information a été transmise à votre outil. Or, elle n’y parvient qu’après que quelqu’un a découvert le paquet malveillant, l’a signalé et l’a fait publier dans un flux. Pour les campagnes de cette année, la détection a souvent été rapide, tandis que le processus de publication des avis de sécurité restait à la traîne. Dans le compromission de TanStack sur npm du 11 mai 2026, le scanner de Socket a signalé les artefacts malveillants dans les six minutes de sa publication, et la compromission a été signalée publiquement 20 à 26 minutes après la première publication malveillante – par un chercheur externe, et non par les outils propres au projet concerné. Six minutes, c’est rapide en matière de détection. Cela représente tout de même six minutes pendant lesquelles un paquet malveillant reste actif dans le registre, accessible par n’importe quelle compilation, et un délai considérablement plus long avant que la plupart des outils ne disposent d’éléments permettant de le comparer.

Réfléchissez maintenant à l'endroit où le code malveillant s'exécute réellement. Un script npm « postinstall » s'exécute lors de l'installation via « npm install », et ce n'est pas une hypothèse théorique. Le 31 mars 2026, le bibliothèque Axios, très répandue, a été compromise lorsque des attaquants ont utilisé un compte de mainteneur piraté pour publier deux versions malveillantes, chacune intégrant discrètement une dépendance corrompue, plain-crypto-js, dont le script « postinstall » agissait comme un dropper de cheval de Troie d’accès à distance multiplateforme, récupérant des charges utiles spécifiques à chaque plateforme depuis un serveur de commande et de contrôle actif. Quiconque a effectué une nouvelle installation pendant cette période a directement intégré le RAT dans sa compilation, sans qu’aucune instruction d’importation ne soit nécessaire.

Un paquet PyPI exploitant les hooks de démarrage .pth s'exécute au prochain démarrage de l'interpréteur, et la faille LiteLLM en est l'exemple le plus flagrant. Le 24 mars 2026, deux versions du paquet Python litellm sur PyPI se sont avérées contenir du code malveillant, après qu’une version compromise du scanner de sécurité Trivy, déjà utilisé dans le pipeline CI/CD de LiteLLM, eut exposé les identifiants de publication PyPI du projet. Les deux versions contenaient une charge utile, et la seconde allait plus loin, en installant un fichier .pth qui s’exécutait automatiquement à chaque démarrage de l’interpréteur Python et déclenchait une charge utile visant à voler des identifiants sans nécessiter la moindre importation explicite.

Une crate Rust contenant un fichier `build.rs` malveillant s'exécute lors de la compilation : il s'agit du même défaut de conception, mais dans un écosystème différent. Dans chaque cas, le code malveillant s'exécute avant toute logique applicative : lors de l'installation, lors de la compilation ou automatiquement au prochain démarrage du runtime.

Pour un scanner qui ne se préoccupe que de la résolution ou de l'installation, il n'y a pas de délai utile entre l'arrivée de la dépendance et son exécution. L'analyse en elle-même n'est pas lente. Elle se situe simplement du mauvais côté de l'événement.

Attention : Si une démonstration d’un fournisseur montre que le paquet malveillant apparaît dans une liste de résultats, ce que vous venez de voir relève de la détection, et non de la prévention. Demandez-lui de refaire le même test en surveillant le trafic sortant du réseau et de vous montrer si la charge utile a contacté son serveur de commande avant même que ce résultat ne s’affiche.

La vérification au moment de la résolution est l'un des rares contrôles intervenant avant l'exécution au moment de l'installation, et c'est là le principe de conception qui sous-tend SecureChain for OSS. Les paquets sont recompilés à partir de sources vérifiées présentant une provenance de niveau 3 selon la norme SLSA, signés, puis publiés dans un registre unique vers lequel vous redirigez votre gestionnaire de paquets ou de référentiels existant. Ainsi, la vérification est déjà effectuée au moment où un agent de compilation demande le paquet.

La provenance à elle seule ne comble pas cette lacune. Les versions malveillantes de TanStack ont été publiées par le pipeline de publication du projet lui-même, sous son identité de confiance, et constituent le premier cas documenté de paquets npm malveillants dotés d’une provenance SLSA valide. La provenance indique où un artefact a été compilé. Elle ne précise en rien si les éléments entrant dans cette compilation ont été vérifiés ; c’est pourquoi la recompilation à partir d’une source vérifiée constitue un contrôle distinct et non le même.

Comparaison entre Snyk, Socket et le dépistage au niveau du registre

Quatre approches architecturales dominent actuellement les listes de présélection des fournisseurs de solutions de sécurité de la chaîne logistique. Les produits individuels présentant des différences assez marquées, il convient de considérer cette présentation comme une orientation générale par catégorie plutôt que comme une analyse détaillée fonctionnalité par fonctionnalité. Une simple comparaison des outils SCA ne suffirait pas à mettre en évidence ces différences, car la distinction réelle porte sur les points de contrôle et non sur une liste de fonctionnalités.

Approche Point de contrôle Interrompt l'exécution au moment de l'installation Profil type de l'acheteur
Scanners SCA Pipeline CI, après la résolution Non Les équipes AppSec et les points de contrôle CI existants
Analyse des comportements Examen de la PR, phase préalable à la fusion et (pour certains fournisseurs) durée d'installation Oui, lorsque le pare-feu est déployé au moment de l'installation ; l'analyse PR à elle seule ne suffit pas Programmes de sécurité pilotés par les développeurs
Pare-feu de référentiels Proxy d'artefact, basé sur des règles Peut bloquer avant le téléchargement ; cela dépend de la couverture de détection et de la politique en vigueur Entreprises utilisant déjà Nexus ou Artifactory
Registres sélectionnés et restructurés La résolution du paquet en elle-même Oui Des équipes qui remplacent purement et simplement la confiance accordée au registre public

Snyk s'inscrit principalement dans l'approche du « scanner SCA ». Socket combine l'analyse comportementale des paquets avec un blocage au moment de l'installation via Socket Firewall, qui agit comme proxy pour le trafic du gestionnaire de paquets et bloque les paquets dont la nature malveillante est confirmée avant même qu'ils ne soient téléchargés. Nexus Firewall et JFrog Curation s'inscrivent dans l'approche du « pare-feu de référentiel ». Les référentiels « curés » et « recompilés » constituent un domaine plus restreint, car la recompilation des paquets à partir du code source à l'échelle d'un référentiel nécessite un modèle d'ingénierie sensiblement différent de celui du filtrage basé sur des règles. C’est l’approche SecureChain pour les logiciels libres s’articule autour de cette approche : des paquets recompilés à partir du code source, corrigés même lorsque le développement en amont est à l’arrêt, et six écosystèmes – JavaScript, Python, Java, Go, Rust et PHP – couverts par un seul registre.

Aucune de ces quatre approches n'aborde vraiment la question de ce qui se passe lorsque le responsable d'un paquet disparaît. Il s'agit là d'une discipline à part entière, qui vient s'ajouter à l'approche que vous choisirez (nous y reviendrons plus loin).

Et aucune de ces quatre approches n'est en soi une mauvaise réponse. L'erreur consiste à acheter deux produits issus de la même approche et à supposer que l'on a ainsi couvert l'ensemble de la catégorie.

Conseil de pro : Demandez à chaque fournisseur quelle approche il estime adopter. Ceux qui répondent immédiatement et identifient leurs propres lacunes sont ceux qui méritent un deuxième entretien. Vérifiez toute affirmation de couverture de bout en bout par rapport aux quatre approches plutôt que de la prendre pour argent comptant.

Un cadre d'évaluation que vous pouvez mettre en place en deux semaines

Les démos des fournisseurs s'exécutent sur des dépôts d'échantillons « aseptisés », ce qui ne vous apprend pratiquement rien. Exécutez plutôt ceci.

Semaine 1 : constituer l'ensemble de test. Choisissez trois campagnes réelles de 2026 qui ciblent des écosystèmes que vous utilisez réellement. Ces trois campagnes couvrent quatre écosystèmes et trois mécanismes distincts.

  • Le compromis d'Axios sur npm : le 31 mars 2026, un compte de responsable piraté a publié un dropper RAT post-installation.
  • La faille de sécurité concernant LiteLLM sur PyPI : le 24 mars 2026, un fichier .pth malveillant s'exécute au démarrage de l'interpréteur.
  • PolinRider sur npm, Go, Packagist et les extensions Chrome : une campagne active liée à la Corée du Nord utilisant des chargeurs de logiciels malveillants cachés intégrés dans des fichiers de paquets pour établir un système de commande et de contrôle et déployer des charges utiles destinées à voler des identifiants.

Deuxième semaine : mesurez deux nombres. Les versions connues pour être malveillantes sont généralement supprimées ou mises en quarantaine peu après leur divulgation ; vous ne pourrez donc pas installer aujourd’hui les charges utiles exactes d’Axios ou de LiteLLM issues de votre ensemble de test. Demandez à chaque fournisseur s’il peut vous fournir un artefact permettant de reproduire le scénario en toute sécurité – ou créez votre propre « canary » : un paquet inoffensif accompagné d’un script post-installation qui envoie une alerte à un serveur que vous contrôlez. Dans un environnement sandbox, installez-le et enregistrez le temps nécessaire au blocage et le temps nécessaire à l’alerte. Ces deux chiffres permettent de distinguer les quatre approches ci-dessus plus rapidement que n’importe quelle matrice de fonctionnalités fournie par un fournisseur.

À partir de là, la décision se présente généralement de manière assez claire.

  • Aucun blocage, et le délai d'alerte est inférieur à une minute ? Il s'agit d'un outil de détection. Conservez-le, mais ne le confondez pas avec votre outil de contrôle des délais d'installation.
  • Le paquet est bloqué avant même d'avoir pu être récupéré ou exécuté, mais il n'y a pas d'alerte exploitable ? Il s'agit d'un contrôle préventif, et vous devrez mettre en place des mesures d'observabilité pour la gestion des incidents.
  • Ces deux chiffres semblent satisfaisants ? Vérifiez si le blocage dépend d'un flux d'alertes. Si c'est le cas, l'efficacité de votre fenêtre de protection dépendra de la latence de ce flux.
  • Le fournisseur refuse le test en bac à sable ? Ce refus est en soi la réponse.

Une remarque pratique concernant le champ d’application. Pour les équipes gérant quatre écosystèmes de paquets ou plus, les lacunes de couverture peuvent être tout aussi importantes que la profondeur au sein d’un écosystème donné, et PolinRider est la campagne qui en apporte la preuve directe. D’après l’analyse de Socket datée du 1er juillet 2026, des acteurs nord-coréens liés au cluster « Contagious Interview » avaient publié 162 artefacts malveillants répartis dans 108 paquets et extensions de navigateur sur npm, Go Modules, Packagist et le Chrome Web Store, avec des traces de compromission dans 80 modules Go. La campagne reste active, et ces chiffres ont augmenté depuis. Parmi les paquets compromis figuraient des paquets PHP publiés sous l’espace de noms « sevenspan » sur Packagist. Une équipe s’appuyant sur des contrôles au niveau des paquets couvrant npm mais pas Go n’aurait disposé d’aucune protection équivalente pour ces 80 modules Go.

Questions à poser à chaque fournisseur figurant sur la liste restreinte

Six questions, classées plus ou moins par ordre d'importance quant à ce qu'elles révèlent.

  1. Que se passe-t-il exactement lors d'une commande « npm install » ou « pip install », plus précisément avant le lancement de toute analyse ?
  2. Effectuez-vous un contrôle des colis avant leur traitement, ou les analysez-vous après ?
  3. Quels écosystèmes prenez-vous en charge en natif, et lesquels figurent encore dans votre feuille de route ?
  4. Compilez-vous les paquets à partir du code source, ou analysez-vous l'artefact publié en amont ?
  5. Quel est le délai médian entre l'apparition d'un paquet malveillant en amont et le moment où votre produit le bloque effectivement ?
  6. Lorsqu'un responsable en amont abandonne un paquet dont nous dépendons, comment réagit votre produit ?

La quatrième question revêt une importance bien plus grande que ne le laisse supposer sa place dans la liste. L'analyse d'un artefact publié permet de détecter la présence de code malveillant en son sein, mais elle ne permet pas de vérifier que cet artefact correspond bien à la source à partir de laquelle il prétend avoir été construit, car l'analyseur n'a accès qu'à l'artefact lui-même. C'est la reconstruction à partir d'une source vérifiée et dont la provenance est fiable qui comble cette lacune spécifique, et il s'agit là d'un véritable engagement technique, et non d'une simple case à cocher.

La sixième question est celle que personne ne pose lors d'une évaluation, mais que tout le monde se pose dix-huit mois plus tard. Continuer à corriger des paquets dont le développeur en amont s'est désintéressé relève d'une discipline distincte de la sélection des nouvelles installations, et très peu de produits traitent ces deux aspects comme un seul et même problème.

Dans un projet classique, la plupart des dépendances sont transitives plutôt que directes, introduites indirectement par les paquets que vous avez effectivement choisis. Cela représente la majeure partie du graphe de dépendances, ce qui signifie que votre évaluation doit tester le fonctionnement de chaque outil à plusieurs niveaux de profondeur, et pas seulement au sommet de votre manifeste.

Vos résultats dépendront fortement de la structure de votre stack. Une entreprise mono-langage dotée d’une infrastructure CI rigoureusement contrôlée est une situation radicalement différente de celle d’une organisation polyglotte gérant quarante dépôts sans équipe centrale chargée de la plateforme ; tout fournisseur qui formulerait la même recommandation dans les deux cas ne vous a pas posé suffisamment de questions.

Ce que cela signifie pour vous

Il ne s'agit pas ici de désigner un gagnant parmi Snyk, Socket et les solutions de type « registry-firewall ». Il s'agit plutôt de savoir quelle approche vous adoptez et d'être honnête avec vous-même quant à celle qui vous fait défaut.

De nombreuses organisations disposent déjà d'une certaine couverture des fonctions matures. L'analyse de composition, les outils SBOM et la provenance sont désormais bien maîtrisées, et ce dont vous disposez déjà dans ce domaine n’est pas perdu. Le contrôle qu’il convient de vérifier explicitement est le filtrage au moment de l’installation, c’est-à-dire la capacité d’un élément de votre pile à bloquer un paquet à risque avant l’exécution de son code. C’est cette faille que les campagnes de 2026 ont exploitée sans difficulté, et aucun tableau de bord, aussi riche en résultats soit-il, ne pourra la combler, quelle que soit la qualité de ces résultats.

Lancez le test de deux semaines. S’il met en évidence une véritable faille au moment de l’installation, c’est ce point de contrôle qu’il faudra financer ensuite. SecureChain pour les logiciels libres analyse les paquets avant leur résolution dans JavaScript, Python, Java, Go, Rust et PHP, et assure la maintenance de la sécurité une fois que le support en amont a pris fin. La première partie de ce processus correspond à la couverture au moment de l’installation, que la plupart des listes de présélection négligent.

En savoir plus sur SecureChain → 

FAQ

Qu'est-ce qu'un outil de sécurité de la chaîne logistique logicielle ?

Produits permettant de réduire les risques liés au code tiers tout au long des phases de développement, de compilation, de distribution et de production. Cette catégorie englobe l'analyse de la composition logicielle, la gestion des SBOM, la vérification de la provenance, le filtrage au moment de l'installation et la maintenance des paquets après la fin de vie (EOL) – cinq missions distinctes qui sont généralement commercialisées sous une seule et même appellation.

La SCA correspond-elle à la sécurité de la chaîne d'approvisionnement logicielle ?

Non (et c'est là que la plupart des comparaisons d'outils SCA font fausse route). L'analyse de la composition logicielle n'est qu'une fonctionnalité parmi d'autres dans cette catégorie. Elle signale les composants connus pour être vulnérables dans le graphe de dépendances résolu, mais cela ne constitue pas en soi un contrôle au moment de l'installation permettant de détecter un paquet récemment devenu malveillant.

Faut-il choisir Snyk ou Socket ?

Dans le cadre de cette comparaison, Snyk Open Source incarne l'approche d'analyse de composition axée sur les recommandations, tandis que Socket combine l'analyse comportementale des paquets au moment de la pull request avec un blocage au moment de l'installation via Socket Firewall. Les équipes qui évaluent l'une ou l'autre de ces solutions doivent vérifier précisément quelle couche (révision des pull requests, moment de l'installation, ou les deux) s'applique à leur pile avant de supposer une couverture.

Que doit contenir une liste de contrôle pour l'évaluation de la sécurité de la chaîne logistique des logiciels ?

La couverture de l'écosystème, le calendrier des points de contrôle, la question de savoir si les paquets sont recompilés à partir du code source ou simplement analysés en tant qu'artefacts publiés, la latence des flux, la profondeur des dépendances transitives, et ce qui se passe lorsqu'un responsable en amont cesse de s'occuper d'un paquet.

Le classement d'un fournisseur dans une catégorie nous aide-t-il à choisir l'outil à acheter ?

Cela vous indique si un analyste ou un site d'évaluation a constaté suffisamment de similitudes superficielles pour comparer les fournisseurs selon une grille d'évaluation commune. Cela ne vous indique pas quels éléments manquent à votre propre architecture, alors que c'est justement la question à laquelle vous cherchez à répondre.

Résumé
Les outils de sécurité de la chaîne logistique logicielle et les lacunes qu'ils laissent subsister
Nom de l'article
Les outils de sécurité de la chaîne logistique logicielle et les lacunes qu'ils laissent subsister
Description
La plupart des outils de sécurité de la chaîne logistique logicielle détectent les attaques après l'installation. Comparez les quatre approches et testez les solutions présélectionnées dans un délai de deux semaines.
Auteur
Nom de l'éditeur
de TuxCare
Logo de l'éditeur

Rejoignez plus de 4 500 professionnels de Linux et de l'Open Source!

2 fois par mois. Pas de spam.

Table des matières
Obtenez les réponses à vos questions sur la sécurité des logiciels libres

Rejoignez plus de 4 500 professionnels de Linux et de l'Open Source!

2 fois par mois. Pas de spam.