TL; DR
Het dreigingslandschap voor de open-source toeleveringsketen is fundamenteel veranderd. Drie samenkomende trends herdefiniëren risico's:
Zelfvermeerderende wormen zijn gearriveerd.
- Shai Hulud (september 2025): Eerste npm-wormaanval: stal inloggegevens via postinstall hooksVervolgens publiceerde het zichzelf autonoom opnieuw in zo'n 700 pakketversies met behulp van gecompromitteerde beheerderstokens.
- Glasworm (oktober 2025): Malware voor VS Code-extensies die gebruikmaakt van onzichtbare, in Unicode gecodeerde payloads en een onvernietigbare, op blockchain gebaseerde C2-server (Solana). Meer dan 35 installaties, volledige RAT-functionaliteit gericht op cryptowallets.
- Shai-Hulud 2.0 (november 2025): Cross-registry sprong van npm naar Maven Central via geautomatiseerde mirroringtools, plus GitHub Discussions ingezet als C2 en een destructieve wiper fallback.
AI is nu de operator, niet langer slechts het gereedschap.
Een gedocumenteerde cyberespionagecampagne werd autonoom uitgevoerd met behulp van Claude als orkestratieplatform: verkenning, exploitatie, laterale verplaatsing en data-exfiltratie met minimale menselijke tussenkomst. De barrière tegen geavanceerde aanvallen is weggevallen van "expertteam" naar "iemand die begrijpt hoe aanwijzingen werken".
Misbruik van infrastructuur op grote schaal
De IndonesianFoods-campagne overspoelde npm met zo'n 44,000 spam-pakketten die misbruik maakten van blockchain-beloningssystemen (TEA Protocol). Deze campagne bleef bijna twee jaar actief voordat er actie werd ondernomen. Red-team-scenario's maken ook misbruik van open-source-infrastructuur.
Tot slot
Elke gecompromitteerde ontwikkelaarsmachine is nu een potentieel verspreidingspunt voor wormen. Diefstal van inloggegevens maakt autonome verspreiding mogelijk. AI kan aanvallen met machinesnelheid orkestreren. Traditionele detectie- en uitschakelmethoden schieten tekort tegen onveranderlijke C2-servers en verspreiding over verschillende registers. De verdediging moet uitgaan van een inbreuk en zich richten op de snelheid waarmee de infectie wordt ingedamd.
Nieuwe bedreigingen voor open-source ecosystemen: wormen, door AI ontwikkelde malware en grootschalig misbruik van vertrouwen.
Het open-source-ecosysteem staat voor een paradigmaverschuiving wat betreft bedreigingen voor de toeleveringsketen. Traditionele kwaadaardige softwarepakketten verspreidden zich niet vanzelf, AI was geen wapen voor cybercriminelen en de verspreiding van aanvallen was beperkt.
De afgelopen maanden hebben we de samenloop van drie categorieën bedreigingen waargenomen die, hoewel afzonderlijk zorgwekkend, een fundamentele verschuiving in het risicolandschap voor softwareontwikkeling, wanneer deze risico's gezamenlijk worden beschouwd:
- Zelfvermeerderende wormen in ecosysteempakkettenKwaadaardige pakketten die zich autonoom verspreiden via diefstal van inloggegevens en geautomatiseerde herpublicatie. Hierdoor wordt elke gecompromitteerde ontwikkelaarscomputer een nieuwe infectiebron.
- Generatie en exploitatie van malware met behulp van AI.Kwaadwillende actoren gebruiken grote taalmodellen om payloads te schrijven, kwetsbaarheden te ontdekken en aanvallen met machinesnelheid te orkestreren.
- Grootschalige uitbuiting van vertrouwenSommige actoren misbruiken systematisch beloningen voor open source-bijdragen, repository-infrastructuur en ontwikkelaarstools, waardoor er pieken ontstaan met duizenden spam-pakketpublicaties die registers beïnvloeden.
De belangrijkste technieken die geavanceerde software-supply-chain-aanvallen mogelijk maken, zijn niet langer theoretisch. Ze worden actief toegepast, gedocumenteerd en zijn steeds toegankelijker voor minder geavanceerde cybercriminelen. De drempel voor het uitvoeren van supply-chain-aanvallen is weggevallen: wat voorheen teams van ervaren aanvallers vereiste, kan nu worden uitgevoerd door AI-agenten met minimale menselijke tussenkomst.
Dit artikel onderzoekt recente incidenten waarbij kwaadaardige open-sourcepakketten of misbruik van AI- en OSS-infrastructuur een rol speelden, analyseert de nieuwe technieken die dit mogelijk maakten en verkent opkomende mogelijkheden die de volgende generatie bedreigingen zouden kunnen definiëren. In het laatste deel bekijken we wat er gedaan kan worden om het risico te beperken.

