Aikido

A lista de verificação prática para a defesa contra ataques à Supply chain

Escrito por
Nicholas Thomson

ataques à Supply chain em alta. As deteções de malware de código aberto aumentaram 73% em 2025. No último ano, os pacotes «debug» e «chalk» foram alvo de backdoors, a ação «tj-actions» no GitHub foi comprometida e introduziu código malicioso em milhares de pipelines, e a conta do mantenedor do «axios» foi sequestrada e utilizada para distribuir um RAT. Lançamentos maliciosos afetaram também o Zapier, os domínios ENS, o PostHog e a CLI do Bitwarden.

Cada um destes ataques poderia ter sido evitado com os controlos que já estavam disponíveis na altura. As técnicas dos atacantes funcionaram porque a maioria das equipas não estava a utilizar as defesas adequadas na camada de instalação, nos seus pipelines ou nos computadores dos programadores. 

Esta lista de verificação explica como funcionam essas defesas. Para as equipas de engenharia que pretendem antecipar-se aos ataques à Supply chain, isto é para vocês.

TL;DR

A lista de verificação de segurança da cadeia de abastecimento é um conjunto prático e hierarquizado de tarefas destinadas a reforçar a segurança da sua pilha contra a atual geração de ataques à Supply chain, classificados como críticos, elevados ou médios, para que saiba onde se deve concentrar em primeiro lugar. Abrange a gestão de dependências, os controlos de acesso e identidade, o reforço de container de CI/CD, container , o bloqueio do ambiente de desenvolvimento, a sua cadeia de ferramentas baseada em agentes, bem como a monitorização e a resposta.

O que contém

A lista de verificação segue as mesmas superfícies de ataque que os incidentes acima exploraram. Cada item identifica o tipo de ataque contra o qual se defende, aponta para uma alteração de configuração ou ferramenta concreta e mantém-se fiel ao que um engenheiro em funções tem efetivamente autoridade para alterar. Embora se destine a equipas de engenharia, os responsáveis pela segurança, os engenheiros de plataforma e qualquer pessoa responsável por uma parte do SDLC encontrarão secções diretamente relevantes para o que lançam.

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

Aplicar uma política relativa à idade dos pacotes antes de qualquer instalação

O padrão comum a muitos dos grandes ataques recentes, como o Axios, o Chalk, o Debug e o Mastra, é que as versões maliciosas de pacotes de confiança começaram a ser executadas poucas horas após a sua publicação. São os controlos durante a instalação que proporcionam à vossa equipa o tempo necessário para detetar o problema.

Verificar a data de validade e a integridade dos pacotes antes de instalar qualquer coisa

Associar as dependências do pipeline aos SHA dos commits

As ações de terceiros são código em que o seu pipeline confia por predefinição. Quando as refere por meio de uma etiqueta, essa confiança estende-se a quem quer que controle a etiqueta, e as etiquetas podem ser movidas.

Associar as dependências do pipeline aos SHA dos commits

Tratar os servidores MCP como dependências de terceiros

As ferramentas de agente estão na vanguarda das experiências dos atacantes. Os servidores MCP ocupam um ponto de confiança particularmente elevado na pilha, com amplas permissões e acesso direto aos dados que os agentes tratam em seu nome.

Tratar os servidores MCP como dependências de terceiros

Prevenir a injeção imediata em pipelines baseados em IA

A adição de um agente de IA a um pipeline de CI alarga o âmbito do que é considerado uma entrada de risco. Conteúdo que antes circulava sem problemas por um fluxo de trabalho, como o título de um issue ou a descrição de um PR, torna-se uma instrução executável no momento em que o agente o introduz num prompt. Trata-se de uma área de risco mais vasta do que a que a maioria das equipas teve em conta nos seus modelos.

Prevenir a injeção imediata em pipelines baseados em IA

Registar os registos de auditoria relativos às atualizações do registo, às execuções de CI e à utilização de tokens

Várias violações de segurança ocorridas este ano nem sequer apareceram nos registos de autenticação normais. Os atacantes atuaram a partir de sessões ativas com credenciais válidas, e o único indício significativo provém dos registos de auditoria que registam as ações efetivamente realizadas nessas sessões.

Registar os registos de auditoria relativos a todas as atualizações do registo, execuções de CI e utilização de tokens

Descarregue a ataques à Supply chain

São cinco itens de um total de trinta. A lista de verificação completa aborda a fixação e a aplicação de ficheiros de bloqueio, tokens com âmbito definido e autenticação multifator (MFA) resistente ao phishing, reforço container , controlos de extensões de IDE e plug-ins de navegador, definição do âmbito das permissões dos agentes e manuais de resposta a incidentes para quando algo conseguir passar.

A lista de verificação prática para a defesa contra ataques à Supply chain

Preencha o breve formulário abaixo para descarregar a ataques à Supply chain e comece a analisá-la antes que o próximo pacote apareça no seu gráfico 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.