Connect with us

Entwicklung & Code

PHP2Shell: Die Schonfrist ist vorbei


Sogar die Tagesschau und die Zeitungen berichten: Zwei kritische PHP-Schwachstellen haben große Teile des Internets zeitweise lahmgelegt. Die Sicherheitsforschung wurde dabei erheblich durch künstliche Intelligenz unterstützt. Das eigentlich Interessante ist aber nicht die Schwachstelle selbst. Vielmehr zeigt der Fall, wie wenig Zeit künftig zwischen der Veröffentlichung eines Sicherheitsupdates und dessen Ausnutzung bleiben dürfte. Für schlecht gewartete Software wird das zunehmend zum Problem.

Weiterlesen nach der Anzeige


Ein Kommentar von Tobias Glemser

Ein Kommentar von Tobias Glemser

Tobias Glemser ist BSI-zertifizierter Penetrationstester und Geschäftsführer der secuvera GmbH. Seit über 20 Jahren arbeitet er in der Cybersicherheit. Privat ist er unter anderem bei OWASP engagiert.

Am 21. Oktober waren zahlreiche Webseiten und Onlinedienste in Deutschland nicht erreichbar. Behörden, Hochschulen, Krankenhäuser und Unternehmen nahmen ihre Systeme vorsorglich vom Netz. Auch das Portal des Bundesamtes für Sicherheit in der Informationstechnik (BSI) war zeitweise betroffen. Ursache waren zwei kritische Schwachstellen in PHP, einer der weltweit meistverwendeten Programmiersprachen für Webanwendungen.

Die Schwachstellen CVE-2026-109618 und CVE-2026-109619 ermöglichen unter bestimmten Voraussetzungen die Ausführung beliebigen Programmcodes auf betroffenen Servern, ohne dass sich ein Angreifer zuvor authentifizieren muss. Die Auswirkungen können entsprechend gravierend sein.

Trotzdem sind solche Schwachstellen zunächst nichts grundsätzlich Neues. Fehler bei der Speicherverwaltung, Use-after-free-Schwachstellen und Remote Code Execution kennen wir seit Jahrzehnten. Auch kritische Schwachstellen in weit verbreiteter Software sind kein neues Phänomen.

Warum also diese Aufregung? Und warum mussten so viele Betreiber ihre Systeme abschalten?

Die Antwort liegt weniger in den beiden Schwachstellen selbst als in der veränderten Geschwindigkeit, mit der Schwachstellen heute analysiert und ausgenutzt werden können.

Weiterlesen nach der Anzeige

Die Vorgeschichte beginnt bereits 2024. Nach einem externen Sicherheitsaudit entdeckte ein PHP-Entwickler Hinweise auf einen Fehler im Speichermanagement. Über eine mögliche Ausnutzung wurde schon damals nachgedacht, nachweisen ließ sie sich zunächst nicht. Wie wäre das wohl im Sommer 2026 gewesen?

Die Behebung blieb liegen. Verschiedene Lösungsansätze hatten Nachteile hinsichtlich Kompatibilität und Stabilität, erfahrene Entwickler waren mit anderen Aufgaben beschäftigt. Die PHP Foundation bezeichnet die Verzögerung inzwischen selbst als strukturelles Versagen. Erst als im August 2026 unter anderem Calif, OpenAI und Wiz mithilfe von KI konkrete Angriffsmöglichkeiten nachwiesen, änderte sich die Priorität schlagartig. Die Sicherheitsupdates erschienen schließlich am 21. Oktober.

Hier zeigt sich bereits eine erste Schwäche unseres bisherigen Umgangs mit Sicherheitslücken. Dass für eine Schwachstelle kein funktionierender Exploit bekannt ist, bedeutet nicht, dass sie nicht ausgenutzt werden kann. Es bedeutet zunächst nur, dass wir noch keinen kennen.

Die eigentliche Koordination funktionierte zunächst bemerkenswert gut. Sicherheitsforscher, PHP-Entwickler, Distributoren und Infrastrukturbetreiber arbeiteten zusammen, sodass unter anderem Cloudflare schon vor Veröffentlichung der Sicherheitsupdates Schutzmaßnahmen aktivieren konnte. Das war angesichts der Verbreitung von PHP eine beachtliche Leistung.

