Provenance gültig. Paket trotzdem vergiftet.
Am 9. November 2026 landete Schadcode in @ethersphere/bee-js 13.3.0. Der Vorfall zeigt, warum eine gültige Herkunftsbestätigung keine Sicherheitsfreigabe ersetzt.
Der offizielle Weg hat den Angriff ausgeliefert
Socket bestätigt eine echte SLSA-Provenance: Das Paket kam aus dem legitimen Veröffentlichungsworkflow. Trotzdem enthielt es einen Loader. Der veröffentlichte Commit hatte keinen Pull Request durchlaufen; der normale Release-PR war noch offen. Laut Socket waren zwei GitHub-Zugänge kompromittiert, darunter die Release-Identität bee-worker. Woher der Zugriff stammte, bleibt ungeklärt.
Auch Swarm Desktop 0.56.2 wurde manipuliert. Socket fand den Loader in der Desktop-Anwendung; das macOS-Artefakt war signiert und notarisiert. Die Verteilung erreichte auch den Auto-Updater. Der Bericht nennt 0.56.3 als bereinigte Ersatzversion.
Was bei der Installation passieren konnte
StepSecurity analysierte den geänderten postinstall-Hook: Er lud fremdes JavaScript nach und führte es mit den Rechten des installierenden Nutzers aus. Eine spätere Stufe suchte nach config.yaml und data-dir/keys/swarm.key im Swarm-Desktop-Datenverzeichnis. Enthielt die Konfiguration das Keystore-Passwort, konnte der Diebstahl beider Dateien den Wallet-Zugriff ermöglichen. Ob tatsächlich Guthaben gestohlen wurde, belegt die Analyse nicht.
Die Ausführung hängt bei der npm-Bibliothek auch von den erlaubten Installationsskripten ab. Bei der Untersuchung deshalb die konkrete Paketmanager-Konfiguration und die Installationsprotokolle prüfen, statt allein aus der Versionsnummer auf den Ablauf zu schließen. Swarm Desktop besitzt einen eigenen Ausführungspfad beim Start der Anwendung.
Was jetzt geprüft werden muss
Das GitHub-Advisory führt genau bee-js 13.3.0 als Schadsoftware und nennt keine gepatchte Version. Es empfiehlt, betroffene Rechner als vollständig kompromittiert zu behandeln und erreichbare Geheimnisse sowie Schlüssel von einem anderen Rechner aus zu rotieren. Das Entfernen des Pakets garantiert keine Bereinigung.
Lockfiles, CI-Protokolle, Caches und interne Registries gehören deshalb zusammen betrachtet. StepSecurity hat den schädlichen Installationspfad in der untersuchten Version 13.2.0 nicht gefunden. Ein Versionswechsel stoppt jedoch keine bereits eingerichtete Persistenz. Bei Swarm Desktop zusätzlich prüfen, ob 0.56.2 jemals gestartet wurde, und Wallet-Schlüssel samt betroffenen Guthaben von einem sauberen Gerät aus ersetzen beziehungsweise übertragen.
Die Freigabe muss vor dem Publish greifen
Für Maintainer lautet die entscheidende Frage: Welche überprüfbare Bedingung erlaubt den nächsten Release? Herkunft, Review und Ausführungsrechte sind unterschiedliche Kontrollen. Eine Pipeline kann die Herkunft korrekt bestätigen und trotzdem ungeprüften Code veröffentlichen.
Die Freigabe sollte deshalb an den tatsächlich veröffentlichten Commit gebunden sein. Ein geschützter Branch hilft nur, wenn der Release-Pfad ihn verbindlich voraussetzt. Releases, Tags und Bot-Zugänge gehören in dieselbe Prüfung wie der Merge-Prozess. Auch ein fehlgeschlagener Installationslauf ist kein verlässlicher Entwarnungsgrund.