Aikido

O checklist prático para defesa contra ataques à Supply chain

Escrito por
Nicholas Thomson

Os ataques à Supply chain estão em evidência. As detecções de malware de código aberto saltaram 73% em 2025. No ano passado, os pacotes debug e chalk foram comprometidos com backdoors, a GitHub Action tj-actions foi comprometida e inseriu código malicioso em milhares de pipelines, e a conta do mantenedor do axios foi sequestrada e usada para distribuir um RAT. Lançamentos maliciosos também atingiram Zapier, ENS Domains, PostHog e Bitwarden CLI.

Cada um desses ataques era evitável com controles disponíveis na época. As técnicas dos atacantes funcionaram porque a maioria das equipes não estava executando as defesas corretas na camada de instalação, em seus pipelines ou em suas máquinas de desenvolvimento. 

Esta checklist detalha como são essas defesas. Para as equipes de engenharia que desejam se antecipar aos ataques à Supply chain, isto é para vocês.

TL;DR

A checklist de segurança da Supply chain é um conjunto prático e priorizado de tarefas para fortalecer sua stack contra a geração atual de ataques à Supply chain, classificadas como críticas, altas ou médias para que você saiba onde focar primeiro. Ela abrange gerenciamento de dependências, controles de acesso e identidade, fortalecimento de CI/CD, segurança de contêineres, bloqueio de ambiente de desenvolvedor, sua toolchain agentic e monitoramento e resposta.

O que está incluído

A checklist segue as mesmas superfícies de ataque exploradas pelos incidentes acima. Cada item nomeia o ataque contra o qual se defende, aponta para uma mudança de configuração ou ferramenta concreta e se baseia no que um engenheiro em atividade realmente tem autoridade para mudar. Embora seja destinada a equipes de engenharia, líderes de segurança, engenheiros de plataforma e qualquer pessoa que possua parte do SDLC encontrarão seções diretamente relevantes para o que eles entregam.

Destacamos alguns itens abaixo para lhe dar uma ideia do que está dentro.

Aplique uma política de idade de pacotes antes de qualquer instalação

O padrão em muitos dos grandes ataques recentes, como axios, chalk e debug, e Mastra, é que lançamentos maliciosos de pacotes confiáveis começaram a ser executados horas após a publicação. Controles no tempo de instalação são o que dão à sua equipe a janela de atraso para detectá-lo.

Imponha a idade e a integridade do pacote antes de qualquer instalação

Fixe as dependências do pipeline aos commit SHAs

Ações de terceiros são códigos nos quais seu pipeline confia por padrão. Quando você as referencia por tag, essa confiança se estende a quem controla a tag, e as tags podem ser movidas.

Fixe as dependências do pipeline aos commit SHAs

Trate os servidores MCP como dependências de terceiros

A ferramenta agentic está na vanguarda da experimentação de atacantes. Servidores MCP estão em um ponto de alta confiança na stack, com permissões amplas e acesso direto aos dados que os agentes manipulam em seu nome.

Trate os servidores MCP como dependências de terceiros

Proteja-se contra prompt injection em pipelines alimentados por IA

Adicionar um agente de IA a um pipeline de CI expande o que é considerado entrada de risco. Conteúdo que antes fluía inofensivamente por um workflow, como um título de issue ou uma descrição de PR, torna-se uma instrução executável no momento em que um agente o lê em um prompt. Essa é uma superfície maior do que a maioria das equipes modelou.

Proteja-se contra prompt injection em pipelines alimentados por IA

Capture logs de auditoria para pushes de registro, execuções de CI e uso de token

Múltiplos comprometimentos este ano não apareceram nos logs de autenticação padrão. Os atacantes operaram a partir de sessões ativas com credenciais válidas, e o único sinal significativo veio dos logs de auditoria do que essas sessões realmente fizeram.

Capture logs de auditoria para todos os pushes de registro, execuções de CI e uso de token.

Baixe a checklist de ataques à Supply chain

