fix: sbom-generate - scanner le repertoire source au lieu de l'image Docker
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

Les vars CI (CI_REPO_OWNER etc.) ne sont pas injectees dans les steps
avec volumes: sans environment: (bug Woodpecker next). Supprimer le
docker socket et scanner dir:. evite le probleme et donne un SBOM
complet des dependances npm declarees.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
syoul
2026-03-19 19:20:47 +01:00
parent 7862bb11b7
commit 53ceb29bbe

View File

@@ -79,21 +79,15 @@ steps:
docker exec sonic-acme-1 cp /etc/acme.sh/$DOMAIN/$DOMAIN.key /host/certs/$DOMAIN-key.pem
echo "Cert TLS: /host/certs/$DOMAIN-cert.pem OK (acme exit $ACME_EXIT)"
# Etape 3a : Generation SBOM (Syft) — inventaire de l'image Docker buildee
# NOTE: volumes: et from_secret incompatibles dans le meme step — pas de secrets ici
# Etape 3a : Generation SBOM (Syft) — inventaire des dependances npm du workspace
# Scan du repertoire source (pas de docker socket = pas de bug volumes/CI-vars)
- name: sbom-generate
image: alpine:3.20
volumes:
- /var/run/docker.sock:/var/run/docker.sock
commands:
- apk add --no-cache curl
- curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin latest
- mkdir -p .reports
- |
PROJECT=$(printf '%s-%s-%s' "$CI_REPO_OWNER" "$CI_REPO_NAME" "$CI_COMMIT_BRANCH" | tr 'A-Z/' 'a-z-')
IMAGE="${PROJECT}-radar-business"
echo "SBOM sur image: $IMAGE"
syft "$IMAGE" -o cyclonedx-json --file .reports/sbom-radar.cyclonedx.json
- syft dir:. --exclude './node_modules' --exclude './radar-app/node_modules' --exclude './.next' --exclude './build' -o cyclonedx-json --file .reports/sbom-radar.cyclonedx.json
- echo "SBOM genere $(wc -c < .reports/sbom-radar.cyclonedx.json) octets"
# Etape 3b : Scan CVE (Trivy) depuis le SBOM Syft