Skip to main content
Security Swarm é o produto de varredura de segurança e remediação do Devin. Ele cria um modelo de ameaças adaptado ao seu código, investiga e valida possíveis vulnerabilidades e ajuda você a corrigir os resultados encontrados por meio de pull requests. Ele pode identificar vulnerabilidades como execução remota de código (RCE), injeção de SQL, path traversal, falsificação de requisição do lado do servidor (SSRF), bypasses de autorização, bugs de segurança de memória, vulnerabilidades de negação de serviço e muito mais. Ele pode até identificar explorações encadeadas que abrangem vários arquivos. Security Swarm é uma orquestração personalizada de Devins que chamamos de Agentic MapReduce. Ele divide seu repositório entre vários Devins em paralelo, oferecendo ampla cobertura e investigação aprofundada, ao mesmo tempo em que mantém os custos sob controle, o que torna viável varrer grandes bases de código. Também avaliamos o Security Swarm com base em um conjunto de referência de vulnerabilidades publicadas do GitHub Advisory Database.
Para executar uma varredura:
  • Sua organização precisa ter acesso ao repositório que você quer varrer.
  • Você precisa estar autorizado a usar sessões do Devin.
  • Você precisa da permissão Usar varreduras de código.
  • Para configurar um agendamento do Auto Scan, você também precisa de Gerenciar varreduras de código e de permissão para gerenciar automações.
Se você não vir Security na barra lateral ou não conseguir iniciar uma varredura, peça a um administrador para revisar sua função. Consulte Acesso e permissões para mais detalhes.

Faça sua primeira varredura

  1. Abra Security na barra lateral esquerda e clique em Start scan.
  2. Em Single repo, escolha um repositório para varrer.
  3. Opcionalmente, selecione um scan profile e um scan effort. Se você deixar o perfil em branco, será usada a varredura de segurança nativa do Security Swarm.
  4. Verifique se Interactive mode está ativado.
  5. Clique em Run Scan.
  6. Quando o modelo de ameaças proposto estiver pronto, revise-o e clique em Looks good, start scanning ou envie feedback.
  7. À medida que os resultados aparecerem, revise as evidências e trate os resultados que exigem atenção.
O painel New Scan oferece outros modos de varredura para varrer vários repositórios de uma vez ou importar resultados de um scanner existente.
Para varreduras repetíveis, crie um perfil que capture seu escopo, modelo de ameaças, critérios de severidade, etapas de validação e restrições de remediação.

Revise e aja sobre os resultados

Abra uma varredura para ver seus resultados. A página exibe uma lista de resultados à esquerda, agrupados por severidade, e os detalhes do resultado selecionado à direita. As abas de status mostram uma contagem em tempo real:
  • Open — precisa de atenção.
  • Reviewed — foi revisado e não requer mais ação.
  • Dismissed — foi identificado como falso positivo ou duplicado.
Enquanto uma varredura estiver em execução, a página será atualizada automaticamente à medida que os resultados forem chegando.
Reviewed é um status do fluxo de trabalho, não a confirmação de que uma correção recebeu merge. Um resultado pode ser marcado como Reviewed manualmente ou quando uma varredura posterior determinar que ele não está mais presente.

O que compõe um resultado

Um resultado inclui:
  • Severidade, status, explorabilidade, confiança e categoria.
  • O caminho do arquivo e os trechos de código afetados.
  • Uma descrição do problema e uma recomendação de remediação.
  • Um resultado de validação de sandbox, evidências de suporte e artefatos de validação.
  • Pull requests associadas e seu estado: aberta, mesclada ou fechada.
  • Responsáveis pelo código e notas, quando disponíveis.
Trate um padrão de código arriscado como um indício, não como prova de uma vulnerabilidade. Verifique se o resultado mostra um caminho alcançável a partir de uma entrada controlada por um invasor, leva em conta os controles de validação e autorização e explica um impacto concreto na segurança.

Tome medidas em relação a um resultado

Inicia uma sessão do Devin para corrigir o problema e abrir um PR. A sessão e o PR resultante ficam registrados no resultado.

Perfis de varredura

Um perfil de varredura controla o escopo da varredura e fornece orientações para cada etapa da varredura. Cada varredura pode usar um perfil. Para avaliar um repositório em relação a vários perfis de invasor ou categorias de ameaça, execute varreduras separadas com perfis diferentes.
Um modelo de ameaça específico é uma das formas mais eficazes de manter a cobertura consistente entre as varreduras. Defina o invasor, os ativos sensíveis, os limites de confiança, os principais pontos de entrada e as exclusões explícitas.
Gerencie os perfis na aba Profiles da página Security.

