Guias de Segurança

Automatizar o monitoramento de vulnerabilidades para a sua própria stack: cruzar com os componentes que você realmente usa

Monitore só o que afeta você: SBOM de lockfiles e pacotes do SO, KEV e EPSS para priorizar e IA que só eleva a urgência.

Publicado 2026-11-01 Atualizado 2026-11-01 Última verificação 2026-11-01 9 min de leitura
Nesta página

Para: quem administra os próprios sites ou serviços e quer receber informações sobre vulnerabilidades sem precisar acompanhar feeds manualmente. Este artigo aborda o que coletar, com o que cruzar e até que ponto confiar na IA.

O que aconteceu: uma pessoa soube primeiro, três vezes seguidas

Em uma única semana, em sites que o operador deste site administra, três situações ocorreram. Em todos os casos, o operador soube primeiro, por meio de redes sociais ou e-mail, e o monitoramento automatizado não tinha reportado nada até aquele momento.

  1. Caso 1

    Uma vulnerabilidade em PHP. O operador soube primeiro. O monitoramento automatizado não a havia sinalizado.
  2. Caso 2

    Código malicioso inserido em um pacote Python. O operador soube primeiro. O monitoramento automatizado não o havia sinalizado.
  3. Caso 3

    Um problema em uma imagem base de contêiner. O operador soube primeiro. O monitoramento automatizado não o havia sinalizado.

A primeira suspeita foi de "poucas fontes". Não houve uma causa única: as fontes oficiais podem ficar atrás do que está em alta (veja mais abaixo), e também faltou material para decidir se um item dizia respeito à nossa configuração. Termos como "PHP" ou "Python" aparecem em textos de notícias, mas isso é diferente dos nomes dos pacotes que você efetivamente executa.

O monitoramento reconstruído

1. Coletar

Avisos oficiais / avisos do GitHub / listas de pacotes maliciosos / KEV / notícias / redes sociais

↓

Lista A: termos de tecnologia que usamos

Rede ampla

Lista B: nomes reais dos componentes

Gerada a partir de lockfiles e pacotes do sistema operacional

↓

2. Regras capturam as correspondências (funcionam sem IA)

↓

3. Um modelo de IA barato faz a triagem inicial

Pode elevar a urgência. Não pode reduzi-la.

Coletar, cruzar com duas listas, capturar com regras e, em seguida, IA que só pode elevar a urgência. O caminho das regras continua funcionando nos dias em que a IA está indisponível.
  • O que coleta: avisos oficiais, avisos do GitHub, listas de pacotes maliciosos, KEV da CISA, notícias e redes sociais.
  • Duas listas para cruzar: termos de tecnologia para uma rede ampla, e nomes reais dos componentes para correspondências de alta confiança. A lista de componentes é montada a partir dos lockfiles de todos os repositórios, somados aos pacotes do sistema operacional.
  • Varredura da imagem inteira: verifica a imagem completa, incluindo a imagem base, e não apenas as dependências da aplicação.
  • Defasagem de runtime: mede o quanto runtimes como Node, PHP e o banco de dados estão atrasados em relação às suas versões mais recentes.
  • Primeira triagem por IA: um modelo de IA barato faz a primeira avaliação de "isto nos afeta?". A IA só pode elevar a urgência.

O que as medições mostraram, incluindo o que contrariou as expectativas

Premissa inicial: fontes oficiais bastam

Partimos do princípio de que acompanhar os avisos oficiais e o KEV captaria o que importa. Na prática, um assunto pode entrar em destaque antes de o aviso oficial ser publicado. As fontes oficiais, sozinhas, perdem essa corrida.

Após medir: adicionar redes sociais como ponto de entrada

Incluir redes sociais permitiu que o monitoramento percebesse coisas mais cedo do que apenas com fontes oficiais. Mas o conteúdo de redes sociais não é tratado como fato até que uma fonte oficial o confirme. Amplo na entrada, cuidadoso na decisão.

Cerca de 100
vulnerabilidades críticas coletadas em 10 dias por um monitoramento separado de candidatos a artigos
0
das que afetaram os sites do operador e não foram captadas por este monitoramento
Cerca de 6 dias
tempo em que a triagem por IA ficou pausada após a cota de IA se esgotar (a correspondência por regras continuou)
  1. Verificação de falhas: cerca de 100 vulnerabilidades críticas reunidas em 10 dias por um monitoramento separado (criado para encontrar candidatos a artigos) foram cruzadas com este monitoramento. Falhas entre as que afetaram os sites do operador: 0.
  2. Cota de IA esgotada: a cota mensal se esgotou e a triagem por IA ficou pausada por cerca de 6 dias. A correspondência por regras, que não usa IA, continuou funcionando o tempo todo. O projeto define uma data de fim da pausa com antecedência, e a parte de IA é retomada automaticamente a partir dessa data.
  3. Lacuna em um novo servidor: os pacotes do sistema operacional de um servidor recém-adicionado não estavam na lista de componentes. A reconstrução mensal da lista identificou o problema. Uma lista só é confiável se for regenerada regularmente, e não apenas criada uma vez.

