Ferramentas de segurança da cadeia de suprimentos de software e as lacunas que elas deixam passar

Os patches do php2shell (CVE-2026-109618 e CVE-2026-109619) para o PHP em fim de vida (EOL) já estão disponíveis. Como as respostas do atendimento de vendas estão mais demoradas do que o normal devido à alta demanda, a maneira mais rápida de obter os pacotes corrigidos é adquirir o ELS para Runtimes on-line (abre em uma nova aba). Leia as perguntas frequentes sobre os patches

Vá direto para um resumo gerado por IA desta postagem do blog

  • Resuma esta postagem com o Perplexity
  • Resuma esta postagem com o Gemini

Principais conclusões

  • A maioria das ferramentas de segurança da cadeia de suprimentos de software informa o que já foi incluído na sua compilação, e muito menos delas impedem que isso aconteça desde o início.
  • A marca abrange cinco funções genuinamente diferentes, e os compradores costumam compará-las como se elas tivessem a mesma finalidade.
  • A diferença entre eles está no que acontece durante a instalação, e não no que aparece no painel de controle depois.
  • Dois números de um teste em ambiente de teste permitem selecionar os candidatos mais promissores mais rapidamente do que qualquer matriz de recursos que um fornecedor possa lhe apresentar.

A segurança da cadeia de suprimentos de software subiu rapidamente na lista de prioridades das equipes de segurança neste ano, e a lista de candidatos em potencial não para de crescer. Basta participar de três reuniões com fornecedores em uma semana para que as demonstrações comecem a se confundir. Vários fornecedores, vários painéis, todos apontando dependências vulneráveis no mesmo repositório de amostras bem organizado, e nenhuma maneira concreta de saber qual deles teria impedido qualquer uma das campanhas deste ano.

Isso não é um problema de compreensão do comprador. É um problema da categoria. Essas ferramentas desempenham funções fundamentalmente diferentes, embora utilizem uma linguagem de marketing quase idêntica, e a diferença só fica evidente quando alguém faz uma pergunta muito específica sobre o prazo.

Por que essa categoria de repente chamou a atenção de todo mundo

A cobertura dos analistas acompanha os gastos, e os gastos acompanham incidentes como esses. Com uma semana de diferença, no final de março de 2026, um pacote npm amplamente utilizado foi sequestrado para instalar discretamente um trojan de acesso remoto em qualquer compilação nova durante um intervalo de três horas, e um pacote PyPI amplamente utilizado foi transformado em arma para roubar credenciais no momento em que o Python fosse iniciado novamente – sem que fosse necessária nenhuma ação do usuário em nenhum dos dois casos. Ambos os ataques foram projetados para serem executados antes que a verificação pós-resolução pudesse fazer algo útil: um durante a instalação, o outro na próxima vez que o interpretador fosse executado.

Essa é a lacuna que a maioria das ferramentas de segurança da cadeia de suprimentos de software não consegue preencher, e é também por isso que é tão difícil escolher um produto nessa categoria. Os fornecedores oferecem soluções com pontos de controle extremamente diferentes — alguns fazem a verificação após a instalação e outros bloqueiam antes dela —, embora utilizem uma linguagem quase idêntica para descrever o que fazem.

Análise da realidade: O fato de um fornecedor alegar pertencer a essa categoria não significa que seu produto resolva o mesmo problema que o do fornecedor ao lado. Pergunte exatamente qual ponto de controle o produto deles abrange antes de presumir que haja sobreposição.

O que as ferramentas de segurança da cadeia de suprimentos de software realmente fazem

Cinco funções distintas são comercializadas sob essa marca. Poucos produtos abrangem todas as cinco, e a maioria das equipes acaba combinando várias delas.

Função Pergunta à qual responde Quando estiver em execução
Análise da composição de software Quais componentes com vulnerabilidades conhecidas estão presentes nesta versão? Após a resolução das dependências
Geração e gerenciamento de SBOM O que exatamente foi enviado e para quem? Na compilação ou na publicação
Proveniência e certificação Esse artefato foi produzido pela versão alegada? Na publicação e verificação
Verificação durante a instalação Será que esse pacote deveria ser permitido para ser resolvido? Antes e durante a instalação
Manutenção de pacotes após o fim do ciclo de vida (EOL) Quem vai aplicar essa correção quando o upstream parar? De forma contínua, após o EOL a montante

A análise de composição, as SBOMs e a proveniência são as funções mais maduras e bem compreendidas, e muitas organizações já dispõem de ferramentas que abrangem pelo menos algumas delas. A triagem no momento da instalação é onde os ataques de 2026 realmente ocorreram, e é a função que a maioria das listas de seleção nunca se preocupa em avaliar diretamente.

