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.

UploadBom

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).