Criar um perfil

Você pode criar um perfil de duas maneiras:
  • Gerar com Devin — descreva o aplicativo, as ameaças, o escopo, as exclusões e os padrões de severidade em linguagem natural. Devin cria um rascunho do perfil para você.
  • Criar manualmente — preencha cada campo do perfil por conta própria.
Gerar com Devin é um ponto de partida útil, mas revise todos os campos gerados antes de usar o perfil. Deixar um campo opcional de orientação em branco faz com que o Security Swarm aplique o comportamento nativo dessa etapa.

Informações básicas

  • Nome do perfil — nomeie a superfície da aplicação ou a categoria de ameaça, em vez da equipe que executa a varredura. Exemplo: Autorização de API multi-tenant.
  • Descrição — resuma o escopo do perfil e o objetivo de segurança. Exemplo: Identificar vulnerabilidades de autenticação, autorização e isolamento de tenant na API pública.
Os exemplos abaixo formam um único perfil para uma API multi-tenant. Adapte os limites, os comandos e os critérios de severidade à sua aplicação.

Modelo de ameaça

Descreva o atacante, os ativos sensíveis, as fronteiras de confiança, os pontos de entrada importantes e tudo o que estiver explicitamente fora do escopo. Essas orientações definem as regras que o Devin gera antes do início da investigação.

Orientações para investigação

Defina como Devin deve investigar um possível problema e quais evidências deve coletar. Peça que ele leve em conta as mitigações existentes e diferencie vulnerabilidades exploráveis de riscos teóricos.

Orientações de triagem

Defina como o Devin deve deduplicar e priorizar resultados. Inclua seus critérios de severidade para que os resultados estejam alinhados aos padrões da sua organização.

Validação de sandbox

Ative a validação de sandbox quando Devin puder fazer o build e testar a aplicação com segurança. Explique como iniciar a aplicação, criar dados de teste, se autenticar e demonstrar a fronteira de segurança esperada. Use Validate severities para escolher a menor severidade que o Devin valida em um sandbox. Somente resultados com essa severidade ou acima iniciam uma sessão de validação; por padrão, resultados críticos, altos e médios são validados. Aumente o limite para crítico ou alto para dedicar o esforço de validação apenas aos resultados mais importantes.
Uma validação sem sucesso nem sempre descarta um resultado. Revise o resultado da validação e os artefatos para determinar se uma mitigação eficaz bloqueou a exploração ou se o ambiente configurado impediu que o Devin concluísse o teste.
A validação de sandbox inicia uma sessão separada do Devin para cada resultado. Consulte Configurar a validação de sandbox para ver orientações sobre o ambiente.

Relatório

Ative os relatórios quando precisar de um artefato com um resumo após a varredura. Especifique o público-alvo e as informações que o relatório deve destacar.

Orientações de remediação

Especifique as restrições que Devin deve seguir quando você atribuir um achado para remediação. Inclua expectativas de teste, requisitos de compatibilidade e práticas a serem evitadas.

Opções avançadas

