Im Python-Paket-Repository PyPI (Python Package Index) wurde eine neue sichere Methode zur Veröffentlichung von Paketen eingeführt, die es ermöglicht, ohne Speicherung fester Passwörter und API-Zugangstoken in externen Systemen (z. B. in GitHub Actions) auszukommen. Die neue Authentifizierungsmethode trägt den Namen ‚Trusted Publishers‘ und soll das Problem der Veröffentlichung von schädlichen Aktualisierungen lösen, die durch die Kompromittierung externer Systeme und den erlangten Zugriff auf vorab festgelegte Passwörter oder Token durch Angreifer verursacht werden.
Die neue Authentifizierungsmethode basiert auf dem Standard OpenID Connect (OIDC), der die Verwendung von Authentifizierungstoken mit begrenzter Lebensdauer vorsieht, die von externen Diensten und dem PyPI-Katalog ausgetauscht werden, um die Veröffentlichung eines Pakets zu bestätigen, anstelle der Verwendung von traditionellen Benutzernamen/Passwörtern oder manuell generierten permanenten API-Zugangstoken. Die Möglichkeit, den Mechanismus ‚Trusted Publishers‘ anzuwenden, wurde bereits für in GitHub Actions ausgeführte Handler implementiert. In Zukunft wird auch Unterstützung für Trusted Publishers in anderen externen Diensten erwartet.
Begleitpakete können seitens PyPI Kennzeichen des Vertrauens für Identifikatoren festlegen, die von externen OpenID-Anbietern (IdP, OpenID Connect Identity Provider) bereitgestellt werden, die der externe Dienst nutzen wird, um bei PyPI kurzlebige Tokens zu beantragen. Die generierten OpenID Connect-Token bestätigen die Verbindung zwischen dem Projekt und dem Handler, was es PyPI ermöglicht, zusätzliche Überprüfungen der Metadaten durchzuführen, z. B. zu überprüfen, ob das veröffentlichte Paket mit einem bestimmten Repository übereinstimmt. Die Tokens werden nicht gespeichert, sind an bestimmte APIs gebunden und verlieren automatisch nach Ablauf einer kurzen Lebensdauer ihre Gültigkeit.
Zusätzlich ist der Bericht des Unternehmens Sonatype erwähnenswert, der Informationen über die Entdeckung von 6933 bösartigen Paketen im PyPI-Katalog im März 2023 enthält. Seit 2019 hat die Anzahl der erkannten bösartigen Pakete im PyPI 115.000 überschritten. Die meisten bösartigen Pakete tarnen sich als beliebte Bibliotheken durch Typ-Squatting (die Verwendung ähnlicher Namen, die sich nur in einzelnen Zeichen unterscheiden, wie exampl statt example, djangoo statt django, pyhton statt python usw.) – die Angreifer zählen auf unachtsame Benutzer, die Tippfehler machen oder Unterschiede im Namen während der Suche nicht bemerken. Die bösartigen Aktivitäten beschränken sich normalerweise auf das Senden sensibler Daten, die auf dem lokalen System durch die Erkennung von typischen Dateien mit Passwörtern, Zugriffsschlüsseln, Krypto-Wallets, Token, Sitzungs-Cookies und anderen vertraulichen Informationen gefunden werden.
Quelle: opennet.ru