Manutenção pós-EOL é aquela em que ninguém pensa até que uma auditoria identifique uma dependência cujo mantenedor deixou de dar notícias em 2021.

A diferença entre detecção e prevenção

Comece pela função que praticamente todas as equipes já possuem, já que é também o ponto mais claro para perceber onde termina a detecção e começa a prevenção. A análise de composição de software compara sua lista de dependências resolvidas com bancos de dados de alertas. Ela é realmente eficaz nessa tarefa e vale a pena tê-la, independentemente de quais outros recursos você adquira.

O problema é que a detecção de vulnerabilidades baseada em alertas só funciona depois que o componente malicioso já foi identificado e essa informação chegou à sua ferramenta. E ela só chega à sua ferramenta depois que alguém encontra o pacote malicioso, o relata e faz com que seja publicado em um feed. Nas campanhas deste ano, a detecção costumava ser rápida, e o fluxo de alertas ainda ficava para trás. No caso de comprometimento do TanStack no npm de 11 de maio de 2026, o scanner da Socket sinalizou os artefatos maliciosos em seis minutos da publicação, e a vulnerabilidade foi relatada publicamente de 20 a 26 minutos após a primeira publicação maliciosa – por um pesquisador externo, não pelas próprias ferramentas do projeto afetado. Seis minutos é rápido para uma detecção. Ainda assim, são seis minutos em que um pacote malicioso permanece ativo no registro, podendo ser resolvido por qualquer compilação, e um tempo consideravelmente mais longo até que a maioria das ferramentas tivesse algo com que comparar.

Agora pense onde o código malicioso é realmente executado. Um script “postinstall” do npm é executado durante o comando “npm install”, e isso não é mera teoria. Em 31 de março de 2026, o pacote Axios, amplamente utilizado, foi comprometido quando invasores usaram uma conta de mantenedor sequestrada para publicar duas versões maliciosas, cada uma incluindo discretamente uma dependência contaminada, o `plain-crypto-js`, cujo script `postinstall` atuava como um dropper de trojan de acesso remoto multiplataforma, baixando cargas úteis específicas para cada plataforma a partir de um servidor de comando e controle ativo. Qualquer pessoa que tivesse feito uma instalação nova durante esse período incorporou o RAT diretamente em sua compilação, sem a necessidade de nenhuma instrução `import`.

Um pacote do PyPI que se aproveita dos ganchos de inicialização .pth é executado na próxima vez que o interpretador for iniciado, e o caso do LiteLLM é o exemplo mais claro disso. Em 24 de março de 2026, descobriu-se que duas versões do pacote Python litellm no PyPI continham código malicioso, depois que uma versão comprometida do scanner de segurança Trivy — já em uso no pipeline de CI/CD do LiteLLM — expôs as credenciais de publicação do projeto no PyPI. Ambas as versões carregavam uma carga maliciosa, e a segunda foi além, instalando um arquivo .pth que era executado automaticamente a cada inicialização do interpretador Python e acionava uma carga maliciosa para roubo de credenciais sem exigir nenhuma importação explícita.

Um crate do Rust com um arquivo `build.rs` malicioso é executado durante a compilação — a mesma falha de projeto, só que em um ecossistema diferente. Em cada caso, o código malicioso é executado antes de qualquer lógica do aplicativo: durante a instalação, durante a compilação ou automaticamente na próxima vez que o ambiente de execução for iniciado.

Para um scanner que se preocupa apenas com a resolução ou a instalação, não há um intervalo útil entre o momento em que a dependência chega e o momento em que ela é executada. A varredura em si não é lenta. Ela simplesmente ocorre no momento errado do evento.

Atenção: Se uma demonstração de um fornecedor mostrar o pacote malicioso aparecendo em uma lista de resultados, o que você acabou de ver foi detecção, não prevenção. Peça para que eles repitam o mesmo teste com o tráfego de saída da rede monitorado e mostrem se a carga útil enviou dados para o servidor de origem antes mesmo que esse resultado fosse exibido.

A verificação no momento da resolução é um dos poucos controles que ocorre antes da execução na hora da instalação, e essa é a premissa de projeto por trás do SecureChain para OSS. Os pacotes são recompilados a partir de fontes verificadas com proveniência SLSA Nível 3, assinados e publicados em um único registro para o qual você direciona seu gerenciador de pacotes ou gerenciador de repositório existente; assim, a verificação já terá ocorrido no momento em que um agente de compilação solicitar o pacote.