Am 20. Oktober tauchten erste Informationen vorzeitig auf. Das PHP-Team zog daraufhin die ursprünglich für den 22. Oktober geplante Veröffentlichung um einen Tag vor. Hinzu kamen ein versehentlich veröffentlichtes Exploit-Video und bereits vor Ablauf des Embargos bereitgestellte, korrigierte Container-Images. Potenzielle Angreifer konnten die Änderungen damit untersuchen, bevor die offiziellen Updates allgemein verfügbar waren. Amazon beobachtete nach eigenen Angaben sogar schon am 17. Oktober einen Ausnutzungsversuch in seiner Honeypot-Infrastruktur. Wie die Angreifer bereits vor der Veröffentlichung an die notwendigen Informationen gelangten, ist unbekannt.

KI ist – wie so oft – Fluch und Segen. Die Forscher von Wiz beschreiben, wie sie mit KI-Unterstützung komplexe Angriffsmöglichkeiten entwickelten. Nach eigenen Angaben konnte ein einzelner Forscher innerhalb etwa einer Woche Arbeiten erledigen, für die früher ein spezialisiertes Team mehrere Monate benötigt hätte. Natürlich sollte man solche Angaben mit Vorsicht genießen. Die grundsätzliche Entwicklung ist aber offensichtlich: Sobald ein Sicherheitsupdate veröffentlicht wird, können Angreifer die korrigierte Software mit der vorherigen Version vergleichen. Diese Patch-Diff-Analyse ist keineswegs neu. Sie wird seit vielen Jahren eingesetzt, um herauszufinden, welche Fehler ein Hersteller mit seinen Änderungen behoben hat. Der Patch liefert gewissermaßen die Markierung, an welcher Stelle gesucht werden muss.

Bisher erforderte es viel Erfahrung und Zeit, daraus eine tatsächlich ausnutzbare Schwachstelle abzuleiten. Gerade bei komplexen Speicherfehlern kann die Entwicklung eines zuverlässigen Exploits erheblichen Aufwand verursachen.

Aber jetzt ist zu befürchten, dass zumindest mittelfristig jeder beliebige Angreifer ohne hohe Expertise innerhalb kurzer Zeit einen funktionierenden Exploit entwickeln und hochskaliert „ausrollen“ kann. Für die Angreifer wird das Geschäft einfacher. Für die Verteidiger wird die Zeit knapper. Viel knapper.

Damit verändert sich eine wesentliche Grundlage unseres Schwachstellen- und Risikomanagements.

Nach Messungen des Monitoringanbieters UptimeRobot stieg die Zahl nicht erreichbarer, von diesem Dienst überwachten .de-Websites vom 20. auf den 21. Oktober um rund 113 Prozent. Bei europäischen Messstandorten wurden in der Spitze ungefähr zwanzigmal so viele Downtime-Alarme wie gewöhnlich registriert. Nicht alle diese Ausfälle lassen sich PHP2Shell zurechnen.

In Deutschland nahmen zahlreiche öffentliche Einrichtungen ihre Angebote vorsorglich vom Netz. Betroffen waren Landesverwaltungen, Kommunen, Hochschulen und Krankenhäuser. Auch Unternehmen reagierten: Der Rechnungssoftwareanbieter easybill schaltete sowohl seine Anwendung als auch seine Webseite ab. Beim Hostinganbieter D&T Internet verhinderten ältere Anwendungen teilweise eine kurzfristige Aktualisierung, sodass Systeme auf andere Server umgezogen werden mussten.

Das hat erhebliche wirtschaftliche Folgen. Onlineshops verlieren während einer Abschaltung Bestellmöglichkeiten, Kunden können Cloudanwendungen nicht nutzen und Behörden keine digitalen Dienstleistungen anbieten. Natürlich war es in vielen Fällen richtig, gefährdete Dienste vorsorglich abzuschalten, zumal die offiziellen Updates erst am 21. Oktober bereitstanden. Trotzdem sollte uns zu denken geben, dass Teile unserer digitalen Infrastruktur bei einer kritischen Schwachstelle praktisch nur zwischen Weiterbetrieb mit erheblichem Risiko und Abschaltung wählen konnten. Das kann keine dauerhafte Lösung sein.