LET OP: Deze poster is gegenereerd door AI en vertoont ernstige gebreken in het begrip van wat er gaande is. AI is voor bepaalde toepassingen verre van perfect.
Sha1-Hulud: De eerste zelfreplicerende wormaanval van Npm
Ontdekt op 14 september 2025. Shai Hulud Dit vertegenwoordigt de eerste gedocumenteerde aanval met een zelfverspreidende worm in het npm-ecosysteem. De naam werd gekozen door cybercriminelen die blijkbaar fan zijn van sciencefiction! De aanval begon met gecompromitteerde ontwikkelaarsgegevens – waarschijnlijk verkregen via phishingcampagnes die npm nabootsten. login prompts of MFA-omzeilingen. Eenmaal binnen voerde de wormaanval een meerstapsaanval uit die de diefstal van inloggegevens omzette in autonome verspreiding. De aanval was ernstig genoeg om een waarschuwing te rechtvaardigen. CISEen waarschuwing.
Technische architectuur:
The malware operates through a Webpack-bundled, heavily minified JavaScript payload (bundle.js) die wordt uitgevoerd via een postinstall-hook…
Inloggegevens verzamelen:
Na uitvoering implementeert de payload een uitgebreide methode voor het ontdekken van geheime gegevens:
- stortplaatsen
process.enven scant het bestandssysteem op geheimen met een hoge entropie. - Voert TruffleHog uit voor systematische controle van inloggegevens.
- Query's cloud-metadata-eindpunten (
169.254.169.254,metadata.google.internal) - Doelstellingen voor npm-tokens in
.npmrc, GitHub PAT's, en CI/CD geheimen
Infrastructuur voor exfiltratie:
De wormaanval maakt gebruik van meerdere exfiltratiestrategieën:
- Misbruik van GitHub Actions: Werkstromen die bevatten
${{ toJSON(secrets) }}die alle repository-geheimen serialiseren.
Autonome voortplanting:
Het zelfreplicatiemechanisme van de worm werkt via het volgende algoritme (in pseudocode):
function propagate(token, owner) { userPackages = npmApi.listPackages(owner, token); for (pkg in userPackages) { tgz = npmApi.fetchTarball(pkg, token); modified = injectBundleAndPostinstall(tgz); npmApi.publish(modified, token); } } With any stolen npm token, the worm enumerates all packages owned by the compromised maintainer, injects bundle.js with a postinstall hook, and republishes. This autonomous behavior caused infection counts to jump from dozens to hundreds of packages within hours.
Impactstatistieken:
- Eerste detectie: 14 september 2025, door Daniel Pereira . “Patient zero” seems to be
rxnt-authentication:0.0.3. - Explosieradius van de aanval: ~700 malicious package versions published, with high-profile targets with millions of weekly downloads. Limited to npm packages and GitHub repositories.
- Infrastructuur: C2 bij
217.69.3.218, exfiltratie naar140.82.52.31:80/wall - Persistentie: GitHub-workflows op branches met de naam
shai-hulud - Waarneembare indicatoren: Repositories zijn openbaar gemaakt met
-migrationachtervoegsel
Shai-Hulud is a secret harvesting worm. It did not attempt to steal money or wipe infrastructure. The exfiltrated secrets and exposed repositories can be used for targeted attacks, so the downstream damage from stolen credentials could manifest later. The true cost is in remediation, credential rotation, and the risk of secondary attacks.
Een positief effect was waardoor GitHub/NPM gedwongen wordt onmiddellijk actie te ondernemen : deprecating legacy classic tokens and other weak publishing credentials, and pushing towards the “OIDC Garden of Eden” of OpenSSF's Vertrouwd publiceren .
Maar lees vooral verder! De worm dook opnieuw op uit het zand van Arrakis.
Sha1-Hulud 2.0: De Arrakis-worm slaat terug
Two months after the initial Shai-Hulud campaign, threat actors returned with “The Second Coming” — a significantly more aggressive wave that learned from the weaknesses of the first attack. The campaign self-identified through repositories labeled “Sha1-Hulud: De Wederkomst.”
Laten we de belangrijkste verschillen met de eerste golf eens bekijken. preinstall hook replaced the original postinstall execution vector. According to Panter, @asyncapi/avro-schema-parser@3.0.25 was de "patiënt nul" voor deze tweede golf en maakte misbruik van een kwetsbare positie. pull_request_target workflow trigger. (If you “know of a friend using that,” please read Waarom is pull_request_target zo gevaarlijk? ).
Transactie tussen registers:
The worm spread from npm into Maven Central through automated mirroring. The mvnpm tool —which converts npm packages into Maven artifacts with no security review— automatically republished compromised npm packages such as posthog-node@4.18.1 as org.mvnpm:posthog-node:4.18.1.
This was the first known cross-registry worm: an npm compromise impacting the Java ecosystem without any direct interaction. Maven Central removed the artifacts on November 25, 2025, but the exposure window still affected Java/JVM workloads and enterprise bouwsystemen.
Bun Runtime voor ontwijking:
Aanvallers hebben een preinstall: node setup_bun.js haak die geïnstalleerd is Rechts runtime to evade Node-specific monitoring. Bun provided faster execution for the 480,000+ line obfuscated payload (bun_environment.js) and bypassed traditional Node.js instrumentation.
GitHub Actions als commando-infrastructuur:
De worm installeerde verborgen, zelfgehoste GitHub Actions-runners in $HOME/.dev-env/ across Windows, macOS, and Linux. More advanced yet, it created discussion.yaml workflows that listened to GitHub Discussions events and executed discussion message bodies as shell commands —effectively turning GitHub Discussions into an invisible C2 channel.
Destructieve ruitenwisserfunctie:
In tegenstelling tot de eerste golf, die zich richtte op het verzamelen van inloggegevens, introduceerde Shai-Hulud 2.0 een destructieve ruitenwisser triggered when no valid credentials were available for propagation. This “dead-man switch” ensured damage even if replication failed, signaling a shift from purely espionage-focused operations to potentially destructive campaigns.
Despite using stealth techniques (Bun runtime, obfuscation), the campaign was extremely noisy —republishing hundreds of packages, creating multiple public repositories, uploading credential dumps in bulk, and installing long-lived self-hosted runners. This aggressive tempo contrasts sharply with traditional supply chain attacks that rely on stealth. It suggests confidence in rapid impact or a deliberate “overwhelm tactic” to maximize damage in a short window.
GlassWorm: Onzichtbare code ontmoet blockchain C2
On October 17, 2025, a VS Code extension named GlassWorm introduced two unprecedented techniques to the supply chain threat landscape: invisible malicious code using Unicode stealth, and blockchain-based command and control infrastructure.
Unicode-verbergtechniek:
GlassWorm’s primary innovation lies in its abuse of Unicode variation selectors —special characters that produce no visual output but remain executable in JavaScript. This creates malicious code that appears as blank lines in code editors, GitHub diffs, and IDE syntax highlighting. This technique fundamentally breaks human code review by hiding executable logic inside visually empty regions.
The attack targeted VS Code extensions in the OpenVSX marketplace. Examination of the CodeJoy extension (v1.8.3) revealed large invisible sections containing executable JavaScript encoded with unprintable Unicode characters. To a developer reviewing the file, the content appears normal with empty lines. To the JavaScript runtime, it’s a complete malware payload.
Blockchain-gebaseerde C2-architectuur:
GlassWorm implements an unkillable command and control mechanism using the Solana blockchain. The malware scans for transactions from a hardcoded wallet address; transaction memo fields contain JSON objects with base64-encoded URLs.
Deze architectuur biedt krachtige voordelen:
- OnveranderlijkheidBlockchaintransacties kunnen niet worden gewijzigd of verwijderd.
- anonimiteitCryptowallets zijn pseudoniem en moeilijk te traceren.
- Weerstand tegen censuurGeen hostingprovider om onder druk te zetten, geen infrastructuur om in beslag te nemen.
- Legitiem verkeerVerbindingen met Solana RPC-nodes zijn niet te onderscheiden van gewone blockchain-activiteit.
- Dynamische updatesNieuwe payload-URL's kunnen worden gepusht voor minder dan $0.01 per transactie.
Zelfs als verdedigers de server met de gedecodeerde payload blokkeren (217.69.3.218), attackers can simply publish a new transaction pointing to an alternate URL. Every infected system will automatically fetch the updated location.
Back-up C2: Google Agenda
For redundancy, GlassWorm uses a Google Calendar event as a secondary C2 channel. The event title contains a base64-encoded payload URL.
https://calendar.app.google/M2ZCvM8ULL56PD1d6 Event title: aHR0cDovLzIxNy42OS4zLjIxOC9nZXRfem9tYmlfcGF5bG9hZC9xUUQlMkZKb2kzV0NXU2s4Z2dHSGlUdg== Decodes to: http://217.69.3.218/get_zombi_payload/qQD%2FJoi3WCWSk8ggGHiTdg%3D%3DDit biedt een legitieme dienst die beveiligingsmaatregelen omzeilt en eenvoudig kan worden bijgewerkt door de agendagebeurtenis te bewerken.
Levering van lading:
The C2 servers deliver encrypted payloads using AES-256-CBC. Decryption keys are generated per request and transmitted via custom HTTP headers, ensuring that intercepted payloads cannot be decrypted without a fresh request.
ZOMBI: RAT-mogelijkheden over het volledige spectrum
De uiteindelijke payload (ZOMBI) transformeert geïnfecteerde ontwikkelaarswerkstations in criminele infrastructuur:
- SOCKS-proxyserver: Zet proxyservers in om het verkeer van de aanvaller via de netwerken van het slachtoffer te leiden, waardoor interne toegang en anonimisering mogelijk worden.
- WebRTC P2P: Hiermee worden peer-to-peer-controlekanalen opgezet die firewalls omzeilen door middel van NAT-traversal.
- BitTorrent DHT: Maakt gebruik van gedistribueerde hashtabellen voor gedecentraliseerde commandodistributie die niet kan worden uitgeschakeld.
- Verborgen VNC (HVNC): Biedt onzichtbare toegang tot externe bureaubladen die draaien in virtuele bureaubladen die niet op het scherm of in Taakbeheer verschijnen.
Targeting op cryptocurrency-portemonnee:
ZOMBI actively hunts for 49 different cryptocurrency wallet extensions, including MetaMask, Phantom, and Coinbase Wallet. Combined with invisible remote access, this enables direct theft of funds from developer machines.
Verzamelen en verspreiden van inloggegevens:
Like Shai-Hulud, GlassWorm harvests npm tokens, GitHub credentials, and OpenVSX access tokens. These credentials enable autonomous spread to additional packages and extensions, creating worm-like propagation behavior.
Impactstatistieken:
- Eerste detectie: Oktober 17, 2025
- Totale installaties: Meer dan 35,800 op de OpenVSX- en VS Code-marktplaats (mogelijk een vertekend beeld door bots)
- Gecompromitteerde extensies: 16 bevestigd (15 OpenVSX, 1 Microsoft Marketplace)
- InfrastructuurPrimaire C2 bij
217.69.3.218, exfiltratie naar140.82.52.31:80/wall - Blockchain-portemonnee:
28PKnu7RzizxBzFPoLp69HLXp9bJL3JFtT2s5QzHsEA2(Zonnebloem) - Huidige statusActief, met een operationele infrastructuur op het moment van schrijven.
Door AI georkestreerde cyber spionage
We are all learning how to work with AI tools. Looking at the techniques used by recent attacks, one may wonder: Gebruiken cybercriminelen AI om malware te creëren? Certainly. But they can scale attacks even further by weaponizing AI for orchestration. What follows is a cyberespionage campaign —but imagine these same techniques applied to automated OSS-targeted attacks.
In september 2025, Anthropic gedetecteerd en verstoord the first documented cyberattack executed largely without human intervention. The campaign achieved 80–90% autonomous execution Claude Code gebruiken als orchestratie-engine, with AI agents performing reconnaissance, exploitation, lateral movement, and data exfiltration. This marks the shift from AI-assisted attacks to AI-orchestrated cyber operations.
The threat actor, GTG-1002 (a Chinese state-sponsored group), targeted ~30 organizations across technology, finance, and government sectors. They developed an autonomous framework turning Claude Code from a coding assistant into a cyber operations engine.
AI als orkestratiesysteem
In plaats van AI als adviseur te gebruiken, gebruikte GTG-1002 Claude als de primaire operator. The framework broke multi-stage attacks into isolated tasks, each appearing benign on its own. Through carefully crafted prompts and established personas, attackers induced Claude to execute harmful actions without understanding their malicious context.
AI carried out technical steps while the orchestration engine tracked campaign state, managed phase transitions, and aggregated results across days-long sessions. Human involvement was limited to high-level supervision: initialization, target selection, approving escalations, and validating exfiltration.
Standaardtools —netwerkscanners, database-exploits— werden georkestreerd via op maat gemaakte oplossingen. MCP-servers.
This approach automates operations at speeds impossible for humans. Claude even analyzed stolen data to prioritize valuable information, maintaining persistent context across sessions while human operators returned later to review progress.
Sociale manipulatie van AI: het omzeilen van beveiligingsmaatregelen
The campaign’s success relied on convincing Claude to perform cyber intrusion tasks despite its safety training. The technique: rollenspel misleiding. Attackers posed as cybersecurity analysts performing legitimate investigations. Combined with task isolation, this was enough to jailbreak AI safety controls.
Hallucinaties zijn geweldig!
Claude frequently hallucinated results —reporting successful exploits that failed, inventing credentials, fabricating discoveries. For now, this limits fully autonomous operations, but as models improve, these weaknesses will diminish. Until then, a common AI flaw is ironically our best friend 🙃.
Detectie en reactie:
Anthropic detected the campaign through anomalous usage patterns indicating systematic intrusion behavior. They banned associated accounts, notified affected organizations, coordinated with authorities, and integrated attack patterns into broader safety controls.
Gevolgen voor de toeleveringsketen:
Every technique demonstrated here transfers directly to package ecosystems. AI could autonomously discover vulnerable maintainers, generate malicious packages, and orchestrate registry-wide attacks at machine speed. The barrier has dropped from “team of expert cybercriminals” to “operator who understands AI prompting.”
Need a real-world example of AI conscription for cyberattacks? Read ShadowRay 2.0Aanvallers zetten AI tegen zichzelf in in een wereldwijde campagne. , where adversaries used Ray’s orchestration features (“the Kubernetes of AI”) to run a global cryptojacking botnet that spread autonomously across exposed Ray clusters.
Nog een voorbeeld: Hoekigheid aanvallen , exploiting the same pull_request_target issue mentioned earlier. It detects locally installed AI CLI tools (Claude, Gemini, Q with bypass flags) and uses them for reconnaissance. From telemetry.js ladingen, de prompts bevatten onder andere dingen soortgelijk:

