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 !
Zoom sur l'outil JTest
La première beta d’Xcode 10 vient de sortir !! Nous sommes en ce moment même en train de nous plonger dans cette dernière version de l’outil et de découvrir réellement les dernières nouveautés présentées lors de la WDDC.
Tuto AXOPEN - On vous explique pas à pas le déploiement de websockets sur un cluster de Node.js