Skip to content
SEO Optimizer is live, Audit on page SEO and AI-search readiness. Try it free
Scanverra
CLI

Guias

CLI da Scanverra

Escaneie qualquer código a partir do seu terminal ou pipeline de CI com o @scanverra/cli. A varredura roda na sua própria máquina e apenas os resultados são enviados à Scanverra.

Requer Node.js 18 ou mais recente, e um plano Pro, Team ou Enterprise.

Início rápido

Não instale nada globalmente, ou execute npm i -g @scanverra/cli para ter o comando scanverra de forma permanente.

npx @scanverra/cli login        # paste an API key from Dashboard > API keys
npx @scanverra/cli scan .

Como funciona

Sempre atualizado

Você sempre executa as verificações mais recentes, sem uma versão separada da CLI para acompanhar ou atualizar manualmente.

O mesmo mecanismo do painel

Os resultados coincidem com os de uma varredura iniciada na Scanverra, não importa onde você a execute.

Escaneia localmente

Seus arquivos-fonte são lidos na sua própria máquina. Por padrão, apenas os resultados são enviados à Scanverra, nunca o conteúdo dos arquivos ou as linhas de código encontradas.

Aparece no seu painel

Cada varredura recebe um resumo escrito por IA e um link, a mesma página de resultados de uma varredura iniciada pelo painel.

Comandos

ComandoDescrição
scanverra loginVerifica e salva sua chave de API
scanverra logoutRemove a chave salva
scanverra whoamiMostra a conta e o plano associados à chave
scanverra scan [path]Escaneia uma pasta (padrão: pasta atual), mostra os resultados e os envia

Opções comuns

OpçãoDescrição
--json / --sarifSaída legível por máquina. O SARIF funciona com o GitHub code scanning e a importação no Sonar
--fail-on <severity>Encerra com falha se existir um achado dessa severidade ou maior (padrão: high)
--category <list>Inclui apenas achados de security, dependency, iac ou quality
--exclude <glob>Ignora caminhos correspondentes. Um arquivo .scanverraignore funciona da mesma forma
--no-uploadApenas escaneia, não envia resultados à Scanverra
--include-codeTambém envia a linha de código encontrada de cada achado (desativado por padrão)
--offlineUsa as regras em cache sem nenhuma chamada de rede
--api-key, --api-urlSubstitui as credenciais ou o servidor, útil em CI

O que é enviado

Enviado

Caminhos de arquivo, números de linha, IDs de regra, títulos, descrições, sugestões de correção, severidades, nomes e versões de dependências, e o nome do projeto, branch, commit e número da PR.

Não enviado por padrão

O conteúdo dos arquivos, e a linha de código encontrada de cada achado. Achados de segredos nunca carregam o valor do segredo em si. Use --include-code se quiser ver as linhas encontradas no painel.

Como os arquivos são escolhidos

  • Dentro de um repositório git, arquivos rastreados e não rastreados são usados, e o .gitignore é respeitado. Fora do git, pastas comuns de build e dependências são ignoradas.
  • Um arquivo .scanverraignore (um padrão glob por linha) e flags --exclude repetíveis adicionam mais exclusões.
  • Suprima um achado específico com um comentário scanverra-ignore ou nosec na linha acima dele.

Códigos de saída

0Sucesso, e nenhum achado atingiu o limite de --fail-on
1Um achado atingiu o limite, ou o quality gate falhou com --fail-on-gate
2Erro de uso, ou o servidor rejeitou a chave ou o plano

Uso em CI

Guarde a chave de API como um secret, do mesmo jeito que em qualquer outra integração de CI da Scanverra, e mantenha a pasta de regras em cache para que um runner novo não a baixe de novo a cada execução.

- uses: actions/checkout@v4
- uses: actions/setup-node@v4
  with: { node-version: 20 }
- run: npx @scanverra/cli scan . --fail-on high
  env:
    SCANVERRA_API_KEY: ${{ secrets.SCANVERRA_API_KEY }}

Colocar as regras em cache entre execuções

- uses: actions/cache@v4
  with:
    path: ~/.cache/scanverra
    key: scanverra-rules-${{ github.run_id }}
    restore-keys: scanverra-rules-

Solução de problemas

MensagemO que fazer
Not logged inExecute scanverra login, ou defina SCANVERRA_API_KEY
API key was rejectedA chave está errada ou foi revogada. Crie uma nova em API Keys
Requires a Pro, Team or Enterprise planFaça upgrade do seu plano e tente novamente
Daily limit for downloading the scanner rules reachedColoque a pasta de regras em cache no CI, veja acima
No scannable files foundVerifique o caminho e seu .gitignore ou .scanverraignore

Pronto para escanear pelo terminal?

Gere uma chave de API e execute sua primeira varredura em menos de um minuto.