Visão Geral
A ZeroPath usa um sistema de autorização refinada (FGA) para controlar o acesso a recursos dentro da sua organização. As equipes agrupam usuários e podem ser atribuídas a repositórios específicos, permitindo que você controle quem vê o quê.Gerenciamento de Equipes
Criando Equipes
- Navegue até Settings → Teams no dashboard.
- Clique em “Create Team”.
- Dê à equipe um nome e uma descrição opcional.
- Adicione membros por e-mail ou nome de usuário.
- Atribua os repositórios aos quais a equipe deve ter acesso.
Membros da Equipe
As equipes podem incluir:- Usuários — pessoas com contas ZeroPath na sua organização
- Contribuidores — contribuidores de código identificados a partir de dados de Git blame (correspondidos por e-mail, nome ou nome de usuário no VCS)
Vinculando Contribuidores Não Correspondidos
Quando a ZeroPath identifica contribuidores de código que não foram correspondidos a uma conta de usuário, eles aparecem no painel Unmatched Contributors. A partir dele você pode:- Pesquisar contribuidores por nome, nome de usuário ou e-mail para encontrar rapidamente a pessoa que deseja vincular.
- Pesquisar membros da organização dentro do menu de atribuição para encontrar a conta correta.
- Vincular contribuidores individualmente — cada contribuidor pode ser vinculado de forma independente, sem bloquear outras operações de vinculação.
Sincronização de Equipes do GitHub
Você pode mapear a estrutura de equipes do GitHub para as equipes de controle de acesso da sua organização ZeroPath. Há duas formas de sincronizar:- Sincronização contínua (automática) — ative a sincronização automática para manter as equipes alinhadas sem intervenção. Quando ativada, a ZeroPath sincroniza suas equipes do GitHub em um agendamento recorrente de hora em hora. Você pode ativar ou desativar isso na seção GitHub Team Sync em Settings -> Teams.
- Sincronização única — clique em Sync now para executar uma única sincronização imediatamente, sem ativar a sincronização contínua. Isso é útil para uma importação inicial ou uma atualização manual.
- Se a sincronização contínua está atualmente ativada ou desativada.
- O timestamp da última sincronização concluída, para que você possa confirmar quando os dados das equipes foram atualizados pela última vez.
- Um indicador de progresso enquanto uma sincronização está em andamento.
Permissões Padrão de Equipe
Você pode configurar permissões de base que são aplicadas automaticamente às equipes criadas pela sincronização de equipes do GitHub. Isso é especialmente útil ao habilitar o controle de acesso pela primeira vez, já que equipes recém-sincronizadas começam sem nenhuma permissão por padrão. Em Settings → Teams:- Clique em “Configure Defaults” para abrir o editor de Default Team Permissions.
- Defina as permissões de base que cada nova equipe sincronizada deve receber, em três categorias (veja abaixo).
- Clique em “Save Defaults” para persistir suas alterações.
- Clique em “Apply to All Teams” para aplicar retroativamente os padrões configurados a todas as equipes existentes na sua organização. As permissões existentes são preservadas — os padrões são adicionados por cima.
Categorias de Permissões
O editor de permissões padrão organiza as permissões em três categorias, cada uma exibida com uma contagem resumida de quantos padrões estão selecionados no momento: Organization Permissions — Controla o que as equipes sincronizadas podem fazer no nível da organização, agrupado em:
Repository Permissions — As permissões padrão de repositório são aplicadas universalmente, ou seja, as equipes sincronizadas recebem essas permissões em todos os repositórios da organização. Os grupos incluem:
Team Self-Management — Controla se as equipes podem gerenciar suas próprias configurações e composição por padrão. As permissões individuais incluem editar a equipe, adicionar membros, remover membros e excluir a equipe.
Você pode alternar grupos inteiros de permissões de uma vez clicando no cabeçalho do grupo, ou alternar permissões individuais dentro de um grupo. Um botão Reset permite descartar alterações não salvas e reverter para o último estado salvo.
Permissões
A ZeroPath usa permissões baseadas em funções no nível da organização. As principais categorias de permissões incluem:Acesso a Repositórios
As equipes podem ter escopo limitado a repositórios específicos. Ao atribuir repositórios a uma equipe, você pode pesquisar repositórios por nome, e a lista suporta paginação, facilitando encontrar os repositórios certos mesmo em organizações com um grande número de repositórios conectados. Quando uma equipe é atribuída a um repositório:- Os membros da equipe podem visualizar resultados de scan e achados desse repositório
- Notificações e alertas são roteados para a equipe apropriada
- A atribuição via Git blame vincula os achados aos membros da equipe que escreveram o código afetado
Acesso a Repositórios Baseado em Tags
Além de selecionar repositórios individuais, você pode conceder a uma equipe acesso a repositórios por meio de tags. Quando você seleciona uma tag, a equipe recebe as permissões de repositório configuradas em todos os repositórios que pertencem àquela tag. O acesso é atualizado automaticamente conforme repositórios entram ou saem da tag — não é necessário ajustar manualmente a composição da equipe quando seu conjunto de repositórios muda. Para configurar o acesso baseado em tags:- Abra as configurações de uma equipe e navegue até o painel Permissions.
- Em Repository Access, selecione Selected repositories.
- Na seção Tags, selecione uma ou mais tags para conceder acesso a todos os repositórios dentro dessas tags.
- Salve as permissões da equipe.
Alterar o acesso a repositórios de uma equipe para All repositories remove quaisquer mapeamentos baseados em tags. Um aviso é exibido antes que essa alteração entre em vigor.
Gerenciando o Acesso Baseado em Tags via API
Ao definir as permissões de uma equipe pela API, você pode incluirtagIds junto com repositoryIds para conceder à equipe acesso a repositórios por meio de tags. A equipe recebe as repoPerms configuradas em todos os repositórios que pertencem a cada tag listada.
Ao ler as permissões de uma equipe, a resposta inclui:
tagIds— as tags cujos repositórios membros a equipe pode acessar.repoAccess— um objeto estruturado com um discriminantemode("universal"ou"selected") que torna explícito o modelo de acesso da equipe. No modo"selected", ele incluirepositoryIds(concessões explícitas por repositório) etagIds(concessões com escopo de tag) junto com aspermsconcedidas.
Alternar para All repositories (
universalRepoPermissions: true) limpa tanto as concessões por repositório quanto as baseadas em tags. Por outro lado, definir universalRepoPermissions: false limpa as concessões universais e aplica apenas os repositoryIds e tagIds explicitamente listados.Detalhes do Achado
Ao visualizar um achado, a ZeroPath exibe informações contextuais para ajudar sua equipe a fazer a triagem com eficácia:- Exploit steps — um passo a passo de como a vulnerabilidade poderia ser explorada
- Preconditions — condições que o scanner não conseguiu verificar completamente e que podem reduzir a explorabilidade. Cada precondição inclui uma descrição e evidências de suporte opcionais que você pode expandir para obter mais contexto. As precondições ajudam sua equipe a avaliar o risco real destacando as suposições que precisam valer para que a vulnerabilidade seja explorável.
- SCA vulnerability and reachability data — para achados de dependências, detalhes do pacote e se o caminho de código vulnerável é alcançável a partir da sua aplicação
- Runtime Validation — quando um achado foi testado dinamicamente, um painel de Runtime Validation aparece inline na issue. Ele mostra o veredito (por exemplo, Confirmed, Disconfirmed ou Unable), um timestamp e um resumo do resultado. Você pode expandir duas seções recolhíveis para mais detalhes:
- Validated attack path / Validation path — para achados confirmados, passos de reprodução com entradas numeradas; para todos os achados testados, a sequência de ações do agente e os resultados observados.
- Evidence and scope — um resumo narrativo das evidências coletadas, além dos alvos e das funções específicas que foram testados. Se a issue não pôde ser testada dinamicamente, esta seção registra que o teste não foi possível.