Syft¶
🤖 Rédaction assistée par IA.
Syft est un outil open source (Anchore) permettant de générer un SBOM (Software Bill of Materials), c'est-à-dire l'inventaire des composants (paquets système, bibliothèques Python, npm, Java, Go,...) présents dans une image de conteneur, un dossier ou une archive.
Le SBOM peut ensuite être :
- Analysé par un scanner de vulnérabilités tel Grype (sans avoir à rescanner l'image).
- Signé et attaché à l'image sous forme d'attestation avec Cosign.
- Archivé avec le livrable pour pouvoir répondre rapidement à la question "suis-je concerné par la CVE X?".
Installation¶
- anchore/syft - releases
- syft/install.sh procède au téléchargement et à l'installation du .deb :
curl -sS https://mborne.github.io/outils/syft/install.sh | bash
Utilisation¶
Pour afficher l'aide :
syft --help
Pour lister les composants d'une image :
syft python:3.12-slim
Pour analyser un dossier (ex : le dépôt d'une application) :
syft dir:.
Pour générer un SBOM aux formats standards CycloneDX ou SPDX :
# CycloneDX (JSON)
syft python:3.12-slim -o cyclonedx-json=sbom.cdx.json
# SPDX (JSON)
syft python:3.12-slim -o spdx-json=sbom.spdx.json