An dieser Stelle kommen wir zu einem Problem, das in der Diskussion um die beeindruckenden KI-Fähigkeiten etwas untergeht.

Schlecht gewartete Software bleibt schlecht gewartete Software.

Wir kennen seit Jahren Anwendungen, die auf veralteten PHP-Versionen (oder anderer Software) laufen, nicht mehr unterstützte Bibliotheken verwenden oder deren Hersteller seit langer Zeit keine Aktualisierungen bereitstellen. Euphemistisch „Legacy-Anwendungen“ genannt: geschäftskritisch, also weiter online, aber nicht mehr wartbar. Die Gründe dafür sind vielfältig: Ein Update könnte Funktionen beeinträchtigen, eine Migration kostet Geld, die ursprünglichen Entwickler stehen nicht mehr zur Verfügung oder niemand möchte die Verantwortung für eine größere Änderung übernehmen.

Also wird das Update verschoben. Und beim nächsten Mal wieder. Es entsteht eine Patchlücke, die zu noch größerer „Unwartbarkeit“ führt.

Solange nichts passiert, scheint diese Strategie sogar zu funktionieren. Die Anwendung läuft schließlich noch. Weshalb sollte man Geld in etwas investieren, das offensichtlich seinen Zweck erfüllt?

Die Antwort haben wir jetzt (erneut) gesehen.

Wer sich an den März 2021 erinnert, dürfte ein Déjà-vu haben. Damals waren es vier kritische Schwachstellen in Microsoft Exchange, die unter dem Namen ProxyLogon bekannt wurden. Microsoft brachte außerplanmäßige Sicherheitsupdates heraus, nachdem die Angreifergruppe Hafnium die Schwachstellen bereits ausgenutzt hatte. Auch damals haben Tagesschau und Zeitungen berichtet.

Das BSI sprach von Zehntausenden über das Internet angreifbaren Exchange-Servern in Deutschland und schrieb mehr als 9.000 Unternehmen direkt an. Damals habe ich eine knappe Woche nach dem Patchday eine kleine Analyse gemacht: 50 Prozent der ausgewählten Server (alle von Organisationen mit mehr als 1.000 Mitarbeitenden) waren weiter nicht gepatcht. Ist es aktuell besser? Man darf Zweifel haben.

Natürlich ist der Verlauf von Hafnium und PHP2Shell nicht dasselbe: Die Exchange-Schwachstellen wurden vor der Veröffentlichung der Updates bereits erfolgreich ausgenutzt. Die Parallele liegt im Betrieb: Der Patchprozess ist defekt.

Die Anforderungen an den IT-Betrieb sind in der Theorie seit jeher dieselben. Der Zeitraum für die Umsetzung von Patches verkürzt sich jedoch drastisch. Dabei genügt es nicht, die Verantwortung für Sicherheitsupdates irgendwo in einer IT-Abteilung zu verorten. Unternehmen müssen wissen, welche Systeme geschäftskritisch sind, von welchen Softwarekomponenten sie abhängen und was passiert, wenn diese von heute auf morgen abgeschaltet werden müssen. Genau dafür braucht es ein funktionierendes Informationssicherheitsmanagement und Business Continuity Management.

KI wird aber auch Verteidigern helfen, Schwachstellen zu finden und Korrekturen zu prüfen und rasch auszurollen.

2021 hieß die Warnung Hafnium, 2026 PHP2Shell.

Wer den Schuss jetzt noch nicht gehört hat, wird ihn vermutlich auch beim nächsten Mal nicht hören. Nicht patchen ist keine Option.


(odi)



Source link

Entwicklung & Code

Inference Manager: neues Ubuntu-Tool verwaltet lokale KI-Modelle


Mit dem Inference Manager hat Canonical auf der hauseigenen Tagung „Ubuntu Summit“ ein neues Werkzeug vorgestellt, um lokal installierte KI-Modelle zu verwalten. Das Tool stellt den Kommandozeilenbefehl inference bereit, der Modelle auf dem eigenen Computer installiert und verfügbar macht. Über eine HTTP-Schnittstelle können dann Programme auf die KI-Inferenz zugreifen. Laut Canonical ist sie zur OpenAI-API kompatibel, sodass sich bestehende Clients direkt anbinden lassen.

