Aller au contenu

Bitbucket


Activation de Boost advisor


Boost advisor vous permet de traiter votre arriéré de résultats plus facilement et plus rapidement. Grâce à lui, l'équipe AppSec peut initier une remédiation depuis la vue des résultats Boost.

Ce qui suit décrit comment le configurer sur Bitbucket SCM.

  1. Allez au dépôt .boost.
  2. Modifiez le fichier bitbucket-pipleines.yaml pour inclure ce qui suit :

    definitions:
      services:
        docker:
          memory: 3072
    
      pipelines:
        custom:
          boost-scanner:
            - variables:
                - name: BOOST_JOB_NAME
                - name: BOOST_TRIGGER_ID
            - step:
                name: Run Boost Scanner
                clone:
                  depth: 1
                services:
                  - docker
                script:
                  - pipe: docker://public.ecr.aws/boostsecurityio/boost-scanner-bitbucket:v4
                    variables:
                      BOOST_API_TOKEN: "${BOOST_API_TOKEN}"
                      BOOST_TRIGGER_ID: "${BOOST_TRIGGER_ID}"
    
          boost-advisor:
            - variables:
                - name: BOOST_ADVISOR_PAYLOAD
            - step:
                name: Run Boost Advisor
                image: atlassian/default-image:5
                script:
                  - export BOOST_API_KEY="$BOOST_API_TOKEN"
                  - curl -sSL https://assets.build.boostsecurity.io/boost-advisor/get-boost-advisor | sh
                  - printf '%s' "$BOOST_ADVISOR_PAYLOAD" | /tmp/boost-advisor/latest -
    
  3. Créez le jeton d'accès Bitbucket

    1. Allez à l'organisation cible → Paramètres de l'organisation → Jetons d'accès.
    2. Cliquez sur Créer un jeton d'accès et appliquez les portées suivantes (repository:write, pullrequest:write).
  4. Ajoutez les secrets au dépôt .boost

    Ouvrez Paramètres du dépôt → Pipelines → Variables du dépôt et ajoutez les variables ci-dessous. Marquez-les comme Sécurisées.

    Nom de la variable Valeur
    BOOST_SCM_TOKEN Jeton d'accès de l'espace de travail ou du dépôt
    BOOST_LLM_MODEL Identifiant du modèle LLM
    BOOST_LLM_KEY Clé API du fournisseur LLM

    Note

    BOOST_API_TOKEN est 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 Bitbucket. Par exemple, une étape d'analyse peut être ajoutée :

        - step:
            name: Boost Security Semgrep
            script:
              - pipe: docker://public.ecr.aws/boostsecurityio/boost-scanner-bitbucket:v4
                variables:
                  BOOST_API_TOKEN: $BOOST_API_TOKEN
                  BOOST_SCANNER_REGISTRY_MODULE: "boostsecurityio/semgrep"
La variable d'environnement BOOST_API_TOKEN est le jeton d'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 analyseurs peuvent être configurés dans le pipeline selon les besoins.

Note

Les variables d'environnement requises, telles que $BOOST_API_TOKEN, doivent être ajoutées aux variables de l'espace de travail ou du dépôt. Par exemple, les variables de l'espace de travail seraient ajoutées à l'emplacement https://bitbucket.org/<workspace-slug>/workspace/settings/addon/admin/pipelines/account-variables, et les variables du dépôt seraient ajoutées à l'emplacement https://bitbucket.org/<workspace-slug>/<repository-slug>/admin/addon/admin/pipelines/repository-variables.

Les étapes de scanner peuvent être configurées pour la branche principale et le flux des Pull Request. L'exemple ci-dessous montre des étapes pour exécuter des analyseurs à la fois sur la branche principale et dans les Pull Request :

pipelines:
  branches:
    main:
      - parallel:
        - step:
            name: Boost Security Semgrep
            script:
              - pipe: docker://public.ecr.aws/boostsecurityio/boost-scanner-bitbucket:v4
                variables:
                  BOOST_API_TOKEN: $BOOST_API_TOKEN
                  BOOST_SCANNER_REGISTRY_MODULE: "boostsecurityio/semgrep"

        - step:
            name: SBOM
            script:
              - pipe: docker://public.ecr.aws/boostsecurityio/boost-scanner-bitbucket:v4
                variables:
                  BOOST_API_TOKEN: $BOOST_API_TOKEN
                  BOOST_SCANNER_REGISTRY_MODULE: "boostsecurityio/trivy-sbom"

  pull-requests:
    '**':
      - parallel:
        - step:
            name: Boost Security Semgrep
            script:
              - pipe: docker://public.ecr.aws/boostsecurityio/boost-scanner-bitbucket:v4
                variables:
                  BOOST_API_TOKEN: $BOOST_API_TOKEN
                  BOOST_SCANNER_REGISTRY_MODULE: "boostsecurityio/semgrep"