Das von ReversingLabs analysierte Paket trug den Codenamen StripeApi.Net und zielte darauf ab, die legitime Bibliothek Stripe.net nachzuahmen – ein offizielles Produkt von Stripe, das auf mehr als 75 Millionen Downloads kommt. Laut dem Forscher Petar Kirhmajer war die NuGet-Seite des Schadpakets so gestaltet, dass sie der Originalseite möglichst nahekam: Sie verwendete dasselbe Icon und enthielt eine nahezu identische Readme, in der lediglich die Verweise auf “Stripe.net” durch “Stripe-net” ersetzt worden waren.
Um dem getarnten Paket zusätzliche Glaubwürdigkeit zu verleihen, blähten die Angreifer die Download-Zahl künstlich auf über 180.000 auf. Auffällig dabei: Die Downloads verteilten sich auf 506 Versionen, von denen jede im Schnitt rund 300 Downloads verzeichnete.
Die eigentliche Schadfunktion blieb verborgen. Das Paket replizierte einen Teil der Funktionalität des echten Stripe-Pakets, veränderte jedoch einzelne kritische Methoden, um sensible Daten – insbesondere den Stripe-API-Token des Nutzers – zu sammeln und an die Angreifer zu übertragen. Da der restliche Code voll funktionsfähig blieb, war es unwahrscheinlich, dass ahnungslose Entwickler, die das Paket versehentlich eingebunden hatten, Verdacht schöpften.
“Entwickler, die eine getarnte Bibliothek wie StripeAPI.net irrtümlich herunterladen und integrieren, können ihre Anwendungen weiterhin erfolgreich kompilieren und wie vorgesehen betreiben”, erklärte Kirhmajer. Zahlungen würden normal verarbeitet, und aus Sicht des Entwicklers wirke nichts gestört. Im Hintergrund würden jedoch heimlich sensible Daten kopiert und von den Angreifern ausgeschleust.
Nach Angaben von ReversingLabs wurde das Paket relativ kurz nach seiner Veröffentlichung entdeckt und gemeldet, sodass es entfernt werden konnte, bevor ernsthafter Schaden entstand. Das Unternehmen für Software-Lieferketten-Sicherheit wertet die Aktion als Verschiebung gegenüber früheren Kampagnen: Bislang hätten gefälschte NuGet-Pakete vor allem das Krypto-Ökosystem ins Visier genommen, um Wallet-Schlüssel zu stehlen.
