Sicherheitslücken in NuGet Paketen finden
Externe OpenSource Pakete finden sich heutzutage in jeder Software wieder. Egal ob Privatprojekt oder großer Unternehmenssoftware, es ist so gut wie unmöglich geworden ohne externe Open-Source-Komponenten Software zu entwickeln.
OpenSource-Pakete werden in der Regel über Paketmanager wie NuGet verteilt. Dieses eröffnet potentiellen Angreifern seit einiger einen neuen Angrifssvektor um über getarnte Pakete direkt in die Anwendung und damit meist in das Herzstück des Unternehmens zu gelangen.¹
Beispielsweise könnte ein Bösartigespaket, welches getarnt sinnvolle Funktionalitäten für das erweiterte Logging von HTTP-Requests beinhaltet gleichzeitig alle Requests an einen externen Server schicken und somit die gesamte Kommunikation innerhalb der Anwendung leaken.
Zum Glück bietet NuGet ein Feature, über welches die sogenannten “Common Vulnerabilities and Exposures” (CVE) ermittelt werden können. Diese Informationen werden direkt aus einer zentralen GitHub Advisory Datenbank bezogen.
Mit folgenden Command können die Package analysiert werden:

Es empfiehlt sich den Command mit in die eigene Build-Pipeline mit aufzunehmen.