Dependency-track est une plateforme permettant d'analyser des composants (applications, dépendances, librairies...). Elle liste les dépendances de chaque projet et indique, pour chacune d'entre elles, s'il faut faire une mise à jour ou s'il existe une vulnérabilité associée.
Dependency-track peut notamment être intégré dans une pipeline.
Dependency-Track est une plateforme comprenant une interface utilisateur et une API. Il est possible d'installer les deux mais on peut aussi choisir qu'une seule des deux options. De notre côté, on préconise d'utiliser les deux solutions : l'interface utilisateur qui est plus user-friendly et l'APIUne API est un programme permettant à deux applications distinctes de communiquer entre elles et d’échanger des données. qui nous permettra d'intégrer Dependency-track à nos pipelines.
Deux solutions sont possibles pour la mise en place de Dependency-track :
Télécharger la dernière version du fichier docker-compose curl -LO https://dependencytrack.org/docker-compose.yml
Lancer le fichier docker-compose docker-compose up -d
Un compte par défaut sera créé avec le username "admin" et le password "admin". À la première connexion, il vous sera demandé de modifier le mot de passe.
L'ajout d'un projet peut se faire manuellement depuis l'interface utilisateur, mais nous préférons automatiser ce processus en l'intégrant à une pipeline.
Dependency-track analyse des fichiers XML correspondant à la nomenclature de CycloneDX BOMs. Il vous faudra donc intégrer CycloneDX à votre pipeline pour pouvoir intégrer votre projet à Dependency-track. Une fois le fichier XML obtenu, celui-ci est transmis à l'API (grâce à une API Key propre à notre compte).
Sur l'interface utilisateur, le projet est ajouté à la liste puis actualisé à chaque pipeline. Un Risk Score lui est associé, qui est la somme des scores de chaque vulnérabilité présente dans ses dépendances. En fonction de la gravité d'une vulnérabilité, elle aura un score plus ou moins élevé. On peut manuellement retirer une vulnérabilité d'un composant pour un projet en particulier si nous savons que le contexte n'est pas concerné.
Par défaut, Dependency-track envoie des alertes par mail lorsqu'une nouvelle vulnérabilité est détectée. Des notifications peuvent être configurées, sur Teams notamment.
Par défaut, Dependency-track actualise les vulnérabilités en cours à partir du service CVE Details. Cependant, il est tout à fait possible d'ajouter ses propres sources.
Dependency-track met à disposition une nouvelle fonctionnalité depuis peu : l'exploit predictions. Pour chaque projet, un tableau à double entrée est généré, vous indiquant le poids d'une vulnérabilité en abcisse et l'EPSS (Exploit Prediction Scoring System) en ordonnée. L'EPSS correspond à un score d'estimation du risque que la vulnérabilité soit exploitée dans le projet en question.
Dependency-track présente des points forts non négligeables :
Oui, ses avantages sont indéniables.
Cependant, il est important de garder en tête que l'objectif n'est pas de monter de versions les composants d'une application dès que cela est possible et de passer du temps à résoudre les moindres vulnérabilités, au risque de perdre plus de temps que d'en gagner. Il est nécessaire de s'interroger sur la pertinence du traitement de chaque information.
Dependency-track est-il pertinent pour vos applications web ? Le mieux est d'en discuter avec nos experts ! Pour nous contacter, c'est par ici !
Dans cet article, nous allons voir comment configurer WORDPRESS sur NGINX avec un cache FASTCGI, le tout en SSL avec le protocole SPDY de google d’activé.
Retours d’expériences sur le tout nouveau serveur jBoss 7!
Cet article traite d’un problème de sélection de lignes dans un tableau en client léger.