Explore o conteúdo

O que você procura?

Pesquise por assunto, palavra ou título.

Segurança

GitHub reforça npm e Actions contra ataques à supply chain

GitHub implementa novas proteções no npm e GitHub Actions para bloquear ataques à cadeia de suprimentos. Conheça as técnicas e o que você pode fazer.

Thiago3 min de leitura

Atualizado em 30 de outubro de 2026

⏱ 3 min de leitura
Neste artigo
  1. Evitar o comprometimento inicial
  2. Proteger credenciais
  3. Frear a propagação
  4. Resposta a incidentes
  5. O que o post omite
  6. O que eu faria no meu projeto esta semana

Greg Ose e Zachary Steindler publicaram em 28 de julho, no blog do GitHub, um balanço de como a plataforma está cortando ataques à cadeia de suprimentos no npm e no GitHub Actions. O padrão que eles descrevem: invasores comprometem repositórios de pacotes ou sistemas de CI/CD, roubam credenciais e usam essas credenciais para se espalhar por outros projetos.

Evitar o comprometimento inicial

  • Junho de 2026: contas npm de alto impacto entram em modo somente leitura por 72 horas;
  • junho de 2026: padrões mais seguros no checkout do Actions, para não executar código não confiável de forks;
  • junho de 2026: políticas de execução de workflows, para controlar quem os dispara;
  • junho de 2026: restrições no cache do Actions, limitando a alteração por workflows não confiáveis.

Proteger credenciais

Em abril de 2026 veio o suporte a publicação confiável (trusted publishing) com o CircleCI. Há ainda um firewall de rede para o Actions, que o post lista em preview técnico.

Frear a propagação

  • Maio de 2026: publicação em etapas no npm, com aprovação adicional e 2FA;
  • junho de 2026: o npm v12 desativa scripts de instalação por padrão, uma mudança que pode quebrar projetos que dependem deles;
  • julho de 2026: cooldown de três dias no Dependabot antes de propor novas versões.

Resposta a incidentes

Em março de 2026 foi expandida a API de revogação de credenciais, e em junho veio a revogação de credenciais por autoatendimento.

O que o post omite

Não há números de frequência de ataques, de projetos afetados ou de credenciais comprometidas. A versão antiga deste post falava em detecção automática de padrões suspeitos e em verificações de proveniência, e nada disso aparece nesse texto. Se você mantém pacotes ou pipelines, o ponto prático é a lista de datas: vale conferir se o seu fluxo usa scripts de instalação e se precisa se preparar para o npm v12.

O que eu faria no meu projeto esta semana

Lista de novidades de segurança é fácil de ler e esquecer. Por isso eu transformo esse tipo de post em três tarefas pequenas, que cabem numa tarde.

A primeira é descobrir se algum pacote do projeto depende de script de instalação. Se o npm v12 desativa esses scripts por padrão, é melhor saber agora quais dependências vão quebrar do que descobrir no dia em que o CI ficar vermelho. A segunda é revisar os workflows do Actions que rodam em pull requests de forks: qualquer etapa que faz checkout do código do PR e executa algo com acesso a segredos merece atenção. A terceira é trocar tokens de publicação de longa duração por publicação confiável, quando o registro e o CI que você usa suportarem.

Nenhuma dessas tarefas exige ferramenta nova. Exige alguém parar para olhar. Em time pequeno, eu colocaria isso como item fixo de uma revisão mensal, junto com a atualização de dependências. Ataque de supply chain explora exatamente o que ninguém está olhando.

Leia também: Supply chain é só uma parte do problema. Se você precisa formalizar regras de IA e de dados na empresa, veja como implementar governança de IA e segurança de dados.

Supply chain também entra pela porta do assistente de código: pacote sugerido que não existe, versão sem pin, script de instalação copiado sem ler. Juntei o que eu verifico nesses casos no checklist de segurança antes de colar código do ChatGPT em produção.

Compartilhe conhecimento

Este conteúdo foi útil para você?

Envie para alguém que também pode aproveitar.

Conteúdo recomendado

Continue explorando

A conversa continua

Comentários encerrados.