Misbruik van infrastructuur: grootschalige spamcampagnes met pakketverzending
In addition to malware-distributing packages, the open source ecosystem faces infrastructure abuse through spam campaigns that flood registries with thousands of packages. DevOps for cybercrime is common: attackers routinely use SCMs and registries for OSINT, distributing malware stages, extracting secrets, and maintaining command and control. But these platforms can also be misbruikt voor niet-kwaadwillende doeleinden. While not traditionally malicious, such campaigns consume registry resources, pollute search results, and erode trust.
Twee belangrijke voorbeelden illustreren deze trend: Indonesische gerechten (het uitbuiten van beloningen voor bijdragers) en de Elfen-campagne (testen van het rode team die uit de hand lopen).
IndonesianFoods: Uitbuiting van het TEA-protocol
De voornaamste drijfveer was financiële fraude. exploitatie van het TEA-protocol , a blockchain-based system designed to compensate open source developers.
Aanvallers publiceerden duizenden onderling verbonden pakketten die het volgende bevatten: tea.yaml files linking to their Ethereum wallets, forming circular dependency networks to inflate contribution metrics. Automated scripts published ~12 packages per minute with randomly-generated Indonesian names and food terms. One package README even boasted about TEA token earnings, confirming the financial motive.
The campaign spanned ~44,000 packages —over 1% of npm— and persisted nearly two years. Circular dependencies meant installing one package could pull in hundreds of spam packages. Search results degraded, trust in package metrics eroded, and registry bandwidth and storage were heavily consumed.
Although TEA protocol abuse was documented in April 2024, systematic removal didn’t occur until November 2025, revealing critical gaps in registry abuse detection. The episode undermined confidence in blockchain-backed funding models and exposed how easily reward systems can be gamed.
Elfencampagne: Geautomatiseerde infrastructuurtests
De elfen campagne in December 2025 emphasized infrastructure abuse rather than malicious intent. Package descriptions referenced “capture the flag challenge” and “testing” (including French text: “Package généré automatiquement toutes les 2 minutes”), suggesting origins in security research or CTF exercisbijvoorbeeld.
De pakketten volgden een consistent patroon. elf-stats-* naming with seasonal themes. Some contained trivial reverse shells (simple bash one-liners), so unsophisticated they appeared designed only for detection testing rather than genuine exploitation.
The operational tempo —one package every 2 minutes across multiple accounts— tested npm’s rate limiting and abuse detection capabilities. The campaign demonstrated that automated flooding can persist for hours or days before intervention, consuming storage, bandwidth, and moderation resources.
Most importantly, it signaled to other threat actors that automated flooding attacks are feasible, potentially inspiring future abuse campaigns.
Nieuwe tactieken, technieken en procedures (TTP's)
| TTP | Techniek | Impact | Detectie |
|---|---|---|---|
| Autonome verspreiding door hergebruik van inloggegevens | Nadat malware npm-tokens, GitHub-referenties of registry API-sleutels heeft bemachtigd, inventariseert deze programmatisch alle pakketten die eigendom zijn van de gecompromitteerde beheerder en injecteert vervolgens schadelijke payloads in nieuwe versies. | Eén gecompromitteerd token kan binnen enkele uren tientallen of honderden pakketten infecteren. Elk nieuw slachtoffer wordt een punt waar de infectie zich verder kan verspreiden. | Houd de publicatie van pakketten door individuele beheerders in de gaten, vooral als dit gepaard gaat met verdachte postinstallatie-activiteiten. hooks of grote binaire optellingen. |
| Meerlaagse C2-infrastructuur met blockchain-onveranderlijkheid | De primaire C2-server maakt gebruik van blockchaintransacties (Solana, Ethereum) waarbij memovelden versleutelde of gecodeerde payload-URL's bevatten. De secundaire C2-server maakt gebruik van legitieme diensten (Google Calendar, Pastebin, GitHub Gists) als back-upkanalen. | Traditionele methoden om gegevens te verwijderen schieten tekort: blockchaintransacties kunnen niet worden verwijderd en legitiem misbruik van de dienst is moeilijk te onderscheiden van normaal gebruik. | Monitor ongebruikelijke blockchain RPC-query's afkomstig van ontwikkelaarsmachines, met name naar specifieke walletadressen. Volg verbindingen met agendadiensten of paste-sites vanuit buildomgevingen. |
| Onzichtbare code-injectie via Unicode Stealth | Kwaadaardige JavaScript-code wordt gecodeerd met behulp van Unicode-variatieselectoren (U+FE00 tot en met U+FE0F) en tekens met een breedte van nul, die niet worden weergegeven in editors, maar wel geldige uitvoerbare code blijven. | Codebeoordeling wordt ineffectief. Ontwikkelaars die bronbestanden onderzoeken, zien lege regels, terwijl JavaScript-interpreters verborgen malware uitvoeren. | Scan bronbestanden op niet-afdrukbare Unicode-tekens, met name variatieselectoren en nulbreedte-samenvoegers. Implementeer geautomatiseerde controles die de werkelijke byte-inhoud van bronbestanden decoderen en analyseren, en niet de weergegeven weergave ervan. |
| GitHub-acties als exfiltratie-infrastructuur | Implementeer workflows die het volgende bevatten: ${{ toJSON(secrets) }} Expressies die alle repositorygeheimen serialiseren en via POST naar door de aanvaller beheerde eindpunten verzenden. De workflow draait op de infrastructuur van GitHub en lijkt legitiem. CI/CD activiteit. | Volledige diefstal van repositorygeheimen zonder dat traditionele detectiemethoden voor data-exfiltratie worden geactiveerd, omdat het verkeer afkomstig is van de vertrouwde IP-adressen van GitHub. | Scan workflowbestanden voor toJSON(secrets) patronen. Monitor workflows die externe HTTP-verzoeken uitvoeren met grote POST-body's. Waarschuw bij het toevoegen van workflows aan repositories zonder bijbehorende pull-requests of commit geschiedenis. |
| Hybride RAT-implementatie in ontwikkelomgevingen | Implementeer volledige RAT-functionaliteit (SOCKS-proxy, VNC, WebRTC P2P) die specifiek is ontworpen voor gebruik op ontwikkelwerkstations. Richt je op ontwikkelreferenties, toegang tot broncode en interne netwerklocatie in plaats van traditionele gebruikersgegevens. | Gecompromitteerde ontwikkelaars bieden directe toegang tot broncode-repositories. CI/CD pipelines, cloudinfrastructuur en interne bedrijfsnetwerken. | Monitor onverwachte implementaties van proxyservers, VNC-serverprocessen, WebRTC-verbindingen vanaf ontwikkelmachines en deelname van BitTorrent aan het DHT-netwerk. Implementeer strikte netwerksegmentatie en uitgaande filtering. |
| Infectie van de afhankelijkheidsketen | Kwaadaardige pakketten declareren andere, door de aanvaller beheerde pakketten als afhankelijkheden. De installatie van één pakket activeert automatisch de installatie van de hele keten. | Eén enkele kwaadaardige afhankelijkheid kan tientallen door de aanvaller beheerde pakketten introduceren. Opruimen vereist het identificeren en verwijderen van de volledige infectieketen. | Analyseer afhankelijkheidsgrafieken op ongebruikelijke patronen, zoals circulaire afhankelijkheden, willekeurig benoemde sibling-pakketten of plotselinge toevoegingen van afhankelijkheden. Implementeer installaties die alleen gebruikmaken van lockfiles om automatische afhankelijkheidsresolutie te voorkomen. |
Defensieve houding
The era of self-propagating supply chain worms has arrived. Defense requires automation, vigilance, and architectural controls that assume compromise rather than hoping for detection. Every package installation is a potential infection vector. Every credential is a propagation mechanism. The question is no longer whether attacks will occur, but how quickly you can detect and contain them when they do.
Defending against worm-like malicious packages requires shifting from reactive scanning to proactive prevention and continuous monitoring:
Pipeline Controls:
- Installaties alleen met lockfile afdwingen (
npm ci,yarn install --frozen-lockfile) om automatische afhankelijkheidsupdates te voorkomen en strikte versiebeheer te garanderen. - Voer een pre-installatiescan uit van pakketten en volledige afhankelijkheidsstructuren, waarbij schadelijke pakketten worden geblokkeerd voordat ze worden uitgevoerd.
- Blokkeer pakketten met verdachte kenmerken: te grote bundels, versleuteling, onverwachte pre-/post-installatie. hooks.
- Voer een codebeoordeling uit voor het toevoegen en bijwerken van afhankelijkheden.
Beheer van referenties:
- Beperk de reikwijdte van tokens — publiceer tokens waar mogelijk alleen voor specifieke pakketten.
- Implementeer kortstondige tokens met automatische rotatie.
- Bewaar tokens nooit in broncode of omgevingsvariabelen.
- Gebruik speciale CI-serviceaccounts met minimale privileges.
Detectie en monitoring:
- Volg publicatiepatronen en ontvang waarschuwingen bij ongebruikelijke pieken in het aantal publicaties van individuele beheerders.
- Monitor GitHub Actions-workflows voor het serialiseren van geheimen, zoals bijvoorbeeld:
toJSON(secrets). - Uitbreidingen van de scanworkflow voor externe HTTP-verzoeken.
- Detecteer nieuwe openbare repositories met ongebruikelijke namen of gecodeerde inhoud.
- Controleer de werkstations van ontwikkelaars op onverwachte proxyservers. CI/CD runners, VNC-processen of blockchain RPC-query's.
Incident Response:
- Behandel elke uitvoering van een verdachte installatie als verdacht. hooks als volledig compromis.
- Ga ervan uit dat alle tokens op de gecompromitteerde hosts zijn gestolen — vervang ze onmiddellijk.
- Herbouwwerkzaamheden CI/CD hardlopers van schone afbeeldingen.
- Controleer alle pakketten die eigendom zijn van gecompromitteerde accounts op schadelijke versies.
- Controleer of de instellingen in GitHub-workflows en -repositories persistent zijn.
AI vendors often state that any tool can be used for good or evil. AI systems cannot entirely prevent dual use, but they can impose friction and improve forensic visibility. The real design question is not “can AI be abused?” but “how much friction can we add without harming legitimate utility?” One fact remains: Het is tegenwoordig veel te gemakkelijk om AI-systemen te jailbreaken.. Analysis of malicious prompts in recent attacks shows that LLM non-determinism extends to their guardrails.
Several ideas are emerging for improving AI security: strong origin authentication, trustworthy content isolation, and policy-aware controls for external systems (with MCP and similar protocols now entering the landscape). Only time will tell whether AI becomes the next weapon for large-scale attacks on OSS infrastructure.
Meer informatie
- Shai-Hulud: De npm-pakketworm uitgelegd
- Shai-Hulud 2.0 NPM Supply Chain-aanval
- GlassWorm: Eerste zelfverspreidende worm met onzichtbare code verschijnt op de OpenVSX Marketplace – Koi Security
- Het verstoren van de eerste gerapporteerde door AI georkestreerde cyber-spionagecampagne – Anthropic
- Analyse van de AI-prompts die gebruikt werden bij de Nx-aanval
- Wijdverspreide verstoringen in de toeleveringsketen hebben gevolgen voor het npm-ecosysteem. CISA
- Ons plan voor een veiligere npm-toeleveringsketen – GitHub-blog
Over de auteur
Geschreven door Luis Rodriguez , Co-Founder and CTO at Xygeni-beveiliging.
Luis is een fysiotherapeut.cist, wiskundige, en CISSP with more than 20 years of experience in software security. He has led and contributed to major security initiatives across SAST, SCA, and advanced code-analysis technologies. Today, he focuses on software supply chain security, combining deep research with hands-on engineering to help teams defend modern DevSecOps pipelinevan opkomende bedreigingen.




