Lieferkettenangriffe derzeit ein großes Thema. Die Zahl der erkannten Open-Source-Malware-Fälle stieg im Jahr 2025 um 73%. Im vergangenen Jahr wurden die Pakete „debug“ und „chalk“ mit einer Hintertür versehen, die GitHub-Action „tj-actions“ wurde kompromittiert und schleuste Schadcode in Tausende von Pipelines ein, und das Konto des axios-Betreuers wurde gekapert und zur Verbreitung einer RAT missbraucht. Von bösartigen Veröffentlichungen waren zudem Zapier, ENS Domains, PostHog und Bitwarden CLI betroffen.
Jeder einzelne dieser Angriffe hätte mit den damals verfügbaren Sicherheitsmaßnahmen verhindert werden können. Die Techniken der Angreifer waren erfolgreich, weil die meisten Teams weder auf der Installationsebene noch in ihren Pipelines oder auf den Rechnern ihrer Entwickler die richtigen Schutzmaßnahmen eingesetzt hatten.
Diese Checkliste gibt einen Überblick darüber, wie diese Abwehrmaßnahmen aussehen. Für alle Entwicklerteams, die Lieferkettenangriffe zuvorkommen möchten, ist dies genau das Richtige.
TL;DR
Die Checkliste zur Lieferkettensicherheit ist eine praktische, nach Priorität geordnete Auflistung von Maßnahmen zur Absicherung Ihrer Infrastruktur gegen die aktuelle Generation von Lieferkettenangriffe. Die Maßnahmen sind nach den Schweregraden „kritisch“, „hoch“ oder „mittel“ eingestuft, damit Sie wissen, worauf Sie sich zuerst konzentrieren sollten. Sie umfasst die Bereiche Abhängigkeitsmanagement, Zugriffs- und Identitätskontrollen, CI/CD-Absicherung, container , Absicherung der Entwicklerumgebung, Ihre Agent-basierte Toolchain sowie Überwachung und Reaktion.
Inhalt
Die Checkliste orientiert sich an denselben Angriffsflächen, die bei den oben genannten Vorfällen ausgenutzt wurden. Jeder Punkt nennt den Angriff, gegen den er Schutz bietet, verweist auf eine konkrete Konfigurationsänderung oder ein konkretes Tool und beschränkt sich auf das, was ein praktizierender Ingenieur tatsächlich ändern darf. Obwohl sie sich an Entwicklerteams richtet, finden Sicherheitsverantwortliche, Plattformingenieure und alle, die für einen Teil des SDLC verantwortlich sind, Abschnitte, die für ihre Produkte direkt relevant sind.
Wir haben unten einige Punkte herausgegriffen, um Ihnen einen Eindruck davon zu vermitteln, was Sie erwartet.
Vor der Installation eines Pakets eine Richtlinie zum Paketalter durchsetzen
Bei vielen der jüngsten großen Angriffe wie Axios, Chalk, Debug und Mastra lässt sich ein Muster erkennen: Schädliche Versionen vertrauenswürdiger Pakete wurden bereits innerhalb weniger Stunden nach ihrer Veröffentlichung ausgeführt. Kontrollen zum Zeitpunkt der Installation verschaffen Ihrem Team die nötige Zeit, um dies zu erkennen.

Pipeline-Abhängigkeiten an Commit-SHAs binden
Aktionen von Drittanbietern sind Code, dem Ihre Pipeline standardmäßig vertraut. Wenn Sie über ein Tag auf diese verweisen, erstreckt sich dieses Vertrauen auf denjenigen, der das Tag verwaltet, und Tags können verschoben werden.

Behandeln Sie MCP-Server als Abhängigkeiten von Drittanbietern
Agentenbasierte Tools stehen im Mittelpunkt der Experimente von Angreifern. MCP-Server befinden sich an einer Stelle im Stack, die ein besonders hohes Maß an Vertrauen genießt, und verfügen über weitreichende Berechtigungen sowie direkten Zugriff auf die Daten, die Agenten in Ihrem Auftrag verarbeiten.

Verhindern Sie eine sofortige Einfügung in KI-gestützte Pipelines
Durch das Hinzufügen eines KI-Agenten zu einer CI-Pipeline erweitert sich der Umfang dessen, was als risikobehaftete Eingabe gilt. Inhalte, die bisher harmlos durch einen Workflow flossen – wie beispielsweise der Titel eines Issues oder die Beschreibung eines Pull-Requests –, werden in dem Moment zu einer ausführbaren Anweisung, in dem ein Agent sie in eine Eingabeaufforderung einliest. Das ist ein größeres Risiko, als es die meisten Teams in ihren Modellen berücksichtigt haben.

Erfassung von Audit-Protokollen für Registrierungsaktualisierungen, CI-Läufe und die Token-Nutzung
Zahlreiche Sicherheitsverletzungen in diesem Jahr tauchten in den Standard-Authentifizierungsprotokollen überhaupt nicht auf. Die Angreifer agierten über aktive Sitzungen mit gültigen Anmeldedaten, und das einzige aussagekräftige Anzeichen lieferten die Audit-Protokolle, aus denen hervorging, was in diesen Sitzungen tatsächlich geschah.

Laden Sie die Lieferkettenangriffe herunter
Das sind fünf von insgesamt dreißig Punkten. Die vollständige Checkliste behandelt die Themen „Pinning“ und die Durchsetzung von Lockfiles, bereichsgebundene Tokens und phishing-resistente MFA, die Absicherung container , Kontrollen für IDE-Erweiterungen und Browser-Plugins, die Eingrenzung von Agent-Berechtigungen sowie Playbooks für die Reaktion auf Vorfälle, falls doch einmal etwas durchrutscht.

Füllen Sie das kurze Formular unten aus, um die Lieferkettenangriffe herunterzuladen, und arbeiten Sie sie durch, bevor das nächste Paket in Ihrem Abhängigkeitsdiagramm auftaucht.
<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>

