GitHub will npm-Pakete besser vor Manipulation schützen

Manipulierte npm-Pakete mit Schadcode werden zu einem immer größeren Problem. GitHub möchte in Zukunft die Authentizität der Pakete überprüfbar machen.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen
Paketzustellung, Pakete, Online-Shopping

(Bild: QuinceMedia, gemeinfrei)

Lesezeit: 2 Min.
Von
  • Dr. Oliver Diedrich

Angriffe auf die Software Supply Chain sind ein zunehmendes Problem. So wurden im Juni dieses Jahres Python-Pakete mit einer Backdoor im Python Package Index PyPI entdeckt, im Juli 1200 Module mit einem Cryptominer im Javacript-Repository npm, Anfang August Packages mit Ransomware in PyPI.

Dass gerade npm und PyPI besonders unter Beschuss sind, dürfte daran liegen, dass JavaScript und Python derzeit viel genutzt werden und es in beiden Ökosystemen üblich ist, zahlreiche externe Module zu nutzen: Neue Webprojekte starten typischerweise mit npm install, Data-Science-Projekte meist mit pip install.

Gerade die seit 2020 von der Microsoft-Tochter GitHub betriebene npm Registry ist schon seit Jahren gezielten Angriffen ausgesetzt. So klaute 2018 eine manipulierte Version der verbreiteten EventStream-Bibliothek Bitcoins. Im November 2021 wurden die npm-Pakete coa und rc über einen kompromittierten Maintainer-Account mit einem Trojaner versehen – beide Pakete kommen zusammen auf über 20 Millionen Downloads pro Woche. Als Konsequenz kündigte GitHub damals die Einführung verpflichtender 2-Faktor-Authentifizierung an.

Die verschiedenen Angriffsarten auf die Software Supply Chain.

Mit seinem neuesten Vorschlag zum Schutz von npm-Paketen vor Manipulation will GitHub eine feste Verbindung zwischen dem zum Download angebotenen npm-Paket und seinem überprüfbaren Quellcode herstellen, ohne dass Entwickler selbst mit kryptografischen Signaturen hantieren oder persönliche Informationen wie ihre Mailadresse preisgeben müssen. Zunächst soll sich die Verbindung mit dem Befehl npm audit signature prüfen lassen, später könnte das automatisch bei jedem npm install passieren.

Diese Verbindung, die vor Angriffen wie denen auf coa und rc schützen würden, soll die Open-Source-Software Sigstore der Linux Foundation und Open Source Security Foundation leisten. An ihrer Entwicklung sind unter anderem Red Hat, Google und die Purdue University beteiligt. Der RFC "Link npm packages to the originating source code repository and build" erläutert im Detail, wie das Signieren von Paketen funktionieren soll und welche Rolle Sigstore dabei spielt. Nun bittet GitHub um Feedback von der Community.

(odi)