Pipelines GitLab¶
Des étapes d'analyse peuvent être ajoutées à votre pipeline GitLab. Une étape d'analyse peut être ajoutée par exemple avec :
include:
- remote: 'https://raw.githubusercontent.com/boostsecurityio/boostsec-scanner-gitlab/main/scanner.yml'
boost-semgrep:
stage: build
extends:
- .boost_scan
variables:
BOOST_SCANNER_REGISTRY_MODULE: "boostsecurityio/semgrep"
Dans cet exemple, l'instruction include charge le modèle BoostSecurity dans le pipeline rendant certains points d'extension disponibles via l'instruction extends. Par exemple, dans l'exemple ci‑dessus, l'extension .boost_scan est chargée, ce qui installera l'outil en ligne de commande BoostSecurity, démarrera docker-in-docker, appliquera des règles spécifiques, puis exécutera l'analyse.
La variable d'environnement BOOST_API_TOKEN est requise, doit être définie dans vos secrets et doit contenir le jeton API créé depuis le tableau de bord Page des paramètres.
La variable BOOST_SCANNER_REGISTRY_MODULE spécifie le scanner à exécuter depuis le registre de modules. Plusieurs scanners peuvent être configurés dans le pipeline selon les besoins.
Pipeline GitLab pour l'analyse du code source¶
Cette configuration convient aux modules de scanner pour analyse SAST ou inventaire SBOM à partir du code source.
Note
Même si le workflow est configuré pour exécuter le scanner SBOM sur les demandes de fusion, le scanner SBOM ne collecte pas l'inventaire des composants sur les demandes de fusion.
- Mettez à jour votre pipeline :
.gitlab-ci.yml:
include:
- remote: 'https://raw.githubusercontent.com/boostsecurityio/boostsec-scanner-gitlab/main/scanner.yml'
boost-sast-scan:
stage: build
extends:
- .boost_scan
variables:
BOOST_SCANNER_REGISTRY_MODULE: "boostsecurityio/semgrep"
boost-sbom-scan:
stage: build
extends:
- .boost_scan
rules:
# execute on pushes to the default branch
- if: ($CI_PIPELINE_SOURCE == "push") && ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH)
variables:
BOOST_SCANNER_REGISTRY_MODULE: "boostsecurityio/trivy-sbom"
Pipeline GitLab pour l'analyse des artefacts générés¶
Cette configuration convient aux modules de scanner qui analysent des artefacts générés lors du processus de build. Par exemple, pour des modules générant un SBOM à partir d'images conteneur ou recherchant des vulnérabilités ; l'image conteneur doit être générée au préalable.
- Ajoutez le bloc lié au module de scanner BoostSecurity à votre workflow de build.
Un exemple de configuration de workflow pour l'analyse d'images conteneur est fourni ci‑dessous.
include:
- remote: 'https://raw.githubusercontent.com/boostsecurityio/boostsec-scanner-gitlab/main/scanner.yml'
boost-sast-scan:
stage: build
extends:
- .boost_scan
script:
- docker build . -t ${BOOST_IMAGE_NAME}
- !reference [.boost_scan, script]
variables:
BOOST_SCANNER_REGISTRY_MODULE: "boostsecurityio/trivy-image"
BOOST_IMAGE_NAME: acme-analytics