Weiterlesen nach der Anzeige

Mit der aktuellen Ubuntu-Version, 26.10 Stonking Stingray, wurde ein KI-Feature veröffentlicht: Myna ist ein Speech-to-Text-Programm, das auf Desktopsystemen flüssiges Diktieren ermöglicht und das Ergebnis in beliebige Textfelder schreibt. Es setzt auf sogenannte Inference-Snaps auf: Snap ist Ubuntus hauseigenes Paketformat, und im Snap Store sind verschiedene KI-Modelle verfügbar, die komplett auf dem eigenen Gerät laufen und keine Internetverbindung benötigen. Als einheitliche Schnittstelle steht nun der Inference Manager bereit, mit dem Modelle verwaltet werden können. Über TCP-Port 8400 lassen sich alle installierten Modelle ansprechen: Chat-Assistenten auf dem Desktop, Coding-Agenten im Editor oder eben Speech-to-Text-Programme können so auf ihre entsprechenden Modelle zugreifen.


Eine Carrera-Rennbahn mit zwei fahrenden Autos auf einem Fußboden, die mit Ubuntu-Logos dekoriert ist.

Eine Carrera-Rennbahn mit zwei fahrenden Autos auf einem Fußboden, die mit Ubuntu-Logos dekoriert ist.

Die Autos werden von einem KI-Modell gesteuert, das Befehle entgegennimmt.

(Bild: Marvin Shah / heise medien)

Auf dem Ubuntu Summit machte Canonical dieses Konzept mit einer Carrera-Bahn erlebbar, bei der KI-Modelle die Autos steuerten. In einer Webapplikation ließen sich verschiedene Modelle auswählen, die „Fahrer“ reagierten auf Sprachbefehle wie „fahr schneller“.


Ein Monitor zeigt ein Rennspiel-Dashboard mit Grafiken und Live-Daten.

Ein Monitor zeigt ein Rennspiel-Dashboard mit Grafiken und Live-Daten.

Der „Ubuntu Summit GP“ soll die Möglichkeiten des Inference Managers demonstrieren.

(Bild: Marvin Shah / heise medien)

Der Inference Manager wird als Snap ausgeliefert und kann mit sudo snap install inference oder über das App Center installiert werden. Danach können mit Befehlen wie inference install smollm2 Modelle installiert werden, um sie anschließend zu nutzen. Inference Manager ist ab sofort im Snap Store verfügbar.


Ein Terminalfenster zeigt Befehle wie inference models und status mit Ausgaben.

Ein Terminalfenster zeigt Befehle wie inference models und status mit Ausgaben.

Inference Manager verwaltet lokale KI-Modelle.

(Bild: Marvin Shah / heise medien)

Während Teile der Open-Source-Community den Einsatz von KI kontrovers diskutieren, will Canonical bei Ubuntu auf lokal laufende Open-Weight-Modelle setzen. Geplant sind etwa kontextsensitive Hilfe bei der Fehlersuche, bessere Spracherkennung für die Barrierefreiheit und Automatisierungen durch agentische Workflows. Die KI-Funktionen sollen laut Canonical als Opt-in kommen und sich jederzeit deinstallieren lassen.


(ktn)



Source link

Weiterlesen

Entwicklung & Code

AWS Emulator im Detail: Die ganze Cloud auf dem eigenen Rechner?


close notice

This article is also available in
English.

It was translated with technical assistance and editorially reviewed before publication.

Amazon Web Services (AWS) hat einen eigenen AWS Emulator veröffentlicht. Er bildet die AWS-APIs auf dem eigenen Rechner nach, AWS CLI, SDKs und Coding-Agenten schicken ihre Aufrufe an einen lokalen HTTPS-Endpunkt. Mit seinem Stolz darauf, dass der Emulator vollständig von KI-Agenten entwickelt wurde, setzte sich AWS aber direkt in die Nesseln: Die Rezeption fiel kritisch aus – wie bei hundertprozentig KI-generierter Software zurzeit üblich – und dem Vergleich mit etablierten Drittanbieter-Tools wie LocalStack hält der Emulator wohl noch nicht stand.

Weiterlesen nach der Anzeige

