Skip to main content

Seu backlog de vulnerabilidades não é mais uma dívida técnica — é uma superfície de ataque

Escrito por

24 de setembro de 2026

0 minutos de leitura

Todo programa de segurança tem uma: uma fila com alguns milhares de descobertas — ou algumas centenas de milhares — que ninguém analisou e que ninguém espera analisar. A maioria das equipes classifica isso como dívida técnica: um custo assumido de propósito, pago quando há espaço e tolerável porque a taxa de juros continua baixa.

Essa contabilidade funcionou por muito tempo porque se baseava em uma única suposição: quase nada na fila seria alcançado ou explorado por alguém. Por mais razoável que essa suposição tenha sido como decisão de engenharia, ela se tornou a parte mais frágil do modelo.

O backlog era uma aposta

Os desenvolvedores sempre foram mais numerosos que os profissionais de segurança, desde que essas duas funções existem. Diante dessa limitação, a triagem era a decisão certa — e, francamente, a única: priorizar as descobertas, definir um limite de severidade, trabalhar no que ultrapassa esse limite e aceitar o restante.

Aceitar o restante equivalia a apostar na probabilidade de exploração: um invasor não encontraria aquele problema específico de severidade média, naquele serviço específico, antes que o código ao redor mudasse de qualquer forma. As descobertas eram consideradas reais, e a aposta era que permaneceriam sem tratamento.

Os programas ainda operam com os instrumentos dessa aposta: o registro de riscos, os níveis de SLA, os estados de “não corrigir” e “risco aceito”, os fluxos de exceção e dispensa e os limites mínimos de severidade abaixo dos quais nada é sequer triado. Cada um existe porque uma organização fez um acordo racional e precisou de mecanismos para operá-lo em escala.

Três fatores mudaram ao mesmo tempo

Uma aposta só é tão boa quanto as probabilidades consideradas no momento em que foi feita — e três delas mudaram.

1. O código chega mais rápido do que qualquer cadência de revisão

O número de linhas de código por desenvolvedor aumentou 218%, e 62% desse código apresenta problemas ou é inseguro. Em junho de 2026, os próprios dados de produto da Snyk mostram aproximadamente seis novas vulnerabilidades introduzidas para cada uma corrigida, e o desenvolvimento agentivo continua ampliando essa proporção.

A direção importa mais que o número, porque uma entrada seis vezes maior que a saída significa que o restante aceito cresce a cada sprint sem que ninguém decida aumentá-lo. Cada limite, SLA e modelo de dimensionamento da equipe foi definido para uma taxa de entrada diferente, e nenhum deles foi renegociado quando essa taxa mudou.

2. O código chega sem um autor a quem perguntar

“Pergunte ao autor” é o instrumento mais antigo da revisão de código e não tem equivalente quando o autor é um agente, porque ninguém escolheu a dependência, raciocinou sobre o padrão ou consegue explicar para que a mudança servia.

Agora, os revisores aprovam código que não escreveram e que não conseguem questionar. Assim, o raciocínio que antes acompanhava uma mudança precisa ser reconstruído a partir da própria mudança. Descobertas que antes seriam encerradas em uma conversa de dois minutos vão parar na fila, elevando a entrada uma segunda vez por motivos não relacionados ao volume de código.

3. Os invasores automatizaram o lado deles

A aposta na probabilidade era baseada em reconhecimento na velocidade humana, quando enumerar uma superfície ampla custava horas reais ao invasor e produzia, em sua maioria, ruído. A automação mudou essa matemática. Percorrer uma superfície extensa, catalogar cada sinal fraco e testar combinações nas quais nenhum analista teria passado uma tarde são tarefas baratas agora.

A consequência é específica — e a resposta também. Cada entrada do seu registro foi avaliada com base nas probabilidades antigas, e a maioria não foi reexaminada desde o dia em que foi aceita. Reavaliar esse registro, portanto, é um trabalho que você pode dimensionar e programar para este trimestre.

Descobertas de baixa severidade se combinam em caminhos de alta severidade

A severidade classifica uma descoberta isoladamente, enquanto os ataques combinam descobertas.

Considere três entradas, cada uma confortavelmente abaixo do limite de triagem: uma referência direta insegura a objeto que expõe um ID de objeto interno, uma resposta de erro detalhada que confirma quando um ID adivinhado é válido e uma biblioteca de serialização desatualizada com um problema conhecido de desserialização. Individualmente, cada uma é o tipo de descoberta que um programa aceita e nunca revisita. Encadeadas, elas formam um caminho autenticado até a execução remota de código.

