Ab Version VS Code 1.123 fuehrt Microsoft eine zweistuendige Verzoegerung der automatischen Aktualisierung von Erweiterungen ein – ein einfaches, aber wirksames Mittel zum Schutz vor Angriffen auf die Software-Lieferkette. Die Verzoegerung verschafft der Community und Sicherheitssystemen Zeit, boesartige oder kompromittierte Erweiterungsversionen zu erkennen, bevor sie sich massenhaft unter Millionen von IDE-Nutzern verbreiten. Die Neuerung fuegt sich in einen branchenweiten Trend ein: Aehnliche Mechanismen eines Mindestalters fuer Pakete sind bereits in npm, pnpm, Yarn und Bun umgesetzt.
Wie die Verzoegerung in VS Code funktioniert
Wenn die automatische Aktualisierung von Erweiterungen aktiviert ist, werden neue Versionen nun nicht mehr sofort, sondern zwei Stunden nach ihrer Veroeffentlichung installiert. In der VS-Code-Oberflaeche sieht der Benutzer den Grund, warum das Update noch nicht angewendet wurde, sowie den genauen Zeitpunkt, zu dem es automatisch installiert wird. Eine manuelle Aktualisierung ueber die Schaltflaeche „Update“ ist dabei weiterhin jederzeit moeglich – die Verzoegerung betrifft ausschliesslich den automatischen Prozess.
Wichtiges Detail: Die zweistuendige Verzoegerung gilt nicht fuer Erweiterungen von vertrauenswuerdigen Publishern – Microsoft, GitHub und OpenAI. Die Erweiterungen dieser Unternehmen werden weiterhin sofort aktualisiert. Das ist ein Kompromiss: Einerseits verfuegen grosse Anbieter ueber eigene Prozesse zur Codepruefung und Release-Signierung; andererseits waere gerade die Kompromittierung eines vertrauenswuerdigen Publishers die groesste Bedrohung, und in einem solchen Szenario wuerde die Verzoegerung nicht greifen.
Brancheneinordnung: Mindestalter fuer Pakete
Die Entscheidung von Microsoft ist Teil einer breiteren Entwicklung im Entwicklungs-Oekosystem. Im letzten Jahr wurden Verzoegerungsmechanismen fuer die Installation neuer Paketversionen in mehreren Paketmanagern eingefuehrt:
- npm v11.10.0+ — Parameter
min-release-age(Dokumentation) - Yarn Berry 4.10.0+ — Parameter
npmMinimalAgeGate(Release auf GitHub) - pnpm 10.16+ — Parameter
minimumReleaseAge(Release-Hinweise) - Bun 1.3+ — Parameter
minimumReleaseAge(Projektblog)
Die Logik ist in allen Faellen dieselbe: Die meisten boesartigen Pakete werden in den ersten Stunden nach der Veroeffentlichung entdeckt und aus den Registern entfernt. Die Installationsverzoegerung verkleinert das Zeitfenster, in dem sich eine kompromittierte Version verbreiten kann, bevor sie als schaedlich markiert und entfernt wird. Das ist kein Allheilmittel, sondern eine zusaetzliche Schutzschicht, die speziell gegen das haeufigste Szenario wirkt – die schnelle Veroeffentlichung eines boesartigen Updates mit dem Ziel, es ueber automatische Updates breit zu verteilen.
Bewertung der Wirksamkeit und Grenzen
Das zweistuendige Zeitfenster ist ein sinnvoller Kompromiss zwischen Sicherheit und Komfort. Fuer Angriffe nach dem Muster „Uebernahme eines Entwicklerkontos mit anschliessender Veroeffentlichung eines boesartigen Updates“ reicht diese Zeit oft aus, damit automatisierte Ueberwachungssysteme oder aufmerksame Nutzer die Anomalie bemerken. Dennoch sind einige Einschraenkungen zu beachten:
- Die Verzoegerung schuetzt nicht vor gezielten Angriffen, bei denen boesartiger Code sorgfaeltig getarnt ist und wochenlang unentdeckt bleiben kann
- Die Ausnahme fuer vertrauenswuerdige Publisher schafft einen privilegierten Kanal, der selbst zum Angriffsziel werden kann
- Zwei Stunden sind ein fester Wert; im Unterschied zu Paketmanagern bietet VS Code dem Nutzer derzeit keine Moeglichkeit, die Dauer der Verzoegerung zu konfigurieren
Empfehlungen
Fuer Entwicklungsteams, die VS Code einsetzen, sorgt ein Update auf Version 1.123 dafuer, dass die Verzoegerung ohne zusaetzliche Konfiguration automatisch aktiviert wird. Fuer JavaScript- und TypeScript-Projekte empfiehlt es sich zudem, die Einstellungen zum Mindestalter von Paketen im verwendeten Paketmanager zu aktivieren – min-release-age in npm oder entsprechende Optionen in pnpm, Yarn und Bun. Diese Parameter muessen in der Regel explizit eingeschaltet werden und sind standardmaessig nicht aktiv.
Die Einfuehrung von Update-Verzoegerungen in VS Code und den fuehrenden Paketmanagern etabliert einen neuen Standard fuer den Schutz der Lieferkette auf Ebene der Entwicklerwerkzeuge. Konkrete Handlungsempfehlung: Ueberpruefen Sie die Konfiguration jedes Paketmanagers in Ihren Projekten und setzen Sie das Mindestalter fuer Pakete auf mindestens einige Stunden – ein minimaler Aufwand, der das Risiko der automatischen Installation frisch veroefentlichter boesartiger Pakete deutlich reduziert.