Entwickler könnte er dennoch interessieren: AWS-Anwendungen lassen sich ohne Deployment lokal testen, CI/CD-Pipelines brauchen keine AWS-Zugangsdaten mehr und – was AWS besonders unterstreicht – Coding-Agenten können schneller und risikoärmer Ressourcen anlegen und Ergebnisse prüfen. AWS bringt also agentisch entwickelte Software für die Entwicklung mit Agenten. Es fällt keine Servicegebühr an, ein AWS-Konto braucht es nicht und der Quellcode steht unter der CC0-Lizenz auf GitHub.

iX-plore ist die Online-Serie des iX-Magazins für alle, die neue Tools und Technologien entdecken möchten. In kurzen Beiträgen stellen wir vor, was sie können, wofür sie sich eignen und warum sich ein genauerer Blick lohnen könnte.

Der Emulator ist in Rust geschrieben, die Dienste erzeugt AWS aus denselben API-Modellen, aus denen auch die SDKs entstehen. Kommt ein Dienst oder eine API hinzu, tauchen sie im Emulator auf. Alle Dienste, für die ein Modell im öffentlichen Repository AWS API Models liegt, werden auch unterstützt.

Wie genau der Emulator AWS nachbildet, misst AWS mit Fidelity-Tests. Jeder Test ist ein kurzes Python-Programm, das über das AWS-SDK boto3 einen Ablauf durchspielt, etwa ein Objekt zu speichern, zu lesen und wieder zu löschen. Die Abläufe werden dann gegen die echte Cloud geprüft, als Referenz dient die Region US West (Oregon), während globale Dienste in US East (N. Virginia) geprüft werden. Der Emulator besteht einen Test nur, wenn bei jedem Aufruf Statuscode, Antwort, Fehlercode und Fehlermeldung mit der Cloud übereinstimmen, dasselbe gilt für die Ressourcen und Daten, die der Ablauf erzeugt. Die Testsuite umfasst Zehntausende Tests, ist öffentlich und enthält auch die, die noch scheitern. Mit dem Python-Programm fidelity_tests_runner können Nutzer die Tests lokal gegen den Emulator laufen lassen.

Trotz der hohen API-Abdeckung hat die Emulation aber bewusste Grenzen: Für Sicherheitstests eignet sich das Tool laut AWS nicht, da es weder IAM- noch ressourcenbasierte Richtlinien wie die echte Cloud auswertet. Auch Cross-Account- und Cross-Region-Szenarien bildet es nicht ab, sämtliche Aufrufe laufen unter einer festen Dummy-Konto-ID.

Jede Instanz des Emulators bekommt einen eigenen Port, eigene Schlüssel und einen eigenen Zustand im Arbeitsspeicher. Mehrere Agenten oder CI-Jobs teilen sich also keine Buckets, Tabellen oder Queues und arbeiten parallel, ohne sich gegenseitig Ressourcen zu überschreiben. Nutzer des AWS SDK for Rust können den Emulator außerdem im Embedded-Modus betreiben, wobei er direkt ins Test-Binary kompiliert wird. Er läuft dann im selben Prozess und der Test übergibt dem SDK einen HTTP-Client des Emulators statt des Netzwerk-Connectors. Auch hier sind die Instanzen voneinander isoliert, sodass Tests parallel laufen können.

Weiterlesen nach der Anzeige

Coding-Agenten können den Emulator mit dem Skill aws-emulator direkt installieren, starten und verbinden, dafür braucht es allerdings die AWS CLI ab Version 2.35.0. Solche Skills sind im Prinzip Markdown-Anleitungen, die der Agent bei Bedarf lädt. Der Befehl aws agent-toolkit add-skill in der AWS CLI installiert sie für alle Agenten, die es auf dem Rechner findet. Unter Linux gibt es RPM- und Debian-Pakete, unter Windows und macOS einen Docker-Container. Ein fertiges Docker-Image gibt es nicht, das müssen Nutzer aus einem kurzen Dockerfile aus der Dokumentation zusammenbauen. Standardmäßig sendet der Emulator anonymisierte Nutzungsdaten an AWS, was sich jedoch per Start-Flag oder Umgebungsvariable abschalten lässt.