A proveniência, por si só, não resolve essa lacuna. As versões maliciosas do TanStack foram publicadas pelo próprio pipeline de lançamento do projeto sob sua identidade confiável e constituem o primeiro caso documentado de pacotes npm maliciosos que apresentam proveniência SLSA válida. A proveniência comprova onde um artefato foi compilado. Ela não diz nada sobre se o que foi incluído nessa compilação foi verificado; é por isso que a recompilação a partir de código-fonte verificado é um controle distinto, e não o mesmo.

Comparando o Snyk, o Socket e a análise em nível de registro

Quatro abordagens arquitetônicas dominam as listas de finalistas atuais entre os fornecedores de segurança da cadeia de suprimentos. Os produtos individuais variam bastante; portanto, considere isso como uma orientação em nível de categoria, e não como uma análise detalhada de cada recurso. Uma comparação apenas entre ferramentas de SCA não revelará a diferença, já que a verdadeira distinção está nos pontos de controle, e não em uma lista de verificação de recursos.

Abordagem Ponto de controle Interrompe a execução durante a instalação Comprador típico
Scanners SCA Pipeline de CI, pós-resolução Não Equipes de segurança de aplicativos com pontos de verificação de CI já existentes
Análise comportamental de pacotes Análise de PR, fase pré-fusão e (para alguns fornecedores) tempo de instalação Sim, nos casos em que há uma firewall implementada no momento da instalação; a análise de PR por si só não é suficiente Programas de segurança liderados por desenvolvedores
Firewalls de repositório Proxy de artefato, baseado em política Pode bloquear antes do download; depende da cobertura da detecção e da política Empresas que já utilizam o Nexus ou o Artifactory
Registros selecionados e reconstruídos A própria resolução do pacote Sim Equipes que substituem totalmente a confiança no registro público

O Snyk segue principalmente a abordagem do SCA-scanner. O Socket combina a análise comportamental de pacotes com o bloqueio na hora da instalação por meio do Socket Firewall, que atua como proxy para o tráfego do gerenciador de pacotes e bloqueia pacotes confirmadamente maliciosos antes que sejam baixados. O Nexus Firewall e o JFrog Curation seguem a abordagem do firewall de repositório. Registros com curadoria e recompilados representam um campo mais restrito, pois a recompilação de pacotes a partir do código-fonte em escala de registro exige um modelo de engenharia substancialmente diferente da triagem baseada em políticas. É a abordagem SecureChain para OSS é construída em torno disso: pacotes recompilados a partir do código-fonte, corrigidos mesmo após o upstream deixar de fornecer atualizações, e seis ecossistemas: JavaScript, Python, Java, Go, Rust e PHP – cobertos por um único registro.

Nenhuma dessas quatro abordagens aborda em profundidade o que acontece quando o próprio mantenedor de um pacote deixa de estar disponível. Trata-se de uma disciplina à parte, que se sobrepõe a qualquer abordagem que você escolher (mais detalhes a seguir).

E nenhuma das quatro abordagens é, por si só, a resposta errada. O erro está em comprar dois produtos da mesma abordagem e presumir que você já cobriu toda a categoria.

Dica profissional: Pergunte a cada fornecedor em qual abordagem ele acredita estar. Aqueles que respondem imediatamente e apontam suas próprias lacunas são os que merecem uma segunda reunião. Verifique qualquer alegação de cobertura completa em relação às quatro abordagens, em vez de aceitá-la sem questionar.

Um quadro de avaliação que você pode implementar em duas semanas

As demonstrações dos fornecedores são executadas em repositórios de amostra limpos, o que basicamente não diz nada. Em vez disso, execute isto.

Primeira semana: crie o conjunto de teste. Escolha três campanhas reais de 2026 que atinjam ecossistemas que você realmente usa. Essas três abrangem quatro ecossistemas e três mecanismos distintos.

  • A violação de segurança da Axios no npm: 31 de março de 2026, uma conta de mantenedor invadida publicou um dropper de RAT pós-instalação.
  • A vulnerabilidade do LiteLLM no PyPI: 24 de março de 2026, um arquivo .pth malicioso que é executado na inicialização do interpretador.
  • PolinRider no npm, Go, Packagist e extensões do Chrome: uma campanha ativa ligada à Coreia do Norte que utiliza carregadores de malware ocultos, incorporados em arquivos de pacotes, para estabelecer um sistema de comando e controle e instalar cargas úteis destinadas a roubar credenciais.

