Saltar para o conteúdo principal
Os Scans de Código Sob Demanda estão atualmente em beta. A API está disponível para fluxos de trabalho iniciais de CLI, IDE, pre-commit e integrações personalizadas, mas o comportamento, os limites e os campos de resposta podem mudar antes da disponibilidade geral.

Visão Geral

Os Scans de Código Sob Demanda permitem enviar pequenas unidades de código para análise de segurança pela ZeroPath sem iniciar um scan completo do repositório. Use-os quando quiser feedback rápido a partir de uma CLI, integração com IDE, hook de pre-commit, job de CI ou ferramenta personalizada. Você pode enviar:
  • Um diff do Git
  • Um único arquivo
  • Vários arquivos
  • Um ou mais trechos de código
O scan é executado de forma assíncrona. Envie um job, consulte o status dele e, em seguida, busque os resultados.
Os Scans de Código Sob Demanda não são scans completos de repositório. Eles analisam apenas o código que você envia. Os resultados são retornados pela API de scan assíncrono de código e expiram após 7 dias.

Modos de Target

Toda requisição de scan inclui um target. O target controla se a ZeroPath usa o contexto do repositório ou trata o código enviado como independente. Quando um repositório é resolvido, a ZeroPath pode usar o contexto persistido de repositório, aplicação e modelo de ameaças para melhorar a análise. Scans independentes usam apenas o código enviado, metadados opcionais de target e contexto suplementar opcional.

Enviar um Scan

Chame POST /api/v2/async-code-scans/submit com sua entrada de código e o target.
Envios bem-sucedidos retornam 202 Accepted:

Consultar o Status

Chame POST /api/v2/async-code-scans/status com o jobId retornado.
Os status públicos são:
  • queued
  • running
  • completed
  • failed
Jobs vinculados a repositório exigem permissão de visualização do repositório. Jobs independentes podem ser visualizados apenas pelo mesmo token de API ou pelo mesmo usuário que fez o envio.

Buscar os Resultados

Chame POST /api/v2/async-code-scans/results após a conclusão do job.
Os resultados incluem vulnerabilidades estruturadas com localização do arquivo, severidade, confiança, identificadores CWE e uma correção opcional:
Os resultados de Scans de Código Sob Demanda são temporários e devem ser consumidos a partir da resposta da API para o job enviado.

Formatos de Entrada

Use exatamente um formato de entrada por requisição.

Diff

Arquivo

Arquivos

Snippets

Contexto Suplementar

Use additionalContext para informações de contexto que possam ajudar o scanner a interpretar o código enviado.
A ZeroPath trata o contexto suplementar como informação de contexto não confiável, e não como instruções para o scanner.

Uso da CLI

A CLI da ZeroPath inclui scan-code para Scans de Código Sob Demanda.
Por padrão, a CLI usa target.kind = "auto" e inclui a URL do seu remote Git quando disponível. Use --repository-id para exigir o contexto de um repositório vinculado, ou --standalone para forçar um scan sem contexto de repositório.

Limites

Requisições acima desses limites retornam 413.

Autenticação

Os Scans de Código Sob Demanda usam os mesmos cabeçalhos de token de API que o restante da API da ZeroPath.
Para targets repository, quem chama deve poder iniciar scans no repositório de destino. Para targets auto, a ZeroPath usa o contexto do repositório apenas quando a URL remota enviada resolve para exatamente um repositório acessível. Para targets standalone, quem chama precisa apenas de contexto autenticado de organização.