Wer den Emulator selbst kompiliert, braucht Linux auf x86_64 oder aarch64, eine Rust-Toolchain, einen C-Compiler und mindestens 100 GByte freien Speicherplatz für die Build-Artefakte. Jeder emulierte Dienst ist ein eigenes Rust-Paket (Crate), weshalb schon ein Debug-Build sehr groß wird. Das gilt auch für den Embedded-Modus, denn der erste cargo test-Lauf kompiliert sämtliche Service-Crates des Emulators mit. AWS empfiehlt, das Build-Verzeichnis in der CI zu cachen und den Emulator auf einen Release-Commit festzulegen.

Matthew Goldberg, Senior Principal Engineer im Developer-Tools-Team von AWS, setzt mit dem Emulator eine KI-Duftnote: Nicht nur ist die Software vor allem auf das schnelle Testen von agentischer KI zugeschnitten, sondern sie ist laut Amazons Firmenblog auch ausschließlich von autonomen Agenten geschrieben. Das Team hat den Code weder verfasst noch geprüft. Goldberg beschreibt, wie ihn der autonome Bau eines C-Compilers von Agenten dazu inspirierte und der Emulator aus einem simplen Wochenendprojekt hervorging. Ein Team von Agenten pflegt die Testsuite, ein zweites sucht Abweichungen von der echten Cloud, ein drittes setzt die Korrekturen um. Jede Änderung muss zudem vor dem Merge ein automatisiertes Quality Gate passieren, an dem weitere Agenten unter anderem die Sicherheit des Codes kontrollieren.

Die autonome Entwicklung lässt sich in den Repository-Verzeichnissen issues/things-that-now-work und issues/things-that-do-not-work nachvollziehen, in die die Agenten hineinschreiben. Menschliche Hilfe von außen ist dabei nicht vorgesehen: Zwar können Nutzer auf GitHub Fehler melden, Pull-Requests nimmt AWS für das Projekt aber nicht an. Ganz unabhängig von dem Tool an sich ist hier also anschaulich zu sehen, in welche Richtung Softwareentwicklung gerade steuert – und wie die großen Systemhäuser versuchen, Vibe-Coding sinnvoll anzugehen.


(kki)



Source link

Weiterlesen

Entwicklung & Code

Gestohlene Token: Secret-Stealer in Tausenden GitHub-Repositories


Mit gestohlenen Zugriffstoken für GitHub-Konten schleusen unbekannte Angreifer seit Dienstag Schadcode in Repositories ein, der die Secrets aus GitHub Actions und Cloudzugangsdaten abgreift.

Weiterlesen nach der Anzeige

Das Sicherheitsunternehmen Aikido zählt im Rahmen der auf den Namen wfx-loot getauften Kampagne bereits 4837 übernommene Konten, über die die Angreifer 61.764 Repositories attackiert haben. In mehr als 1800 Fällen sollen Workflows den Schadcode bereits ausgeführt haben.

Die Angreifer nutzen anscheinend keine Lücke in GitHub Actions aus, sondern missbrauchen die Schreibrechte gestohlener Token. Woher diese stammen, ist nur teilweise geklärt. Laut Fly.io wurden Token seiner GitHub-App missbraucht, die aus öffentlich erreichbaren .git/config-Dateien stammten; der Hoster widerruft sie. Eine Stellungnahme von GitHub liegt noch nicht vor.

Das Sicherheitsunternehmen SafeDep hat Schadcode-Commits bereits in über 8000 öffentlichen Repositories gefunden. Noch am Donnerstagmittag listete die GitHub-Suche mehr als 66.000 der typischen Test-Pull-Requests, rund 4300 davon vom selben Tag.

Ähnlich wie zuletzt beim Wurm testmetest erreichen Angreifer laut Aikido über Mitwirkenden- und Organisationsrechte mit über 10.000 Test-Pull-Requests auch Repositories, die den übernommenen Konten nicht selbst gehören. Damit können auch Organisationen betroffen sein, deren eigene Zugangsdaten gar nicht gestohlen wurden. Dürfen die Workflows eines Repositorys auf AWS oder Azure zugreifen, nutzt der Schadcode die erbeuteten Zugänge, um Hintertüren in den Cloudkonten einzurichten.