Abra Avançado para controlar o escopo dos arquivos e os lotes de investigação:
  • Include globs — restrinja a varredura aos arquivos que correspondem aos padrões. Por exemplo, apps/api/** e packages/auth/**.
  • Exclude globs — remova arquivos irrelevantes do escopo selecionado. Por exemplo, **/generated/**, **/vendor/** e **/fixtures/**.
  • Batch size — controle quantos arquivos com indícios são agrupados em cada lote de investigação. Mantenha o valor padrão, a menos que você esteja ajustando deliberadamente o comportamento da varredura. O intervalo permitido é de 1 a 500; o padrão é 5.
Exclusões amplas demais podem ocultar código vulnerável ou remover o contexto necessário para entender um fluxo de dados. Exclua apenas arquivos que você tem certeza de que são irrelevantes para este perfil.

Perfis de ingestion

O mode de um profile é definido no momento da criação. Os profiles Discover (o default) analisam seu código para encontrar novos problemas e usam os campos de guidance acima. Já os profiles Ingest importam resultados que você já tem de outro scanner ou relatório e substituem as entradas de scope e modelo de ameaças por dois campos de guidance:
  • Ingestion source — onde estão os resultados existentes e como o Devin deve buscá-los. Por exemplo, buscar alerts abertos do code scanning do GitHub por meio da API REST dele ou ler um relatório do Semgrep comitado em reports/semgrep.json. Referencie credentials pelo nome do secret da organization, em vez de colar um token.
  • Post-ingestion triage — como o Devin deve fazer o triage dos resultados importados: o que descartar, o que repriorizar e o que tratar como duplicata. Por exemplo, descartar resultados em fixtures de teste e tratar como duplicatas os resultados com o mesmo ID de rule e o mesmo arquivo.
Consulte Ingerir resultados existentes para saber como executar uma varredura com um profile de ingestion. A aba Profiles pode ser filtrada por scan type e por mode (Discover ou Ingest).

Perfis de organização e do Enterprise

Novos perfis são restritos à organização. Depois, os admins do Enterprise podem alterar a visibilidade de um perfil para Enterprise, tornando-o disponível em todo o Enterprise. Perfis do Enterprise só podem ser editados ou arquivados por admins do Enterprise. Outros usuários com acesso ao Security podem visualizá-los e usá-los, mas não podem modificá-los.

Modo interativo

Com o Modo interativo ativado, Devin cria uma proposta de modelo de ameaças e pausa antes da investigação. A página de varredura exibe as regras propostas e permite que você:
  • Tudo certo, iniciar varredura — aceite o modelo de ameaças e inicie a investigação.
  • Enviar feedback sobre o modelo de ameaças — descreva o que adicionar, remover ou enfatizar e, em seguida, revise o modelo atualizado.
Use o modo interativo na primeira varredura de um repositório e sempre que sua superfície de risco ou perfil mudarem significativamente. Depois que o perfil incorporar as diretrizes aprovadas, as varreduras de rotina poderão ser executadas sem essa pausa.

Configurar a validação de sandbox

A validação de sandbox só é executada quando o perfil selecionado está com essa validação ativada e inclui orientações de validação. Forneça ao Devin informações suficientes para fazer o build, executar, popular dados e autenticar a aplicação no sandbox. Se o repositório tiver configuração declarativa, o Devin poderá reutilizar a configuração de build e instalação. Caso contrário, adicione os comandos de configuração necessários às orientações de validação do perfil.
Não coloque credenciais de produção nem valores secretos diretamente nas orientações do perfil. Use contas e credenciais de teste não produtivas já fornecidas pela configuração de ambiente da sua organização.

Ampliar a varredura

Escolha um modo de varredura

O painel New Scan oferece quatro modos de varredura: O modo interativo está disponível para varreduras de segurança de repositório único e de múltiplos repositórios. Ele fica ativado por padrão em varreduras de repositório único quando sua organização ainda não executou nenhuma varredura.

Esforço da varredura

Toda varredura é executada em um de dois níveis de esforço, selecionado em Scan effort ao iniciá-la:
  • Normal (padrão) — uma varredura mais rápida, que usa lotes de investigação maiores.
  • Deep — rastreia cada resultado mais a fundo pelo codebase, garantindo o máximo de minuciosidade, com custo mais alto e tempo de execução maior.
Use Normal para varreduras rotineiras e incrementais, e Deep para a primeira varredura de um codebase de alto risco ou para uma revisão aprofundada periódica. O esforço usado em uma varredura concluída é exibido em seu cabeçalho.

Fazer varredura em massa em uma organização

Use Varredura em massa no painel Nova varredura para enfileirar uma varredura separada para cada repositório encontrado:
  1. Opcionalmente, insira um filtro de nome do repositório.
  2. Opcionalmente, selecione um perfil de varredura.
  3. Mantenha Pular repositórios já varridos ativado para excluir repositórios que já foram varridos com o perfil selecionado.
  4. Clique em Prévia.
  5. Revise os repositórios encontrados, desmarque os que não quiser varrer e confirme.
A prévia é uma simulação. Alterar o filtro, o perfil ou a opção de pular torna a prévia inválida, para que você não possa confirmar uma lista obsoleta.

Importar resultados existentes

Use Ingest findings para trazer resultados de outro scanner para o Security Swarm e assim triá-los, validá-los e corrigi-los junto com os resultados do próprio Devin:
  1. Selecione um ou mais repositórios aos quais os resultados pertencem.
  2. Selecione um perfil de ingestion. O perfil informa ao Devin onde os resultados estão e como triá-los após a importação.
  3. Opcionalmente, anexe até 10 relatórios ou exportações (por exemplo, arquivos SARIF, CSV ou PDF) para o Devin ler os resultados. Se a origem de ingestion do perfil já apontar para uma API ou um arquivo no repositório, não é preciso anexar nada.
  4. Opcionalmente, ative o Interactive mode. Após a importação, o Devin faz uma pausa para que você revise o que foi ingerido, incluindo possíveis duplicatas, e solicite correções antes de ele continuar.
  5. Escolha um esforço de varredura e clique em Run Scan.
Os resultados importados aparecem na página da varredura como qualquer outro resultado, ou seja, você pode atribuí-los ao Devin, ajustá-los ou alterar seu status. A lista de varreduras pode ser filtrada por mode para exibir apenas as varreduras Discover ou apenas as Ingest.
A importação de anexos passa pela attachments API, portanto ingerir a partir de arquivos importados também exige Use Devin sessions. As ingestion scans também podem ser iniciadas pela API.

Auto Scan

A Auto Scan executa periodicamente a varredura dos commits adicionados desde a última varredura concluída. Você pode configurá-la:
  • Ao iniciar uma varredura de um único repositório, selecionando um agendamento diário, semanal, mensal ou personalizado.
  • Em uma varredura existente, adicionando, editando ou desativando seu agendamento, ou clicando em Scan now para executá-la imediatamente.
Os horários do agendamento são exibidos no seu fuso horário local.
A Auto Scan só está disponível quando as automações estão ativadas para sua organização. Para configurá-la, é necessário ter Gerenciar varreduras de código e permissão para gerenciar automações.
As Auto Scans são incrementais: cada execução investiga apenas os commits adicionados desde a última varredura concluída. Em vez disso, clicar em Start scan inicia por padrão uma varredura completa do escopo do repositório.

Varrer novos commits

Clique em Varrer novos commits em uma varredura concluída para investigar os commits adicionados desde o último commit varrido. O Auto Scan usa o mesmo comportamento incremental, tornando as varreduras subsequentes menos custosas do que repetir a varredura de todo o escopo do repositório. Cada execução completa ou incremental é registrada no histórico de varreduras da varredura.

Iniciar varreduras a partir de automações

As automações incluem um tipo de agente varredura de código para varreduras que devem ser executadas conforme um agendamento ou em resposta a um evento. Em vez de iniciar uma sessão do Devin com um prompt, a automação inicia a varredura diretamente. Escolha uma entre duas ações:
  • varredura de código — inicia uma nova varredura do repositório ou repositórios configurados, com o tipo de varredura, o perfil e o esforço definidos, sempre que a automação é acionada.
  • varrer novos commits — estende uma varredura existente com uma execução incremental que abrange os commits adicionados desde a última execução concluída. A varredura já precisa ter uma execução concluída.
O Auto Scan é uma automação pré-configurada do segundo tipo. Use a página de automações quando quiser usar outros gatilhos, como um webhook, ou gerenciar todas as varreduras agendadas em um só lugar. Você também pode iniciar uma varredura pelo composer de uma sessão com o comando /scan. Para varreduras de desempenho, cobertura de testes, código morto e outras não relacionadas a segurança, consulte varredura de código.

Gerenciar e monitorar varreduras

Dependendo da varredura e do perfil dela, o cabeçalho da varredura pode incluir:
  • Relatórios — baixe os relatórios gerados para a varredura.
  • Uso — visualize os ACUs consumidos, a quantidade de sessões, a duração da varredura e as estatísticas de PR.
  • Sessão — abra a sessão principal do Devin que executou a varredura.
  • Histórico de varreduras — visualize todas as execuções da varredura. Consulte Histórico de varreduras.
  • Alterar perfil — troque o perfil usado pelas execuções futuras. Consulte Alterar o perfil de uma varredura.
  • Exportar como CSV — exporte os resultados da varredura.
  • Arquivar ou Desarquivar — oculte a varredura da lista padrão ou restaure-a nela.
  • varrer novos commits — inicie uma varredura incremental.
As varreduras são executadas como sessões do Devin e consomem ACUs. A lista de varreduras na página Security pode ser filtrada por status, estado do pull request e modo de varredura (Discover ou Ingest).

Histórico de varreduras

Abra o Scan history de uma varredura para ver todas as execuções, da mais recente para a mais antiga. Cada execução mostra se foi Full scan ou Incremental, seu status, o esforço e o profile utilizados, as ACUs consumidas e um link para a sessão do Devin correspondente. Use esse histórico para confirmar que o Auto Scan está sendo executado conforme o agendamento e para comparar o custo entre execuções completas e incrementais.

Alterar o profile de uma varredura

Clique em Change profile em uma varredura concluída para selecionar outro profile. O novo profile passa a valer para as execuções futuras da varredura, incluindo o Auto Scan e Scan new commits; as execuções já concluídas e seus resultados não são afetados. Não é possível alterar o profile enquanto uma varredura estiver em execução. Alterar um profile exige a permissão Usar varreduras de código.

Dashboard de Security

Depois que a organização conclui sua primeira varredura, a página Security exibe um dashboard de toda a organização referente aos últimos 7, 30 ou 90 dias:
  • Estatísticas de pull requests — pull requests criados, merged, abertos e fechados, além da taxa de merge.
  • Resultados ao longo do tempo — resultados agrupados por severidade no período selecionado.

Acesso e permissões

O acesso ao Security é controlado por meio das permissões de varredura de código no editor de funções: Iniciar varreduras, enviar feedback e atribuir resultados ao Devin também exigem permissão para usar sessões do Devin. O Auto Scan também requer permissão para gerenciar automações. Por padrão, os membros não recebem permissões de varredura de código. Os proprietários têm todas as permissões, e os administradores podem conceder permissões aos membros por meio de funções personalizadas. As mesmas permissões de varredura de código controlam o acesso à API de Code Scans (as chamadas à API não exigem permissão de sessão adicional, exceto pelo upload de relatórios do scanner para varreduras de ingestão, que é feito pela API de anexos e exige Usar sessões do Devin). Usuários de serviço ou tokens de acesso pessoal com Usar varreduras de código podem iniciar varreduras, iniciar varreduras de ingestão e corrigir resultados; Visualizar varreduras de código abrange listar varreduras, perfis e suas orientações, resultados e métricas. Consulte Acionando varreduras de código via API do Devin para ver o fluxo completo.

Compare o Security Swarm com outro scanner

Para que a comparação seja útil, dê aos dois scanners o mesmo escopo, modelo de ameaças, critérios de severidade e expectativas de validação. Caso contrário, diferenças de configuração podem mascarar diferenças na capacidade subjacente. Use perfis para definir os critérios de comparação, o modo interativo para confirmar o modelo de ameaças gerado e a validação em sandbox para aplicar o mesmo padrão de evidência aos resultados reportados.

FAQ

O Security Swarm investiga possíveis vulnerabilidades no contexto do seu repositório, em vez de apenas reportar padrões arriscados isoladamente. Devin rastreia fluxos de dados relevantes, verifica controles de validação e autorização e avalia se o problema tem um impacto concreto na segurança.Cada resultado inclui um nível de confiança e evidências de suporte. Revise essas evidências antes de tomar qualquer ação, especialmente quando um resultado não tiver sido validado em um sandbox.
Verifique o código afetado, o ponto de entrada, o fluxo de dados, as mitigações existentes, o impacto declarado, a confiança e a explorabilidade. Quando a validação em sandbox estiver ativada, revise também o resultado da validação e os artefatos de suporte.Se as evidências não considerarem um controle ou indicarem um impacto sem respaldo, use Feedback para fornecer o contexto ausente em varreduras futuras.
A validação em sandbox tenta reproduzir um resultado fazendo o build e exercitando a aplicação em um ambiente isolado. Uma validação bem-sucedida fornece evidências mais fortes de explorabilidade, enquanto uma validação malsucedida pode identificar suposições ou limitações do ambiente que exigem análise adicional.A validação em sandbox é opcional e exige orientação de validação suficiente para que Devin possa fazer build, executar, carregar dados iniciais e autenticar a aplicação com segurança.
O Security Swarm analisa partes do repositório em paralelo e combina os resultados em uma visão de todo o repositório. Isso permite identificar relações entre componentes, como um endpoint expor um identificador necessário para explorar outro endpoint.Qualquer resultado encadeado ainda deve identificar os caminhos de código relevantes e explicar como as condições individuais se combinam em um impacto concreto.
O Security Swarm usa análise agentic, portanto varreduras diferentes podem não produzir resultados ou redações idênticos. Um escopo focado, um modelo de ameaças explícito, critérios de severidade claros e orientações específicas de investigação ajudam a manter a cobertura consistente.Registre esses requisitos em um perfil de varredura reutilizável, use o modo interativo para revisar o modelo de ameaças proposto e forneça feedback quando um resultado deixar de considerar um contexto importante.
Nenhum scanner de segurança pode garantir cobertura completa. Os resultados dependem do escopo selecionado, da orientação do perfil, do contexto disponível do repositório e de os resultados poderem ser validados no ambiente configurado.Execute varreduras separadas para diferentes modelos de atacante ou categorias de ameaça, mantenha os perfis atualizados conforme a aplicação muda e use o Security Swarm em conjunto com suas práticas atuais de revisão de segurança e testes.