Segunda semana: avalie dois números. Versões conhecidas como maliciosas geralmente são removidas ou colocadas em quarentena logo após a divulgação; portanto, você não conseguirá instalar hoje as cargas úteis exatas do Axios ou do LiteLLM do seu conjunto de testes. Pergunte a cada fornecedor se ele pode fornecer um artefato de reprodução segura — ou crie seu próprio “canário”: um pacote inofensivo com um script pós-instalação que se comunica com um servidor sob seu controle. Em um ambiente de sandbox, instale-o e registre o tempo até o bloqueio e o tempo até o alerta. Esses dois números diferenciam as quatro abordagens acima mais rapidamente do que qualquer matriz de recursos que um fornecedor possa lhe apresentar.

A partir daí, a decisão geralmente fica bem clara.

  • Sem nenhum bloqueio e o tempo de alerta é inferior a um minuto? Você está diante de uma ferramenta de detecção. Fique com ela, mas não a confunda com seu controle de tempo de instalação.
  • O pacote é bloqueado antes de poder ser baixado ou executado, mas não há nenhum alerta útil? Isso é um controle preventivo, e você precisará incorporar a observabilidade para a resposta a incidentes.
  • Ambos os números parecem satisfatórios? Verifique se o bloqueio depende de um feed de alertas. Se depender, sua janela de proteção será tão eficaz quanto a latência desse feed.
  • O fornecedor se recusa a realizar o teste em ambiente de sandbox? Essa recusa já é, por si só, a resposta.

Uma observação prática sobre o escopo. Para equipes que administram quatro ou mais ecossistemas de pacotes, as lacunas de cobertura podem ser tão importantes quanto a profundidade em qualquer um desses ecossistemas, e a PolinRider é a campanha que ilustra isso diretamente. De acordo com a análise da Socket de 1º de julho de 2026, agentes norte-coreanos ligados ao cluster Contagious Interview haviam publicado 162 artefatos maliciosos em 108 pacotes e extensões de navegador, abrangendo npm, módulos Go, Packagist e a Chrome Web Store, com vestígios de comprometimento em 80 módulos Go. A campanha continua ativa, e esses números cresceram desde então. Os pacotes comprometidos incluíam pacotes PHP publicados sob o namespace “sevenspan” no Packagist. Uma equipe que dependesse de controles no nível do pacote, que cobrissem o npm, mas não o Go, não teria tido proteção equivalente para esses 80 módulos Go.

Perguntas a fazer a todos os fornecedores da lista de finalistas

Seis perguntas, mais ou menos na ordem do quanto elas revelam.

  1. O que acontece durante o comando `npm install` ou `pip install`, mais especificamente, antes de qualquer verificação ser executada?
  2. Vocês examinam as embalagens antes da resolução ou as analisam depois?
  3. Quais ecossistemas vocês já oferecem nativamente e quais ainda estão no plano de desenvolvimento?
  4. Você recompila os pacotes a partir do código-fonte ou verifica o artefato publicado pelo desenvolvedor original?
  5. Qual é a latência mediana entre o momento em que um pacote malicioso aparece no upstream e o momento em que seu produto realmente o bloqueia?
  6. Quando um mantenedor upstream abandona um pacote do qual dependemos, o que o seu produto faz?

A quarta questão é mais importante do que sua posição na lista sugere. A análise de um artefato publicado pode detectar código malicioso em seu interior, mas não consegue comprovar que o artefato corresponda à fonte a partir da qual alega ter sido construído, pois o analisador só tem acesso ao próprio artefato. A reconstrução a partir de uma fonte verificada e com proveniência confiável é o que preenche essa lacuna específica, e trata-se de um compromisso real de engenharia, não de um simples item a ser marcado em uma lista.

A pergunta número seis é aquela que ninguém faz durante uma avaliação, mas que todos fazem dezoito meses depois. Continuar a corrigir pacotes dos quais o desenvolvedor original já desistiu é uma disciplina distinta da triagem de novas instalações, e muito poucos produtos tratam ambas as questões como se fossem o mesmo problema.

A maioria das dependências em um projeto típico é transitivas, e não diretas, trazidas indiretamente pelos pacotes que você realmente escolheu. Isso representa a maior parte do gráfico de dependências, o que significa que sua avaliação precisa testar o que cada ferramenta faz em várias camadas mais abaixo, e não apenas no topo do seu manifesto.