Como montar isso no seu próprio ambiente

1

Gere a lista de componentes (SBOM) de forma mecânica

Monte-a a partir dos lockfiles de todos os repositórios e dos pacotes do sistema operacional dos seus servidores e contêineres. A CISA descreve um SBOM como um inventário aninhado, uma lista dos ingredientes que compõem os componentes de software. Geradores de SBOM como o Syft, de código aberto, leem pacotes do sistema operacional e as dependências das principais linguagens a partir de imagens de contêiner e sistemas de arquivos, e podem gerar saída em CycloneDX ou SPDX.

2

Cruze a lista com vulnerabilidades conhecidas

Para o cruzamento de dependências, o osv-scanner, de código aberto, lê lockfiles e contêineres. A configuração e a integração com CI estão descritas em osv-scanner: configuração e uso.

3

Priorize com KEV e EPSS

Quando há muitos achados, não é possível corrigi-los todos com a mesma urgência. Comece pelo que está confirmadamente sendo explorado (KEV) e pelo que tem alta probabilidade prevista de exploração (EPSS). Como combiná-los está em CVSS, EPSS e KEV: como usá-los em conjunto.

4

Se usar IA, use-a apenas para elevar

Mesmo que a IA diga "não afetado", não remova um item que uma regra captou. A IA pode dizer incorretamente "não relacionado", e o custo de um falso negativo é maior que o custo de um falso alarme.

5

Defina o que acontece quando a IA estiver indisponível

Cotas se esgotam, serviços falham e provedores deixam de funcionar. Antes de operar, defina que as regras sem IA, sozinhas, ainda enviam um conjunto mínimo de notificações, e configure uma data de retomada para que a parte de IA volte automaticamente.

6

Regenere a lista regularmente

As lacunas surgem quando um servidor ou repositório é adicionado, mas a lista não é atualizada. Reconstrua-a pelo menos uma vez por mês e confira se o que você adicionou está nela.

Não trate redes sociais como fato até que uma fonte oficial confirme

As redes sociais são rápidas, mas misturam erros e especulações que o fornecedor não confirmou. Use-as como ponto de entrada, mas baseie sua resposta em fontes primárias verificáveis, como o aviso do fornecedor ou o KEV.

Visão deste site: rede ampla nos termos de tecnologia, estreitada pelos nomes dos componentes

Na experiência do operador, a mudança para o cruzamento com os nomes reais dos componentes reduziu tanto os falsos positivos quanto as falhas. Mas, se a lista de componentes estiver desatualizada, isso leva diretamente a falhas. Você precisa das duas coisas: uma rede ampla e uma lista precisa para estreitá-la. Este artigo descreve o monitoramento construído para os sites operados pelo operador.

Fontes (primárias e oficiais)

Leia em seguida

FAQ

QDe quais fontes um monitoramento automatizado de vulnerabilidades deve coletar informações?
A

Comece com os avisos oficiais dos fornecedores, o catálogo KEV da CISA, bases de avisos dos ecossistemas de pacotes e listas de pacotes maliciosos. As fontes oficiais, porém, podem demorar em relação ao que está em alta. O monitoramento construído para os sites que o operador deste site administra perdeu a corrida entre um assunto ganhar destaque e a publicação do aviso oficial; por isso, as redes sociais foram adicionadas como ponto de entrada complementar. Qualquer conteúdo vindo de redes sociais não é tratado como fato até que uma fonte oficial o confirme.

QComo monto a lista dos componentes que uso (um SBOM)?
A

Monte-a a partir dos lockfiles de todos os repositórios (package-lock.json, pnpm-lock.yaml e assim por diante) e dos pacotes do sistema operacional dos seus servidores e contêineres. As dependências de aplicação, sozinhas, deixam de fora a camada do sistema operacional e da imagem base. Geradores de SBOM como o Syft, de código aberto, leem pacotes do sistema operacional e as dependências das principais linguagens a partir de imagens de contêiner e sistemas de arquivos, e podem gerar saída em CycloneDX ou SPDX.

QÉ seguro deixar a IA decidir se um item nos afeta?
A

É, se você restringir a direção. Na configuração do operador, a IA só pode elevar a urgência; ela nunca reduz um item que uma regra já captou. A IA pode dizer incorretamente que o item 'não afeta', e o custo de um falso negativo é maior que o custo de um falso alarme.

QO que acontece com o monitoramento nos dias em que a cota de IA se esgota?
A

Ele deve continuar funcionando. No monitoramento do operador, a cota mensal de IA se esgotou e a triagem por IA ficou pausada por cerca de 6 dias, enquanto a correspondência baseada em regras, sem IA, continuou funcionando o tempo todo. Se você definir uma data de retomada com antecedência, a parte de IA volta automaticamente nessa data.