Pular para o conteúdoLockpick
Documentação

Rode o Lockpick no CI

Verifique o seu site com um Pulse quando publicar uma release, e faça o build falhar quando houver achados graves em aberto.

A CLI roda em qualquer CI que tenha Node.js 20.9 ou mais recente. Um Pulse no CI usa uma verificação Pulse da sua cota mensal a cada vez, igual a iniciá-lo no Lockpick, então rode-o quando publicar, e não em cada push.

Escreva o workflow

No seu repositório, com a CLI conectada:

Terminal
lockpick ci init <site>

Ele grava .github/workflows/lockpick.yml. O workflow roda quando você publica uma release e quando você o inicia pela aba Actions. Ele executa um Pulse no site, espera o resultado e falha quando os achados abertos são high ou de gravidade maior. Ele fixa a versão da CLI com que foi escrito.

  • --fail-on critical, high, medium ou low define a linha de corte.
  • --dry-run imprime o workflow sem gravá-lo.
  • --file <path> grava em outro lugar, e --force substitui um arquivo existente.

Se a CLI estiver conectada a um endereço local, ci init avisa você: os runners do GitHub só conseguem acessar um endereço público do Lockpick. Passe --host com esse endereço.

Adicione a chave

O workflow lê a chave do segredo do repositório LOCKPICK_KEY. Use uma chave com permissão para iniciar verificações Pulse.

Terminal
gh secret set LOCKPICK_KEY

Falhe com achados em qualquer lugar

O --fail-on funciona em qualquer comando que termina com uma verificação concluída: lockpick pulse, lockpick recheck, lockpick watch, lockpick deep start e lockpick findings. O lockpick ci check <run-id> aplica a regra a uma verificação que já terminou, sem iniciar outra nem usar a sua cota, e também pode falhar pela idade (--max-age-hours) ou pela cobertura (--min-coverage). Quando os achados abertos atingem a linha, o comando termina com o código 8, então qualquer CI pode interromper o build:

Terminal
lockpick pulse <site> --fail-on high --timeout 900

No CI, a CLI imprime uma linha sempre que o estado de uma verificação muda, em vez de uma linha de progresso ao vivo, e --json imprime apenas o resultado. Defina FORCE_COLOR=1 para ter cor em um log que a mostre.

Códigos de saída da CLI e do script de release

A CLI e o script de verificação de release independente usam contratos de saída diferentes. Confira qual deles o seu job executa.

ResultadoCLI lockpickScript de verificação de release independente
Concluído dentro do limite de achados00
Os achados abertos atingiram o limite81
A verificação falhou ou ocorreu outro erroVeja códigos de saída da CLI1

O script de verificação de release usa uma chave de CI limitada a um site (LOCKPICK_CI_KEY); a CLI usa LOCKPICK_KEY e as permissões que você aprovou.

Isto foi útil?

Nesta página