Aller au contenu

Analyse de la Composition Logicielle (SCA)


L'Analyse de la Composition Logicielle (SCA) est une pratique de sécurité qui automatise le processus d'identification des composants open-source et des dépendances tierces utilisés dans une base de code, puis les vérifie pour des vulnérabilités connues, des problèmes de licence et de versionnage. Les outils SCA analysent des artefacts comme les gestionnaires de paquets, les fichiers de manifeste ou les fichiers de verrouillage (ex. : package.json, pom.xml, requirements.txt) pour détecter les bibliothèques non sécurisées ou obsolètes et aider les équipes à réagir avant que les problèmes n'atteignent la production.


Pourquoi la SCA est-elle importante dans le DevSecOps moderne


La SCA joue un rôle crucial dans le DevSecOps en :

  • Déplaçant la sécurité vers la gauche — permettant de détecter les vulnérabilités tôt dans le cycle de vie du développement
  • Améliorant la visibilité sur les risques de dépendance à travers les dépôts et les équipes
  • Automatisant la conformité avec les licences open-source et les politiques de sécurité organisationnelles
  • Réduisant les surfaces d'attaque qui émergent des dépendances transitives ou imbriquées

En fin de compte, la SCA aide les organisations à maintenir une hygiène de sécurité tout en accélérant les vitesses de déploiement.


Comment BoostSecurity active le scan SCA


BoostSecurity intègre le scan SCA dans vos flux de développement pour inspecter automatiquement les dépôts de code source à la recherche de dépendances non sécurisées et de bibliothèques vulnérables.


Analyseurs pris en charge


BoostSecurity propose une suite étendue d'analyseurs SCA pour aider les équipes d'ingénierie et de sécurité à détecter les vulnérabilités dans les dépendances open-source. Ces analyseurs analysent les fichiers lock, les manifestes et le contenu du système de fichiers pour signaler les problèmes de sécurité connus en utilisant des bases de données de vulnérabilités sélectionnées.

Analyseur nom du module registry Flux de demande de tirage Description
BoostSecurity SCA boostsecurityio/boost-sca Analyseur SCA natif de BoostSecurity qui tire parti de plusieurs vérifications open-source et internes avec des règles de sécurité sélectionnées.
Gestionnaires de paquets pris en charge
Snyk boostsecurityio/snyk-test Le module Snyk analyse les dépendances de packages du projet pour détecter les vulnérabilités, en utilisant l'outil de ligne de commande Snyk (CLI) avec la commande test (snyk test) pour la SCA.
Gestionnaires de paquets pris en charge
Analyseur OSV boostsecurityio/osv-scanner Utilise la base de données des Vulnérabilités Open Source (OSV) pour détecter les vulnérabilités connues dans les dépendances du projet.
Gestionnaires de paquets pris en charge
Bundler Audit boostsecurityio/bundler-audit Le module bundler audit analyse les dépendances du projet Ruby pour détecter les vulnérabilités à l'aide du scanner bundler-audit.
NPM Audit boostsecurityio/npm-audit Le module npm audit analyse les dépendances du projet Node.js pour détecter les vulnérabilités, en utilisant le scanner npm audit.
Safety boostsecurityio/safety Le module Safety analyse les dépendances du projet Python pour détecter les vulnérabilités à l'aide du scanner safety.
Nancy boostsecurityio/nancy Le module Nancy analyse les dépendances du projet GoLang pour détecter les vulnérabilités à l'aide du scanner Nancy.
Trivy (Système de fichiers) boostsecurityio/trivy-fs Analyse le système de fichiers du projet pour détecter les dépendances open-source vulnérables.
Gestionnaires de paquets pris en charge
Dependabot boostsecurityio/dependabot Intègre GitHub Dependabot pour la surveillance des versions et les demandes de tirage automatiques pour les dépendances vulnérables.
Gestionnaires de paquets pris en charge

Chaque analyseur possède des capacités uniques, offrant aux organisations la flexibilité de choisir le bon outil pour leur écosystème. BoostSecurity prend en charge à la fois les analyseurs internes et tiers pour une couverture maximale.


Systèmes de Gestion de Code Source (SCMs) pris en charge


Les capacités de scan SCA de BoostSecurity sont conçues pour être indépendantes de la plateforme, prenant en charge les intégrations avec tous les principaux fournisseurs de SCM, notamment :

  • GitHub
  • GitLab
  • Bitbucket
  • Azure DevOps

La logique de scan et l'approche de configuration restent largement cohérentes à travers les SCM, garantissant une expérience unifiée, peu importe où votre code est hébergé. Des événements tels que des demandes de tirage, des fusions vers des branches par défaut (principal) ou des changements de fichiers de dépendance peuvent tous déclencher des scans, selon la configuration.


Comportement de Scan par Défaut


