+++
title = "Die Axios Katastrophe"
date = "2026-04-1"
description = "Wahrscheinlich die bisher schlimmste Kompromittierung des Jahres"

[taxonomies]
tags = ["security","meinung","news"]
+++
npm - a gift that keeps on giving. Auch diese Woche hat der Node Paketmanager wieder die Plattform für einen der vermutlich bedeutendsten Angriffe des Jahres geboten. 
Konkret hat es axios erwischt, eine Library für HTTP die wirklich in fast jedem Frontend verbaut ist.
Der Account des Hauptentwicklers von axios wurde von den Angreifern übernommen. Diese haben in axios eine andere Bibliothek als Abhängigkeit hinterlegt 
und bei dieser Dritt-Library wurde nach der Installation ein post-install Skript ausgeführt. 
Ungewöhnlich sind post-install Skripte erstmal nicht, nur war das Skript in diesem Fall bösartig und sollte je nach Betriebssystem die tatsächliche Malware aus dem
Internet nachladen (Mehr zu technischen Details bei [StepSecurity](https://www.stepsecurity.io/blog/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan#)). [Google](https://cloud.google.com/blog/topics/threat-intelligence/north-korea-threat-actor-targets-axios-npm-package?hl=en) geht davon aus, 
dass der Ursprung des Axios Hacks in Nord Korea zu verorten ist. Die verantwortliche Gruppe handelt normalerweise nach finanziellen Motiven.

Konkret lag die manipulierte Variante von axios, in der Nacht zum Dienstag den 31.3, knappe drei Stunden zum Download vor. Nun ist es nicht das erste mal, dass der Paketmanager von NodeJS für eine Supply-Chain Attacke missbraucht wird. Ende letzten Jahres hatte es drei mal massivst gekracht,
wobei der [Shai-Hulud](https://www.heise.de/news/Neuer-NPM-Grossangriff-Selbst-vermehrende-Malware-infiziert-Dutzende-Pakete-10651111.html)(benannt nach dem Sandwurm aus Dune)
der bekannteste Angriff dieser Art sein dürfte. Shai-Hulud war aber anders konzeptioniert als die aktuelle axios Attacke: 
```
     ________________      __________________      ____________________
    | Shai-Hulud     |    | Shai-Hulud sucht |    | Sind passende      |  
    | infiziertes    |    | auf dem Gerät    |    | Zugangsdaten dabei | 
 __\| npm-Paket wird |___\| nach bestimmten  |___\| manipuliert SH das |___ 
|  /| installiert    |   /| Zugangsdaten     |   /| nächste npm-Paket  |   |
|   |________________|    |__________________|    |____________________|   |
|                                                                          |
|                                                                          |
|_______________________ der Spaß geht von vorne los ______________________|


```
Shai-Hulud war ein Wurm, also eine Malware-Gattung die darauf ausgelegt ist möglichst viele Maschinen zu befallen und sich zu replizieren. 
Die axios Schwachstelle verzichtet nach aktuellem Kenntnisstand auf diese Selbstvermehrung. 
Ich vermute, dass sich die Akteure diesen Aufwand gespart haben, weil axios sowieso eines der meistverbreiteten npm Pakete ist.   

Der Trend deutet klar darauf hin, dass die Angreifer immer verstärkter auf Lieferketten von Programmen einwirken wollen. Auch log4j und die xz-Backdoor
haben auf die Supply-Chain abgezielt. Ich glaube dass dieser Trend einige Probleme der modernen Software-Entwicklung aufdeckt. Durch Bibliotheken sind
wir in der Lage in kürzester Zeit Programme absurdester Komplexität zu schreiben. Den externen Code, den man sich dabei an Land zieht, begreift man dabei
nicht als Teil des eigenen Projektes, sondern als ein abstraktes, höheres Konstrukt ohne Fehler oder Gefahren. Dass aber auch dieser Code wiederum von 7 anderen
Libraries abhängt und von Menschen maintained wird, die genau so fehlbar sind wie du und ich, blenden wir dabei komplett aus. Hinzu kommt noch die prekäre
Situation vieler Open-Source Entwickler.

Ich erinner an die xz-Backdoor: Lasse Collin der Hauptentwickler von xz-utils, einer relativ verbreiteten Kompressionsbibliothek, 
war in einer Lebenskrise und deshalb mit der Instandhaltung seiner Code-Base ziemlich überlastet. 
xz-utils ist Open-Source, das heißt die Software ist frei im Internet verfügbar und deswegen kostenlos. 
Die Entwickler verdienen deshalb mit Open-Source meistens kein Geld. Lasse Collin wurde, dann von mehreren vermeintlichen Nutzern seiner Software
Druck gemacht, er solle doch etwas Verantwortung abgeben, wenn er mit dem Programmieren nicht mehr hinterher komme. Ein anderer Nutzer namens Jia Tan,
der sich bereits seit mehr als zwei Jahren(!) als hilfreicher Mit-Entwickler bewiesen hatte, bot kurzerhand seine Hilfe an und wurde befördert.
Wie sich jedoch herausstellte waren alle beteiligten Personen(außer Lasse Collin) Fake-Accounts eines Angreifers. 
Als dieser Admin-Rechte auf dem xz-utils Repo hatte, schleuste er eine extrem gut versteckte Backdoor ein, 
die nur entdeckt wurde weil einem deutschen(wir sind wieder wer) Microsoft-Ingenieur minimalste Unterschiede bei einigen Prozessen auffielen. 
| *XZ-Logo beigesteuert vom Angreifer Jia Tan* |
|:--:| 
| ![XZ Logo](XZ_logo_contributed_by_Jia_Tan.png) | 

Wir erleben eine sehr kuriose Zeit: updatest du zu langsam, wirst du gehackt, updatest du zu spät wirst du auch gehackt.
Ich glaube axios sollte uns dazu anregen grundlegend über Software nachzudenken. Software sollte schlanker werden,
sich ganz nach unix auf wenige Aufgaben konzentrieren und diesen Tätigkeitsbereich gut abstecken. Je mehr externen
Kram man sich reinholt, desto anfälliger wird man. Außerdem wird es immer wichtiger den Hebel der Netzwerksicherheit
richtig zu nutzen. Mit restrektiven Firewallregeln hätte man beispielsweise verhindern können, dass die Schadsoftware in 
axios nach Hause telefoniert.