É esse mecanismo que transforma um backlog em uma superfície de ataque. A fila funciona como um inventário de componentes que um invasor pode montar, e a montagem é justamente a parte que um modelo de severidade nunca classifica.

A medida prática é ler o registro como uma descrição do que um invasor tem à disposição. Pergunte quais descobertas aceitas estão no mesmo serviço, compartilham um limite de confiança ou acessam os mesmos dados, porque é nesses agrupamentos que a exposição se encontra — e eles permanecem invisíveis em qualquer visão que ordene por severidade.

A priorização organiza a fila sem reduzi-la

A reação instintiva a um backlog crescente é melhorar a classificação: pontuar com mais precisão, ponderar pela alcançabilidade, ordenar pela explorabilidade e trabalhar no topo da lista com mais confiança.

Uma classificação melhor produz uma fila mais bem ordenada, mas com o mesmo tamanho. Quando a entrada supera a saída, a classificação determina quais descobertas permanecerão sem tratamento, o que faz da priorização o instrumento que administra o risco aceito. Melhorar esse instrumento aperfeiçoa a administração de um estado do qual o programa deveria estar saindo.

Alcançabilidade, explorabilidade e histórico de resultados das correções têm valor em outro lugar. Aplique-os à correção adequada e à ordem de eliminação, onde respondem a perguntas que reduzem o número: essa correção tratará um caminho real? Será implementada sem quebrar o build? O que será eliminado primeiro? Chegar a zero depende da taxa, e a classificação não altera essa taxa.

O que é preciso para tratar o backlog como uma superfície de ataque

Antes de mudar qualquer coisa, estabeleça quatro números. A maioria das equipes consegue obtê-los em uma semana, e eles tendem a reformular a conversa mais rapidamente do que qualquer argumento.

  1. Entrada real versus encerramento real nos últimos 90 dias, contando as descobertas realmente resolvidas, e não as descobertas triadas.

  2. A quantidade de entradas com risco aceito e “não corrigir”, junto com a data em que cada uma foi reexaminada pela última vez. Qualquer data anterior à adoção de ferramentas de programação com IA pela sua organização indica uma entrada avaliada com base em probabilidades que mudaram desde então.

  3. A proporção de código mesclado com um autor humano, que mostra quanto da sua entrada ainda pode ser explicado pela pessoa que o produziu.

  4. A taxa de mesclagem das correções de segurança: das correções abertas no último trimestre, quantas foram implementadas?

O quarto número costuma surpreender, porque ele tem sido a verdadeira restrição há anos, enquanto a atenção permanecia na detecção. As correções são geradas e nunca mescladas. Assim, um programa que produz mais descobertas sem alterar essa taxa simplesmente produz uma fila mais longa.

Um backlog diminui quando três coisas acontecem ao mesmo tempo: a prevenção reduz a entrada no momento em que o código é criado, a eliminação ocorre sem exigir uma decisão humana para cada descoberta e a correção adequada pode ser confiável sem que alguém leia cada diff. Com essas três condições estabelecidas, sua equipe consegue reduzir o risco, eliminando mais itens do que os que entram. O registro começa a diminuir pela primeira vez desde que foi criado.

A partir daí, o trabalho muda, porque deixa de estar na fila e passa a ser o próprio programa.

AGENDE UMA DEMONSTRAÇÃO AO VIVO

Adote IA com segurança em larga escala

A Evo ajuda as organizações a adotar e expandir o uso da IA com segurança, oferecendo visibilidade, governança e proteção para o desenvolvimento impulsionado por IA e as aplicações de IA.

Leia mais

Blog

Modelos de ponta encontraram as vulnerabilidades. Só o atacante encontrou as cadeias.

A análise estática encontrou as falhas, mas só os testes de ataque em aplicações ativas provaram como elas poderiam ser encadeadas para causar invasões. Uma comparação entre Evo COS, Claude Security e Claude Code Security.

feature insights context
Blog

Os ataques autônomos já chegaram. A defesa precisa acompanhar o ritmo.

Os atacantes autônomos estão reduzindo o tempo disponível para a defesa. Saiba como a descoberta, a correção, a validação e a prevenção contínuas ajudam as equipes de segurança a acompanhar esse ritmo.

Blog

Por que agentes de programação com IA continuam criando falhas de controle de acesso

Agentes de programação com IA podem gerar uma lógica de autorização que compila e passa pela revisão, mas permite que um tenant acesse os dados de outro. Saiba por que é difícil detectar falhas de controle de acesso e como evitá-las.