Syft
devsecopsDéfinition
Syft est un outil open source développé par Anchore pour la génération de Software Bills of Materials (SBOM) à partir d'images de containers, de répertoires de code source, d'archives, et de fichiers de lock de dépendances. Syft est l'un des outils de génération de SBOM les plus populaires dans l'écosystème cloud-native, supportant nativement les formats SPDX et CycloneDX, et s'intégrant avec Grype (scanner de vulnérabilités) et Cosign (signature d'artefacts). Syft analyse les composants d'un artefact logiciel en inspectant plusieurs sources : les manifestes de packages des gestionnaires de paquets (package.json, requirements.txt, go.sum, pom.xml, Gemfile.lock, Cargo.lock, etc.), les packages système installés dans les images Docker (dpkg pour Debian/Ubuntu, RPM pour Red Hat/CentOS, apk pour Alpine), et les binaires directement (en analysant les métadonnées Go dans les binaires compilés, via Go's build info). Cette multi-source analysis garantit une couverture exhaustive des composants, y compris les dépendances transitives qui n'apparaissent pas dans les manifestes de premier niveau. L'intégration de Syft dans un pipeline CI est simple : une étape post-build exécute syft <image>:<tag> -o spdx-json -f sbom.spdx.json ou syft <image>:<tag> -o cyclonedx-json -f sbom.cdx.json. Le SBOM généré est ensuite archivé comme artefact de build et optionnellement signé avec Cosign et attaché à l'image OCI pour une distribution transparente aux consommateurs. Syft s'intègre nativement avec Grype (Anchore's vulnerability scanner) pour un workflow SBOM complet : syft génère le SBOM, grype consomme ce SBOM pour l'analyse de vulnérabilités (grype sbom:sbom.spdx.json), ce qui est plus rapide qu'une nouvelle analyse de l'image entière à chaque scan de vulnérabilités.
Commandes Syft essentielles
Commandes courantes : syft scan alpine:latest (analyse d'une image Docker depuis le registre), syft scan /path/to/project (analyse d'un répertoire source), syft scan myapp.tar.gz (analyse d'une archive), syft scan myapp:latest -o spdx-json > sbom.spdx.json (génération SBOM SPDX JSON), syft scan myapp:latest -o cyclonedx-json > sbom.cdx.json (génération SBOM CycloneDX JSON). La commande syft scan --scope all-layers analyse toutes les couches de l'image (y compris les packages installés dans des couches intermédiaires supprimées dans la couche finale).
Intégration Syft + Grype + Cosign
Le workflow SBOM-driven complet : 1) syft myapp:v1.0 -o cyclonedx-json > sbom.cdx.json (génération SBOM). 2) cosign attach sbom --sbom sbom.cdx.json myapp:v1.0 (attachement à l'image OCI). 3) grype sbom:sbom.cdx.json -o json > vulns.json (scan de vulnérabilités sur le SBOM). 4) grype sbom:sbom.cdx.json --fail-on high (bloquer le pipeline si des vulnérabilités High existent). Ce workflow génère une attestation de composition réutilisable, évitant de rescanner l'image complète à chaque analyse.
Syft dans les GitHub Actions
Le GitHub Action officiel Anchore/sbom-action génère automatiquement un SBOM avec Syft après chaque build : uses: anchore/sbom-action@v0.17 avec inputs image: ghcr.io/owner/repo:latest, format: spdx-json. L'action upload automatiquement le SBOM comme artefact GitHub Actions et peut soumettre le SBOM à GitHub Dependency Graph via dependency-submission-action. Cette intégration native GitHub facilite le suivi des dépendances et l'alerte Dependabot basée sur le SBOM réel plutôt que sur les manifestes parsés.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés. 2.1.7
Un projet cybersécurité ?
Expert dispo · Réponse 24h