Pipelines GitLab¶
Activation de Boost advisor¶
Le Boost advisor vous permet de traiter votre arriéré de résultats plus facilement et plus rapidement. Grâce à lui, l'équipe AppSec peut lancer une remédiation depuis la vue des résultats de Boost.
Ce qui suit décrit comment le configurer sur GitLab.
- Accédez au dépôt
boost. -
Modifiez le fichier
.gitlab-ci.ymlpour y inclure ce qui suit :include: - remote: "https://raw.githubusercontent.com/boostsecurityio/boostsec-scanner-gitlab/main/scanner.yml" boost-scanner: rules: - if: ($CI_PIPELINE_SOURCE == "trigger" && $BOOST_JOB_NAME != "boost-advisor") stage: build extends: - .boost_scan variables: BOOST_TRIGGER_ID: $BOOST_TRIGGER_ID script: - ${BOOST_EXE} scan trigger ${BOOST_CLI_ARGUMENTS:-} boost-advisor: rules: - if: ($CI_PIPELINE_SOURCE == "trigger" && $BOOST_JOB_NAME == "boost-advisor") stage: build image: ubuntu:latest variables: BOOST_API_KEY: $BOOST_API_TOKEN before_script: - apt-get update -qq && apt-get install -y -qq --no-install-recommends curl ca-certificates script: - curl -sSL https://assets.build.boostsecurity.io/boost-advisor/get-boost-advisor | sh - echo "$BOOST_ADVISOR_PAYLOAD_B64" | base64 -d | /tmp/boost-advisor/latest - -
Créez un jeton d'accès personnel sur le compte bot sous lequel l'advisor s'exécutera.
-
Connectez-vous à GitLab en tant qu'utilisateur bot (doit disposer au minimum d'un accès Développeur au projet cible).
-
Accédez à Paramètres utilisateur → Jetons d'accès.
-
Définissez :
- Nom du jeton : boost-advisor
- Date d'expiration : selon la politique du client
- Portées :
- api — accès en lecture et écriture à l'API, incluant tous les groupes et projets, le registre de conteneurs et le registre de paquets.
- write_repository — Accorde un accès en lecture-écriture aux dépôts des projets privés via Git-over-HTTP (sans passer par l'API).
-
Cliquez sur Créer un jeton d'accès personnel et copiez la valeur.
-
-
Ajoutez les secrets au dépôt
.boostAccédez à Settings → Secrets and variables → Actions → New repository secret et créez :
Nom du secret Valeur BOOST_SCM_TOKENJeton d'accès à l'espace de travail ou au dépôt BOOST_LLM_MODELIdentifiant du modèle LLM BOOST_LLM_KEYClé API du fournisseur LLM Note
BOOST_API_TOKENest fourni automatiquement par l'Orchestration Zero Touch et n'a pas besoin d'être ajouté manuellement.
Analyses de sécurité manuelles¶
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 Boost Security 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 Boost Security, 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 l'analyseur à 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 analyseurs pour analyse SAST ou inventaire Nomenclature logicielle à partir du code source.
Note
Même si le workflow est configuré pour exécuter l'analyseur Nomenclature logicielle sur les demandes de pull, l'analyseur Nomenclature logicielle ne collecte pas l'inventaire des composants sur les demandes de pull.
-
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 analyseurs qui analysent des artefacts générés lors du processus de build. Par exemple, pour des modules générant une Nomenclature logicielle à 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 analyseur Boost Security à 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