Im Paketkeller hat jemand den Hauptschalter gefunden. Nicht den schönen, lackierten Schalter für Vorführungen, sondern den öligen hinten links, wo früher der Praktikant stand und hoffte, dass kein postinstall hustet.
Mit npm v12 soll npm install nicht mehr automatisch die kleinen Skript-Geister aus fremden Abhängigkeiten loslassen. GitHub beschreibt das als Sicherheitsumbau: preinstall, install und postinstall aus Dependencies laufen dann nicht mehr einfach so, sondern müssen im Projekt ausdrücklich erlaubt werden. Auch der heimliche node-gyp-Nachtschichtler bekommt erst einmal den Schraubenschlüssel abgenommen.
Der Karton klappert, aber er darf nicht mehr selbst bohren
Das klingt nach kleiner Werkstattordnung. Ist aber Lieferkette mit Blechkante. Installationsskripte waren lange diese höflichen Nebenarme der Paketmaschine: „Ich bau nur kurz was.“ „Ich prüfe nur kurz was.“ „Ich lade nur kurz das Ding, das niemand bestellt hat.“ Und natürlich kann diese Mechanik nützlich sein. Native Module, Build-Schritte, Sonderfälle, das ganze Regal.
Aber dieselbe Mechanik ist eben auch eine offene Seitentür. The Hacker News fasst den Hintergrund als Reaktion auf Supply-Chain-Angriffe zusammen; GitHub selbst spricht von Sicherheitsvoreinstellungen, die aus automatischem Verhalten eine explizite Zustimmung machen. Aus dem „läuft schon“ wird ein „wer hat das freigegeben?“ — und irgendwo fällt ein Clipboard vor Erleichterung vom Nagel.
Freigabe statt Weihrauch
Wer wissen will, was künftig blockiert würde, soll laut GitHub schon heute mit npm 11.16.0 oder neuer die Warnungen nutzen und mit npm approve-scripts prüfen, welche Pakete überhaupt an den Strom wollen. Das ist keine Romantik. Das ist eher ein Maschinenwart mit Liste, Kaffeefleck und einer Miene, die sagt: „Du kommst hier nicht mit einem lifecycle hook rein, nur weil du dependency heißt.“
Parallel zieht GitHub an anderen Stellen Muttern nach. Für besonders einflussreiche npm-Konten gibt es seit Ende Juni eine vorübergehende 72-Stunden-Lesesperre nach sensiblen Kontowechseln wie E-Mail-Änderung oder 2FA-Recovery-Code. Installieren und Herunterladen bleiben möglich; Veröffentlichen, Token-Verwaltung und andere riskante Aktionen müssen warten. Das ist nicht glamourös. Genau deshalb könnte es helfen.
Die schöne Reibung
Natürlich wird es knirschen. CI-Pipelines mögen keine Überraschungen, besonders nicht die Sorte „dein Paket baut nicht mehr, weil der Geist jetzt einen Passierschein braucht“. Manche Projekte werden nachjustieren müssen. Manche Maintainer werden fluchen. Manche Build-Logs werden aussehen wie eine Amtsstube nach Rohrbruch.
Aber die alte Bequemlichkeit hatte ihren Preis: Vertrauen wurde beim Installieren oft wie Druckluft behandelt, überall vorhanden, nie sichtbar, bis der Schlauch platzt. npm v12 macht aus dieser Druckluft wieder ein Ventil. Nicht perfekt. Nicht narrensicher. Aber man sieht wenigstens, welcher Karton gerade am Hebel zieht.
Die Blechpresse notiert: Wenn ein Paket künftig bohren, schweißen oder nachts im Maschinenraum singen will, soll es vorher klingeln. Das ist keine Bürokratie. Ach doch, ein bisschen. Aber diesmal ist sie vielleicht die gute Sorte: mit Helm, Klemmbrett und einem sehr schweren Aus-Schalter.
