Integração com Bitbucket Pipelines

O Security Gate roda 86 checks de segurança contra a URL do seu site e reprova o step se algo grave ficou exposto. Scan 100% passivo.

Pré-requisitos

1. Adicione a variável do repositório

Em Repository settings → Pipelines → Repository variables:

2. Adicione o step ao bitbucket-pipelines.yml

pipelines:
  branches:
    main:
      - step:
          name: Deploy
          script:
            - echo "deploy"
      - step:
          name: Klarim Security Gate
          image: python:3.12-slim
          script:
            - pip install httpx
            - |
              python -c "
              import httpx, sys, json
              r = httpx.post('https://klarim.net/api/gate/scan',
                  headers={'X-API-Key': '$KLARIM_KEY'},
                  json={'url': 'https://meusite.com.br', 'fail_on': 'critical'},
                  timeout=120)
              data = r.json()
              print(json.dumps(data, indent=2))
              sys.exit(0 if data['passed'] else 1)"

A referência à variável no Bitbucket é $KLARIM_KEY.

3. Configuração avançada

Nível de reprovação (fail_on)

Timeout

Sites lentos: timeout=180 (default 120s).

Metadata (rastreabilidade)

"metadata": {
    "commit": "$BITBUCKET_COMMIT",
    "branch": "$BITBUCKET_BRANCH",
    "ci": "bitbucket"
}

4. Exemplo de output

PASS

Score: 90/100 🟢
Critical: 0 | High: 1 | Medium: 0
✅ PASSED

FAIL

Score: 45/100 🔴
Critical: 2 | High: 3 | Medium: 1
❌ FAILED

FAQ

Rodar em pull requests? Use a seção pull-requests: no lugar de branches:.

Como vejo o histórico? Dashboard → Security Gate → Histórico de runs.