La plupart des analyseurs peuvent être déclenchés sur deux flux de travail clés :

  • Sur Principal : Déclenche un scan lorsque le code est fusionné ou poussé vers la branche par défaut.
  • Sur Demande de Tirage : Déclenche un scan pour les changements de code avant la fusion, aidant les réviseurs à évaluer le risque de dépendance.
Analyseur Sur Principal Sur Demande de Tirage
BoostSecurity SCA
Bundler-Audit
Nancy
NPM Audit
OSV Scanner
Safety
Snyk SCA
Trivy FS
Dependabot ☑️ (GitHub uniquement)

Comportement et Couverture des Scanners


Chaque analyseur dans BoostSecurity a une manière unique de détecter les vulnérabilités et d'interagir avec la structure de votre projet. La plateforme BoostSecurity :

  • Analyse les fichiers de dépendance (ex. : package-lock.json, poetry.lock, etc.) pour détecter les vulnérabilités
  • Normalise les résultats à travers différents écosystèmes et analyseurs en un format cohérent et unifié
  • S'intègre avec les flux de travail CI/CD pour exécuter des scans sur des demandes de tirage, des poussées de branches ou à intervalles planifiés
  • Prend en charge plusieurs analyseurs, y compris l'analyseur SCA de Boost, OSV et d'autres outils communautaires
  • Permet la configuration via .boost/config.yml pour personnaliser le comportement de scan par dépôt

Cette approche garantit une large visibilité sur le risque open-source tout en maintenant la flexibilité à travers diverses piles technologiques.

Dé-duplication Intelligente

BoostSecurity dé-duplicate intelligemment les résultats à travers plusieurs analyseurs. Si plusieurs outils signalent la même vulnérabilité (ex. : CVE-2023-1234 dans lodash@4.17.21), une seule entrée consolidée apparaît dans l'UI ou les rapports exportés.

Cela garantit une expérience développeur plus propre sans duplication bruyante ou évaluations de gravité conflictuelles.

L'architecture flexible de BoostSecurity vous permet de combiner des analyseurs pour une couverture plus large ou plus approfondie à travers des dépôts polyglottes et des microservices.


Provisionnement et Configuration


Updated Français translation

Le provisionnement des analyseurs SCA se fait au niveau de la Gestion de Code Source. Cela signifie que vous pouvez choisir différentes configurations de scanner pour chaque ressource en fonction de votre posture de sécurité.


Accessibilité SCA


SCA Reachability vous aide à prioriser les vulnérabilités open-source les plus critiques dans votre chaîne d'approvisionnement en logiciels en déterminant quelles dépendances sont réellement accessibles dans votre base de code. Au lieu de traiter toutes les vulnérabilités détectées de manière égale, l'analyse de l'accessibilité de BoostSecurity identifie quels composants vulnérables sont critiques dans l'exécution de votre application ou les chemins de code — permettant à votre équipe de se concentrer sur les problèmes qui importent le plus.

En concentrant la remédiation sur les vulnérabilités accessibles, vous pouvez réduire l'exposition au risque tout en optimisant la sécurité et les ressources d'ingénierie.


Comment ça fonctionne


BoostSecurity’s SCA (Analyse de Composition de Logiciels) OSV-scanner analyse vos dépendances dans vos projets Go et Rust, et effectue une analyse de l'accessibilité pour déterminer si des chemins de code vulnérables sont accessibles depuis votre code d'application.

Le processus implique :

  1. Cartographie des Dépendances – Le scanner identifie toutes les dépendances directes et transitives utilisées dans votre projet.
  2. Détection de Vulnérabilités – Chaque dépendance est confrontée aux vulnérabilités connues dans les avis publics et privés.
  3. Analyse de l'Accessibilité – Pour chaque composant vulnérable, BoostSecurity évalue si la fonction, la classe ou le module vulnérable est effectivement référencé ou invoqué dans votre code.
  4. Vérification – Les vulnérabilités accessibles sont signalées comme “Accessibles”, tandis que celles sans preuve d'invocation sont étiquetées “Inaccessibles”.

Cela fournit une vue actionable de vos résultats SCA, aidant les équipes à éviter la fatigue des alertes et à prioriser les risques exploitables.


Avantages


  • Concentrez-vous sur les vulnérabilités exploitables : Identifiez les problèmes SCA qui représentent une menace réelle pour votre système.
  • Réduisez le bruit : Minimisez le temps passé à trier les vulnérabilités non impactantes.
  • Priorisation basée sur les données : Allouez les efforts de remédiation aux vulnérabilités vérifiées comme accessibles.
  • Intégrez-vous aux pipelines CI/CD : Assurez-vous d'un reporting de vulnérabilité en temps réel, conscient de l'accessibilité, dans le cadre de vos contrôles de sécurité.