Seus resultados dependerão muito da estrutura da sua pilha de tecnologia. Uma empresa que trabalha com uma única linguagem de programação e possui uma infraestrutura de integração contínua (CI) bem definida é uma situação genuinamente diferente de uma organização poliglota que administra quarenta repositórios sem uma equipe central de plataforma, e qualquer fornecedor que dê a mesma recomendação para ambas as situações não fez perguntas suficientes a você.

O que isso significa para você

Nada disso tem a ver com escolher um vencedor entre o Snyk, o Socket e os que defendem o registro como firewall. Trata-se de saber em qual abordagem você está apostando e de ser honesto consigo mesmo sobre qual delas está deixando de lado.

Muitas organizações já contam com alguma cobertura das funções mais consolidadas. Análise de composição, ferramentas de SBOM e a proveniência já são bem compreendidas, e o que você já possui nessas áreas não é desperdiçado. O controle que vale a pena verificar explicitamente é a triagem no momento da instalação, ou seja, se algo em sua pilha de tecnologias pode impedir que um pacote de risco seja executado antes que seu código seja executado. Essa é a lacuna pela qual as campanhas de 2026 passaram sem dificuldade, e nenhum painel repleto de resultados irá preenchê-la, por melhores que sejam esses resultados.

Realize o teste de duas semanas. Se ele identificar uma falha real durante a instalação, esse será o ponto de controle que vale a pena financiar em seguida. SecureChain para OSS analisa pacotes antes que eles sejam resolvidos em JavaScript, Python, Java, Go, Rust e PHP, e mantém a manutenção de segurança após o término do suporte do upstream. A primeira parte disso é a cobertura na hora da instalação, que a maioria das listas de seleção ignora.

Saiba mais sobre o SecureChain → 

Perguntas frequentes

O que são ferramentas de segurança da cadeia de suprimentos de software?

Produtos que reduzem os riscos introduzidos por códigos de terceiros nas etapas de desenvolvimento, compilação, distribuição e produção. A categoria abrange a análise da composição de software, o gerenciamento de SBOM, a verificação de proveniência, a triagem no momento da instalação e a manutenção de pacotes após o fim da vida útil (EOL) — cinco tarefas diferentes que geralmente são comercializadas sob um único nome.

O SCA é o mesmo que segurança da cadeia de suprimentos de software?

Não (e é aí que a maioria das comparações entre ferramentas de SCA dá errado). A análise de composição de software é apenas uma das funções dessa categoria. Ela sinaliza componentes com vulnerabilidades conhecidas no gráfico de dependências resolvido e, por si só, isso não constitui um controle no momento da instalação contra um pacote que tenha se tornado malicioso.

Devemos escolher o Snyk ou o Socket?

Para fins de comparação, o Snyk Open Source representa a abordagem de análise de composição orientada por recomendações, enquanto o Socket combina a análise comportamental de pacotes no momento da solicitação de pull com o bloqueio na hora da instalação por meio do Socket Firewall. As equipes que estiverem avaliando qualquer uma dessas opções devem confirmar exatamente qual camada (revisão de PR, momento da instalação ou ambas) se aplica à sua pilha de tecnologia antes de presumir a cobertura.

O que deve constar em uma lista de verificação para avaliação da segurança da cadeia de suprimentos de software?

Cobertura do ecossistema, cronograma dos pontos de controle, se os pacotes são recompilados a partir do código-fonte ou apenas verificados como artefatos publicados, latência do feed, profundidade das dependências transitivas e o que acontece quando um mantenedor upstream deixa de cuidar de um pacote.

A classificação de um fornecedor por categoria nos indica qual ferramenta devemos comprar?

Isso indica se um analista ou site de avaliações identificou semelhanças superficiais suficientes para comparar fornecedores com base em critérios comuns. No entanto, não indica qual ponto de controle está faltando na sua própria arquitetura, e essa é, na verdade, a pergunta que você está tentando responder.

Resumo
Ferramentas de segurança da cadeia de suprimentos de software e as lacunas que elas deixam passar
Nome do artigo
Ferramentas de segurança da cadeia de suprimentos de software e as lacunas que elas deixam passar
Descrição
A maioria das ferramentas de segurança da cadeia de suprimentos de software detecta ataques após a instalação. Compare as quatro abordagens e teste as opções selecionadas em duas semanas.
Autor
Nome da editora
TuxCare
Logotipo da editora

Junte-se a mais de 4.500 profissionais de Linux e código aberto!

2 vezes por mês. Sem spam.

Índice
Obtenha as respostas sobre segurança de código aberto de que você precisa

Junte-se a mais de 4.500 profissionais de Linux e código aberto!

2 vezes por mês. Sem spam.