NuGet ist der zentrale Paketmanager für das Microsoft .NET-Ökosystem und wird von Millionen von Entwicklern weltweit genutzt. Entwickler verwenden API-Keys, um ihre Pakete in das öffentliche Repository hochzuladen oder zu verwalten. Diese Keys sind sensible Authentifizierungsmittel, da ein kompromittierter Key es Angreifern ermöglichen könnte, bösartige Code-Versionen hochzuladen.

Bislang gab es für die Gültigkeit von NuGet-API-Keys keine strikte zeitliche Beschränkung oder diese war sehr grosszügig bemessen. Dies bedeutete, dass ein gestohlener Key theoretisch über längere Zeit hinweg missbraucht werden konnte, ohne dass der Entwickler dies sofort bemerkte. Microsoft hat nun beschlossen, dies zu ändern.

Ab sofort wird die maximale Gültigkeit von API-Keys auf 30 Tage begrenzt. Dies betrifft sowohl neu erstellte Schlüssel als auch bereits existierende Keys. Für bestehende Keys, die länger gültig sind, werden diese automatisch auf die neue 30-Tage-Grenze herabgesetzt. Dies bedeutet, dass Entwickler ihre Keys regelmässig erneuern müssen.

Auf den ersten Blick könnte diese Massnahme als Unbequemlichkeit erscheinen, aber aus Sicherheitssicht ist es ein wichtiger Schritt. Regelmässig rotierende Credentials sind ein bewährtes Sicherheitspattern, das das Risiko minimiert, das mit der Kompromittierung eines einzelnen Keys verbunden ist. Falls ein Key gestohlen wird, ist das Zeitfenster für den Missbrauch deutlich kürzer.

Für Entwickler und Organisationen bedeutet dies, dass automatisierte Prozesse eingerichtet werden sollten, um Keys regelmässig zu erneuern. Dies kann über CI/CD-Pipelines erfolgen. Die Massnahme ist Teil von Microsofts breiteren Bemühungen, die Supply-Chain-Sicherheit zu verbessern und die Open-Source-Ökosysteme besser zu schützen.