Como Funciona
Mencione o bot do ZeroPath em um comentário de pull request ou merge request para enviar um comando. O bot interpreta o comentário, publica uma confirmação, executa a ação e então atualiza o mesmo comentário no lugar com o resultado. Isso mantém a conversa do seu PR limpa — há uma resposta do bot por comando, não uma cadeia de respostas.1
Mencione o bot
Comece o seu comentário com
@ZeroPath ou @zeropath-ai (aliases públicos), ou
@<your-bot-username> (o nome de usuário exato configurado para o seu GitHub App ou
integração do GitLab). Nomes de usuário de bot específicos de ambiente só correspondem àquela
integração exata.2
Digite um comando
Use um dos comandos estruturados abaixo, ou faça uma pergunta em linguagem natural. Alvos como
issue 2 são comparados com os problemas que o ZeroPath reportou neste PR.3
Leia a resposta
O bot publica imediatamente um comentário “Thinking…” ou “Acknowledged” e então edita esse comentário no lugar quando a ação é concluída. Ações de longa duração como
retriage transmitem um resumo estruturado de volta ao terminar.Os comandos do bot são suportados no GitHub e no GitLab. O Bitbucket e o
Azure DevOps suportam escaneamento de PRs, mas ainda não comandos do bot.
Um
@ZeroPath sozinho, sem comando, faz o bot responder com uma dica: I'm here. Try: @ZeroPath fp issue 2 because …Referência de Comandos
A maioria das categorias aceita a mesma sintaxe de alvo (consulte Alvos) e muitas aceitam um sufixo opcionalbecause <reason> (consulte O Modificador because para saber quais comandos persistem o motivo).
Status de Triagem
Marque o veredito de corretude de uma descoberta. Esses comandos alteram o estado de triagem do problema e disparam uma notificaçãovulnerability status changed pelos seus canais configurados.
Status de Fluxo de Trabalho
Mova uma descoberta pelo fluxo de revisão da sua equipe. Esses comandos não alteram o veredito de corretude — use o Status de Triagem para isso.Atribuição
Atribua o ticket do Jira ou do Linear vinculado a uma descoberta a um colega de equipe. Requer que a descoberta tenha um issue associado no Jira/Linear (consulte Jira ou Linear).
Se um alvo não tiver ticket vinculado no Jira/Linear, o bot reporta
assignment isn't possible (no linked Jira/Linear ticket) para aquele problema e continua com os demais.
Patches de Correção Automática
Acione o pipeline de geração de patches do ZeroPath para uma descoberta específica. Consulte Auto-Fix para o recurso completo.Alterações em PRs de Patch no GitHub
No GitHub, quando o ZeroPath abre um PR de patch de correção automática, os revisores podem solicitar mudanças de código adicionais diretamente da conversa do PR. Comece um novo comentário no PR com@ZeroPath ou @zeropath-ai e descreva a mudança que você quer.
PR comment
- Verifica que o PR é um PR de patch do GitHub criado pelo ZeroPath.
- Verifica que a branch head atual do PR é a mesma branch de patch que o ZeroPath criou.
- Aplica apenas a mudança solicitada.
- Faz commit da mudança na branch existente do PR.
- Responde com um resumo e a referência do commit.
Mudanças diretas na branch de PRs de patch são atualmente exclusivas do GitHub. Os comandos do bot no GitLab
continuam suportando triagem, atribuição, geração de patches, reescaneamentos, retriagem e
perguntas em linguagem natural, mas não commits de acompanhamento diretos em uma branch de
PR de patch existente.
Operações de Escaneamento
Quando o bot não consegue executar um reescaneamento, ele explica o motivo com uma destas mensagens:
A scan for the current commit already exists. Use \rescan force` to bypass the cache., Cannot rescan a closed pull request.`, ou um motivo específico do serviço.
Re-Triagem (Investigação Mais Profunda)
Execute novamente a validação por IA nas descobertas usando uma investigação mais minuciosa do que a do escaneamento de PR padrão. Quando a descrição do PR referencia vulnerabilidades por tagZP-ID ou URL do dashboard (consulte Verificação de Correção), retriage executa a verificação de correção em vez disso.
A resposta do retriage, publicada no lugar do comentário de confirmação, lista cada problema com um veredito (Confirmed ou Disconfirmed), uma avaliação de segurança e um link para o problema no dashboard do ZeroPath.
Perguntas em Linguagem Natural
Qualquer coisa que não corresponda a um comando estruturado ou a uma solicitação de mudança em PR de patch do GitHub é tratada como uma pergunta ao bot. No GitHub, o bot responde com uma resposta gerada por IA no mesmo fio de comentários, publicando um placeholderThinking...
e editando-o no lugar com a resposta completa quando estiver pronta.
PR comment
Mensagens em formato de pergunta (aquelas classificadas como perguntas pelo LLM) recebem uma
resposta de IA em formato livre tanto no GitHub quanto no GitLab. As plataformas divergem apenas
quando o classificador não consegue reconhecer a mensagem de forma alguma: o GitLab retorna uma
resposta estática listando os exemplos de comandos suportados (
I couldn't understand that command. Examples: ...), enquanto o GitHub recorre a uma resposta de Assistant em
formato livre. Se você está no GitLab e o bot responde com a lista estática de
comandos, reformule como uma pergunta clara ou use um dos comandos estruturados acima.Alvos
Um alvo especifica a qual(is) problema(s) o comando se aplica. O parser aceita:
A forma implícita é o caminho mais fácil: abra um comentário inline de descoberta, responda a ele com
@ZeroPath fp because not reachable from input, e o bot aplica o comando àquela descoberta sem que você precise nomear um número de problema. Cada comentário inline de descoberta inclui um rodapé de dicas rápidas com exemplos de comandos de resposta, para que você veja a sintaxe sem sair do seu PR.
Um retriage sozinho, sem alvo, assume por padrão todos os problemas deste PR.
O Modificador because
Todo comando de triagem, de status de fluxo de trabalho e de retriagem aceita um sufixo opcional because <reason>. O texto após because é capturado pelo parser como o motivo do usuário para a ação.
PR comment
Exemplos Práticos
Permissões
Quando o controle de acesso está habilitado para a sua organização, o bot verifica que o usuário do GitHub ou do GitLab que publicou o comentário está vinculado a uma identidade do ZeroPath, e que o usuário vinculado tem a permissão de repositório adequada para a ação. As permissões abaixo usam os nomes de exibição exatos da página de configurações de Teams, para que um admin possa encontrar cada uma como uma checkbox na UI de permissões de equipe.Essas são permissões distintas. Um usuário com Mark as False Positive mas sem
Archive Issues pode executar
fp, mas terá accepted-risk negado, ainda que
ambas sejam ações de “triagem” no uso casual. Da mesma forma, non-exploitable
é controlado por Mark as True Positive, não por False Positive — ambos os comandos
afirmam uma classificação de vulnerabilidade, então compartilham a permissão de
True Positive.Permission denied (missing <PERMISSION_CONSTANT>). Por exemplo,
ISSUE_EDIT_OPEN corresponde a Mark Issues as Open, PATCH_CREATE corresponde a
Generate Patches e PATCH_ISSUE corresponde a Create Pull Requests.
Se o autor do comentário não tiver uma identidade do ZeroPath vinculada no GitHub, o bot responde:
I can’t verify your ZeroPath identity for this organization. Your GitHub account isn’t linked to a ZeroPath user yet. To link it, set your GitHub public email (Settings > Public profile) to match your ZeroPath account email, then comment again. The link is saved on our side, so you can switch the email back to private afterward. This should fix the issue most of the time.No GitLab, o bot responde:
I can’t verify your ZeroPath identity for this organization (no linked ZeroPath user). Please contact your org admin to link your account.Consulte Equipes e Permissões para saber como vincular usuários do VCS e configurar RBAC.
Suporte de Plataformas
Solução de Problemas
O bot responde “I couldn’t understand that command.” O parser não reconheceu nem uma palavra-chave explícita nem uma pergunta. Use um dos exemplos práticos como modelo, ou cole uma URL do dashboard como alvo. O bot responde “No matching issues found for that target.” O número de problema que você usou não corresponde a uma descoberta que o ZeroPath reportou neste PR. Verifique o comentário de resumo do PR para ver a lista de problemas reportados, ou useall issues in this pr.
O bot responde “I can’t verify your ZeroPath identity…”
A sua conta no VCS não está vinculada a um usuário do ZeroPath. No GitHub, a correção mais rápida é definir o seu e-mail público do GitHub (Settings > Public profile) para corresponder ao e-mail da sua conta do ZeroPath e então comentar novamente — o ZeroPath vinculará automaticamente as contas via correlação de e-mail. Você pode voltar o e-mail para privado depois; o vínculo persiste. No GitLab, o fallback de correlação de e-mail ainda não está implementado, então entre em contato com o admin da sua organização para vincular as contas em Teams, ou execute a ação a partir do dashboard do ZeroPath.
assign reporta “no linked Jira/Linear ticket”
A descoberta alvo ainda não foi enviada ao Jira ou ao Linear. Configure a integração do Jira ou do Linear com auto-ticketing, ou crie o ticket a partir do dashboard primeiro.
O bot rejeitou meu comentário como conteúdo de prompt injection
Reformule como uma pergunta direta sobre uma descoberta específica reportada, sem instruções formatadas como comandos de bot embutidas nela.
O bot se recusou a modificar um PR de patch do GitHub
O bot só faz commits diretamente em branches de PR que o ZeroPath criou para PRs de
patch. Ele se recusa quando não consegue verificar a branch, o PR vem de um fork, a
branch se moveu enquanto a solicitação estava sendo preparada, ou a mudança solicitada é
insegura, ambígua, impossível, não relacionada ao patch ou não produz mudanças em
arquivos.
Consulte Escaneamento de PRs para o recurso ao redor (status de
verificação, comentários inline, comentários de resumo) e
Auto-Fix para o que
generate patch e approve patch
realmente produzem.