Die Angreifer lassen ihren Opfern kaum Zeit zu reagieren. Sie öffnen zunächst einen Pull Request, um die Schreibrechte zu bestätigen. Dann folgt der eigentliche Schadcode: ein Shellskript, das die Angreifer in einen bestehenden Workflow einfügen, als neuen Workflow ablegen oder in npm-Projekten bei jeder Installation starten lassen.

Meist schon innerhalb einer Minute machen die Angreifer die Änderungen rückgängig und löschen den Workflow-Lauf samt Logs. Oft weist nur eine fehlende Laufnummer auf den Angriff hin. Eine Branch-Protection für vorgeschriebene Status-Checks kann das Skript mit gefälschten Erfolgsmeldungen aushebeln. Aikido zufolge setzt das Skript solche gefälschten Status-Checks tatsächlich ab; in den von SafeDep untersuchten Proben war diese Funktion dagegen nicht aktiviert.


Mit einem gestohlenen Token testen die Angreifer zuerst ihre Schreibrechte, bevor sie den Stealer auf einem von drei Wegen einschleusen und die Änderung wieder zurücknehmen.

Mit einem gestohlenen Token testen die Angreifer zuerst ihre Schreibrechte, bevor sie den Stealer auf einem von drei Wegen einschleusen und die Änderung wieder zurücknehmen.

Mit einem gestohlenen Token testen die Angreifer zuerst ihre Schreibrechte, bevor sie den Stealer auf einem von drei Wegen einschleusen und die Änderung wieder zurücknehmen.

(Bild: SafeDep)

Neben Token für KI-Dienste wie OpenAI, Anthropic oder Cursor fischt das eingeschleuste Skript insbesondere die Secrets aus GitHub Actions ab, außerdem Zugangsdaten für Clouddienste, Container-Umgebungen, Paketregister und SSH.

Weiterlesen nach der Anzeige

Haben die Bedrohungsakteure erst einmal Zugang zu Sitzungen bei AWS, Google Cloud und Azure, geht der Angriff weiter: Bei AWS öffnet das Skript eine IAM-Rolle für jedes AWS-Konto, in Azure trägt es zusätzliche Anmeldewege für Workflows aus dem kompromittierten Repository ein. Erbeutete Daten schickte das Skript laut Aikido in dieser Kampagne per HTTP an Server der Angreifer. SafeDep fand in untersuchten Payloads zudem eine Exfiltration über Telegram.

Entwicklerinnen und Entwickler, die seit Dienstag einen Branch wfx-docs, den Pull-Request docs: dependency audit notes oder Commits wie ci: refresh build cache, chore: add ci helper und chore: add dependency audit workflow in ihren Repositories finden, sollten das zugehörige Konto als kompromittiert ansehen, auch wenn noch kein Schadcode folgte. Verdächtig sind laut den Sicherheitsforschern von Aikido zudem kurzlebige Branches, die mit chore/ beginnen und auf acht Zufallszeichen enden. Betroffene sollten Token, OAuth-Freigaben und SSH-Schlüssel ihres Kontos widerrufen.

Wurde bereits Schadcode ausgeführt, müssen Betroffene neben dem Austausch der Secrets auch die Hintertüren eigens entfernen, etwa AWS-Rollen, die jedem Konto vertrauen, oder in Azure Federated Credentials mit dem Präfix wfx-ci-. Wer npm install auf einem betroffenen Commit ausgeführt hat, muss auch den eigenen Rechner als kompromittiert betrachten.

Der Schadcode gelangte auch in Paketdistributionen. Aikido nennt das Packagist-Paket digitalelvis/neuronai-studio 3.14.3 sowie die Go-Modul-Versionen github.com/onuragtas/docker-env v1.0.278 und v1.0.280. SafeDep führt darüber hinaus github.com/onuragtas/redock, eine weitere docker-env-Version und eine über den Go-Modul-Proxy verfügbare Pseudo-Version von github.com/vkuznet/gocurl auf. Bei den Go-Modulen liegt der Schadcode in einer GitHub-Actions-Workflow-Datei; ein gewöhnlicher Go-Build führt diese nicht aus. Wer ein solches Modul lediglich als Go-Abhängigkeit einbindet, ist dadurch wahrscheinlich nicht betroffen.


(mro)



Source link

Weiterlesen

Beliebt