Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Syft

devsecops

Dé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

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis