Générer un rapport Dependency Track
L'outil Dependency Track permet d'obtenir un rapport de vulnérabilité du projet basé sur l'analyse d'un SBOM.
La documentation est disponible ici
Principe
Dependency Track s'utilise en 2 étapes :
- Génération d'un SBOM
- Upload du SBOM dans dependency track
Génération
Un SBOM est un fichier JSON respectant la norme indiquée ici
L'OWASP fournit des outils d'aide à la génération de SBOM sur son site Cyclone DX et notamment via la liste de plugin pour Cyclone DX.
Upload
Via api
Dependency Track est pensé pour être utilisé en priorité via ses APIs.
Les spécifications sont disponibles ici
Exemple d'appel curl type :
curl -X POST https://dependency-track.gpf-tech.ign.fr/api/v1/bom -H "Content-Type: multipart/form-data" -H "X-Api-Key: <votre cle api du projet>" -F "project=<l'uid du projet sur dependency track>" -F "bom=@<fichier sbom>"
Via l'interface
Une fois le BOM généré, il est possible de le téléverser directement depuis le tableau de bord dependency track.
Utilisation dans la géoplateforme
Un template est disponible pour vous aider à la mise en place d'une génération de rapport via votre CI.
Limitations
Compatibilité de langages
les langages actuellement reconnu par Dependency Track sont les suivants :
- Cargo (Rust)
- Composer (PHP)
- Gems (Ruby)
- Hex (Erlang/Elixir)
- Maven (Java)
- NPM (Javascript)
- Gradle (Java)
- NuGet (.NET)
- Pypi (Python)
Pour plus d'information sur la génération de BOM pour ces langages, se référer à la liste de plugin pour Cyclone DX.
Nombre de branches analysables
Le rapport n'est disponible que pour la branche principale (main
).