Génération de SBOM
via pyCycloneFlow
FlowScope appelle pyCycloneFlow (CLI Python) depuis Go, scanne les dépendances d'une infrastructure et produit un fichier SBOM conforme CycloneDX v1.7.
Démo Comment ça marcheÉcosystèmes supportés
Python
pip list / requirements.txt
PHP
composer.lock
Go
go.mod
Docker
Dockerfile
Woodpecker CI
.woodpecker.yml
Alpine Linux
apk info -v
Debian/Ubuntu
dpkg -l
Node.js
package-lock.json
Exemple de sortie SBOM
CycloneDX v1.7 — format JSON
{
"bomFormat": "CycloneDX",
"specVersion": "1.7",
"version": 1,
"metadata": {
"timestamp": "2026-05-06T10:00:00Z",
"tools": [{ "name": "pyCycloneFlow", "version": "0.4.0" }]
},
"components": [
{
"type": "library",
"name": "requests",
"version": "2.28.1",
"purl": "pkg:pypi/requests@2.28.1"
},
{
"type": "library",
"name": "gin-gonic/gin",
"version": "v1.9.0",
"purl": "pkg:golang/github.com/gin-gonic/gin@v1.9.0"
}
]
}
Comment ça marche
Scan Go
FlowScope reçoit un chemin via
POST /scan, parcourt les fichiers avecfilepath.Walket identifie les manifestes.pyCycloneFlow
Go appelle le CLI Python via
exec.Command. pyCycloneFlow parse les manifestes et écrit le SBOM surstdout.SBOM CycloneDX
Le JSON récupéré est affiché et peut être téléchargé. Conforme au standard CycloneDX v1.7 avec PURLs par écosystème.