Esses são cinco itens de trinta. A checklist completa aborda fixação e aplicação de lockfile, tokens com escopo e MFA resistente a phishing, hardening de imagens de Container, controles de extensão IDE e plugin de navegador, escopo de permissão de agente e playbooks de resposta a incidentes para quando algo realmente passar.

O Checklist Prático para Defesa Contra Ataques à Supply Chain

Preencha o breve formulário abaixo para baixar a checklist de ataques à Supply chain e comece a trabalhar nela antes que o próximo pacote apareça no seu grafo de dependências.

Compartilhar:

https://www.aikido.dev/blog/supply-chain-attacks-checklist

<script type="application/ld+json">
{
 "@context": "https://schema.org",
 "@graph": [
   {
     "@type": "TechArticle",
     "@id": "https://www.aikido.dev/blog/supply-chain-attacks-checklist#article",
     "headline": "The practical checklist for defending against supply chain attacks",
     "description": "A practical checklist for engineering teams to defend against maintainer takeovers, poisoned actions, and malicious releases. Thirty prioritized practices graded by criticality.",
     "url": "https://www.aikido.dev/blog/supply-chain-attacks-checklist",
     "datePublished": "2026-07-14",
     "dateModified": "2026-07-14",
     "inLanguage": "en-US",
     "mainEntityOfPage": {
       "@type": "WebPage",
       "@id": "https://www.aikido.dev/blog/supply-chain-attacks-checklist"
     },
     "author": {
       "@id": "https://www.aikido.dev/authors/nicholas-thomson#person"
     },
     "publisher": {
       "@id": "https://www.aikido.dev#organization"
     },
     "image": {
       "@type": "ImageObject",
       "url": "https://www.aikido.dev/blog/supply-chain-attacks-checklist/og-image.png",
       "width": 1200,
       "height": 630
     },
     "keywords": [
       "supply chain attacks",
       "software supply chain security",
       "npm supply chain attack",
       "maintainer account takeover",
       "package age policy",
       "commit SHA pinning",
       "GitHub Actions security",
       "CI/CD security",
       "MCP server security",
       "prompt injection",
       "phishing-resistant MFA",
       "FIDO2",
       "audit logging",
       "malicious npm packages",
       "postinstall hooks",
       "dependency confusion",
       "typosquatting",
       "Aikido Intel",
       "Aikido Safe Chain",
       "developer machine security"
     ],
     "about": [
       {"@type": "Thing", "name": "Software Supply Chain Security"},
       {"@type": "Thing", "name": "Open Source Security"},
       {"@type": "Thing", "name": "CI/CD Pipeline Security"},
       {"@type": "Thing", "name": "npm Security"},
       {"@type": "Thing", "name": "Agentic AI Security"}
     ],
     "mentions": [
       {"@type": "SoftwareApplication", "name": "axios", "applicationCategory": "npm package"},
       {"@type": "SoftwareApplication", "name": "chalk", "applicationCategory": "npm package"},
       {"@type": "SoftwareApplication", "name": "debug", "applicationCategory": "npm package"},
       {"@type": "SoftwareApplication", "name": "tj-actions/changed-files", "applicationCategory": "GitHub Action"},
       {"@type": "SoftwareApplication", "name": "Mastra", "applicationCategory": "npm package"},
       {"@type": "SoftwareApplication", "name": "postmark-mcp", "applicationCategory": "MCP server"},
       {"@type": "SoftwareApplication", "name": "Bitwarden CLI", "applicationCategory": "CLI tool"},
       {"@type": "SoftwareApplication", "name": "Aikido Intel", "url": "https://intel.aikido.dev/"},
       {"@type": "SoftwareApplication", "name": "Aikido Safe Chain", "url": "https://www.aikido.dev/protect/safe-chain"},
       {"@type": "SoftwareApplication", "name": "Aikido Device Protection", "url": "https://www.aikido.dev/protect/device-protection"},
       {"@type": "SoftwareApplication", "name": "Aikido Libraries", "url": "https://help.aikido.dev/autofix-and-remediation/aikido-libraries-overview"},
       {"@type": "SoftwareApplication", "name": "Aikido Images", "url": "https://www.aikido.dev/cloud/hardened-images"},
       {"@type": "Thing", "name": "Shai-Hulud campaign"},
       {"@type": "Thing", "name": "PromptPwnd"},
       {"@type": "Thing", "name": "Model Context Protocol (MCP)"},
       {"@type": "Thing", "name": "FIDO2"},
       {"@type": "Thing", "name": "Passkeys"},
       {"@type": "Thing", "name": "OIDC"},
       {"@type": "Thing", "name": "SBOM"},
       {"@type": "Thing", "name": "CVE-2025-30066"}
     ],
     "articleSection": [
       "Dependency management",
       "Access and identity controls",
       "CI/CD hardening",
       "Container security",
       "Developer environments",
       "Agentic toolchain",
       "Monitoring and response"
     ],
     "speakable": {
       "@type": "SpeakableSpecification",
       "cssSelector": ["h1", "h2", ".tldr"]
     },
     "timeRequired": "PT8M",
     "isAccessibleForFree": true,
     "citation": [
       {
         "@type": "CreativeWork",
         "name": "ReversingLabs Software Supply Chain Security Report 2026",
         "url": "https://www.reversinglabs.com/blog/sscs-report-2026-guidance-timeline"
       },
       {
         "@type": "CreativeWork",
         "name": "npm debug and chalk packages compromised",
         "url": "https://www.aikido.dev/blog/npm-debug-and-chalk-packages-compromised"
       },
       {
         "@type": "CreativeWork",
         "name": "tj-actions/changed-files supply chain attack",
         "url": "https://www.aikido.dev/blog/get-the-tl-dr-tj-actions-changed-files-supply-chain-attack"
       },
       {
         "@type": "CreativeWork",
         "name": "axios npm compromised: maintainer hijacked with RAT",
         "url": "https://www.aikido.dev/blog/axios-npm-compromised-maintainer-hijacked-rat"
       },
       {
         "@type": "CreativeWork",
         "name": "Shai-Hulud strikes again: hitting Zapier, ENS Domains, PostHog",
         "url": "https://www.aikido.dev/blog/shai-hulud-strikes-again-hitting-zapier-ensdomains"
       },
       {
         "@type": "CreativeWork",
         "name": "Shai-Hulud npm Bitwarden CLI compromise",
         "url": "https://www.aikido.dev/blog/shai-hulud-npm-bitwarden-cli-compromise"
       }
     ]
   },
   {
     "@type": "WebPage",
     "@id": "https://www.aikido.dev/blog/supply-chain-attacks-checklist",
     "url": "https://www.aikido.dev/blog/supply-chain-attacks-checklist",
     "name": "The practical checklist for defending against supply chain attacks",
     "description": "A practical checklist for engineering teams to defend against maintainer takeovers, poisoned actions, and malicious releases.",
     "inLanguage": "en-US",
     "isPartOf": {
       "@id": "https://www.aikido.dev#website"
     },
     "primaryImageOfPage": {
       "@type": "ImageObject",
       "url": "https://www.aikido.dev/blog/supply-chain-attacks-checklist/og-image.png"
     },
     "breadcrumb": {
       "@id": "https://www.aikido.dev/blog/supply-chain-attacks-checklist#breadcrumb"
     },
     "about": {"@id": "https://www.aikido.dev/blog/supply-chain-attacks-checklist#article"}
   },
   {
     "@type": "BreadcrumbList",
     "@id": "https://www.aikido.dev/blog/supply-chain-attacks-checklist#breadcrumb",
     "itemListElement": [
       {
         "@type": "ListItem",
         "position": 1,
         "name": "Home",
         "item": "https://www.aikido.dev"
       },
       {
         "@type": "ListItem",
         "position": 2,
         "name": "Blog",
         "item": "https://www.aikido.dev/blog"
       },
       {
         "@type": "ListItem",
         "position": 3,
         "name": "Guides & Best Practices",
         "item": "https://www.aikido.dev/category/guides-best-practices"
       },
       {
         "@type": "ListItem",
         "position": 4,
         "name": "The practical checklist for defending against supply chain attacks",
         "item": "https://www.aikido.dev/blog/supply-chain-attacks-checklist"
       }
     ]
   },
   {
     "@type": "ItemList",
     "@id": "https://www.aikido.dev/blog/supply-chain-attacks-checklist#itemlist",
     "name": "Featured checklist items",
     "itemListOrder": "https://schema.org/ItemListOrderAscending",
     "numberOfItems": 5,
     "itemListElement": [
       {
         "@type": "ListItem",
         "position": 1,
         "name": "Enforce a package age policy before anything installs",
         "description": "A 48-hour minimum age policy blocks same-day typosquatting and fast-moving malware campaigns before they reach your developers."
       },
       {
         "@type": "ListItem",
         "position": 2,
         "name": "Pin pipeline dependencies to commit SHAs",
         "description": "Third-party actions are code your pipeline trusts by default. Pin every action to an immutable commit SHA rather than a mutable tag."
       },
       {
         "@type": "ListItem",
         "position": 3,
         "name": "Treat MCP servers as third-party dependencies",
         "description": "MCP servers carry the same supply chain risks as any other dependency. Pin them, verify the publisher, and scope their permissions."
       },
       {
         "@type": "ListItem",
         "position": 4,
         "name": "Guard against prompt injection in AI-powered pipelines",
         "description": "As AI agents gain elevated access to CI pipelines, prompt injection becomes a live attack surface for anyone who can open a PR."
       },
       {
         "@type": "ListItem",
         "position": 5,
         "name": "Capture audit logs for registry pushes, CI runs, and token usage",
         "description": "Audit logs give you the timeline to reconstruct what happened, confirm the blast radius, and decide what to rotate."
       }
     ]
   },
   {
     "@type": "Person",
     "@id": "https://www.aikido.dev/authors/nicholas-thomson#person",
     "name": "Nicholas Thomson",
     "jobTitle": "Senior SEO & Growth Lead",
     "url": "https://www.aikido.dev/authors/nicholas-thomson",
     "worksFor": {
       "@id": "https://www.aikido.dev#organization"
     },
     "sameAs": [
       "https://www.linkedin.com/",
       "https://x.com/"
     ]
   },
   {
     "@type": "Organization",
     "@id": "https://www.aikido.dev#organization",
     "name": "Aikido Security",
     "url": "https://www.aikido.dev",
     "logo": {
       "@type": "ImageObject",
       "url": "https://www.aikido.dev/logo.png"
     },
     "sameAs": [
       "https://www.linkedin.com/company/aikido-security/",
       "https://x.com/AikidoSecurity",
       "https://www.youtube.com/@aikidosecurity"
     ]
   },
   {
     "@type": "WebSite",
     "@id": "https://www.aikido.dev#website",
     "url": "https://www.aikido.dev",
     "name": "Aikido Security",
     "publisher": {
       "@id": "https://www.aikido.dev#organization"
     },
     "inLanguage": "en-US"
   }
 ]
}
</script>

Assine para receber notícias

4.7/5
Cansado de falsos positivos?

Experimente Aikido como 100 mil outros.
Começar Agora
Obtenha um tour personalizado

Confiado por mais de 100 mil equipes

Agende Agora
Escaneie seu aplicativo em busca de IDORs e caminhos de ataque reais

Confiado por mais de 100 mil equipes

Iniciar Escaneamento
Veja como o pentest de IA testa seu aplicativo

Confiado por mais de 100 mil equipes

Iniciar Testes

Fique seguro agora

Proteja seu código, Cloud e runtime em um único sistema centralizado.
Encontre e corrija vulnerabilidades rapidamente de forma automática.

Não é necessário cartão de crédito | Resultados da varredura em 32 segundos.