SCA scanning : qu'est-ce que le Software Composition Analysis ?

Équipe d'experts Wiz
Points clés à retenir
  • L'analyse SCA (Software Composition Analysis) est le processus automatisé permettant d'identifier et d'analyser les composants open-source ainsi que les dépendances tierces au sein des applications.

  • Elle détecte les vulnérabilités connues, les problèmes de conformité de licence et les paquets obsolètes tout au long de la chaîne d'approvisionnement logicielle.

  • La SCA moderne va au-delà de la simple détection : elle fournit du contexte sur l'exploitabilité et l'accessibilité (reachability), tout en intégrant des signaux au moment de l'exécution pour indiquer quelles vulnérabilités se trouvent dans des chemins de code activement exécutés.

  • Une SCA efficace nécessite une intégration sur l'ensemble du cycle de vie du développement — de l'IDE au CI/CD jusqu'à la production.

Vue d'ensemble

Le SCA scanning analyse automatiquement le code des applications pour identifier tous les composants open source et tiers. Vous savez ainsi quel code externe s'exécute dans vos logiciels et vous en gérez les risques. Ces outils construisent un SBOM (software bill of materials) qui recense chaque dependency, version et licence. Ils s'appuient sur des formats standardisés comme SPDX ou CycloneDX, qui permettent une surveillance continue face aux nouveaux CVE.

Les scanners analysent soit les fichiers manifestes (comme package.json), soit les artefacts compilés par analyse binaire. Point important : le SCA identifie les dependencies directes et transitives, et il évalue la conformité des licences.

Pourquoi c'est important

Les applications modernes contiennent souvent plus de code open source que de code propriétaire. Selon le rapport 2024 de Sonatype, certaines bases de code approchent les 90 % de composition open source. Les attaques sur la software supply chain, comme Log4j, exploitent des bibliothèques très répandues. Le « dependency drift » laisse aussi des composants obsolètes. Synopsys a constaté que 91 % des bases de code utilisaient des composants en retard de plus de 10 versions. Enfin, des cadres réglementaires comme l'Executive Order 14028 imposent de plus en plus les SBOM.

Comment ça fonctionne

Le processus commence par la découverte des composants dans les dépôts, les conteneurs et les artefacts. Les versions des composants sont ensuite comparées aux bases de données de vulnérabilités. Les outils modernes corrèlent les résultats avec la criticité CVSS, les données d'exploitation (CISA KEV, EPSS) et les signaux runtime. Voici leurs principales fonctionnalités :

  • conseils de remédiation : recommandations de mise à niveau ou packages alternatifs ;

  • surveillance continue : alertes immédiates dès qu'une nouvelle vulnérabilité apparaît ;

  • analyse sur tout le cycle de vie : couverture des postes de travail, des pipelines, des registres et du runtime.

Le SCA face aux autres méthodes

Le SCA ne remplace pas les autres tests de sécurité applicative, il les complète. Voici comment il se distingue :

  • le SAST analyse votre code propriétaire à la recherche de failles de codage, tandis que le SCA cible les composants tiers importés ;

  • le DAST teste les applications en cours d'exécution depuis l'extérieur ;

  • la génération de SBOM documente les composants, alors que le SCA analyse cet inventaire à la recherche de vulnérabilités.

Ainsi, une sécurité complète associe le SCA au SAST, au DAST et à l'IaC scanning.

Fonctionnalités essentielles

Les outils efficaces prennent en charge les principaux langages et gestionnaires de packages. Ils ingèrent les lockfiles, les SBOM, les couches de conteneurs et les empreintes binaires. Recherchez notamment ces capacités :

  • priorisation : basée sur les scores CVSS, CISA KEV, EPSS, la reachability au runtime, l'exposition réseau, la sensibilité des données et la criticité des actifs ;

  • intégrations pour développeurs : plugins d'IDE et contrôles sur les pull requests ;

  • intégrations agentless : avec les VCS, les pipelines CI/CD et les registres ;

  • remédiation automatisée : pour des mises à niveau sûres ;

  • conformité des licences : Synopsys a signalé que plus de 53 % des bases de code présentaient des conflits de licence.

Guide pratique pour responsables sécurité

Découvrez des conseils concrets pour renforcer votre posture CloudSec et prioriser les actions qui réduisent les risques.

Difficultés de mise en œuvre et bonnes pratiques

Les difficultés courantes incluent l'« alert fatigue », les faux positifs et des données de vulnérabilité incohérentes selon les sources. Appliquez ces bonnes pratiques :

  • définissez des politiques et des SLA de traitement des vulnérabilités ;

  • automatisez les workflows et intégrez-les de façon fluide ;

  • mettez à jour vos dependencies régulièrement.

Pour préserver l'hygiène de vos dependencies : figez les versions dans les lockfiles, automatisez les mises à jour (Renovate, Dependabot), maintenez des allowlists, utilisez des images de base minimales et réalisez des audits trimestriels.

Environnements cloud native et conteneurs

Les conteneurs embarquent leurs dependencies, ce qui rend le SCA essentiel pour la sécurité de la software supply chain. Les workloads Kubernetes sont éphémères. Une surveillance continue s'impose donc au-delà du build. Un SCA efficace analyse les images finales, y compris les couches de base, et retrace leur origine jusqu'aux étapes de build concernées.

Un SCA cloud native doit couvrir à la fois les dependencies applicatives et les packages de l'OS et des images de base. La traçabilité code-to-cloud relie les résultats du code source jusqu'au workload en cours d'exécution, ce qui clarifie la responsabilité.

Wiz Code

Wiz Code fournit un SCA natif sur vos dépôts, images et workloads. Il enrichit les résultats avec le contexte du graphe et les signaux runtime. Voici ses fonctionnalités :

  • reachability au runtime : le Wiz Sensor valide quelles bibliothèques s'exécutent réellement ;

  • traçabilité code-to-cloud : du code source jusqu'au workload déployé ;

  • analyse des chemins d'attaque : mise en évidence des risques réellement exploitables ;

  • WizOS : des images de base durcies, quasi exemptes de CVE ;

  • unified policy engine : couvrant les IDE, les pull requests, les pipelines CI/CD, les registres et le runtime.

Pour voir comment Wiz Code relie vos findings SCA au contexte du cloud en conditions réelles, Voir Wiz en action.

Découvrez Wiz en action

Voyez comment Wiz aide vos équipes à identifier, hiérarchiser et corriger les risques cloud plus rapidement.

Pour plus d’informations sur la façon dont Wiz traite vos données personnelles, veuillez consulter notre Politique de confidentialité.