„dotnet restore“ erzeugt Sicherheitsrisikowarnungen
Der dotnet restore
-Befehl, mit dem die Abhängigkeiten und Tools eines Projekts wiederhergestellt werden, erzeugt jetzt standardmäßig Sicherheitsrisikowarnungen.
Vorheriges Verhalten
Bisher hat dotnet restore
nicht standardmäßig Sicherheitsrisikowarnungen ausgegeben.
Neues Verhalten
Wenn Sie mit dem .NET 8-SDK oder einer höheren Version entwickeln, wird dotnet restore
standardmäßig Sicherheitsrisikowarnungen für alle wiederhergestellten Projekte generieren. Wenn Sie eine Lösung oder ein Projekt laden oder ein CI/CD-Skript ausführen, kann diese Änderung ihren Workflow unterbrechen, wenn Sie <TreatWarningsAsErrors>
aktiviert haben.
Eingeführt in Version
.NET 8 Vorschauversion 4
Typ des Breaking Changes
Diese Änderung ist eine Verhaltensänderung.
Grund für die Änderung
Viele Benutzer möchten wissen, ob die Pakete, die sie wiederherstellen, bekannte Sicherheitsrisiken enthalten. Diese Funktion wurde sehr oft angefragt. Sicherheitsbedenken werden von Jahr zu Jahr größer, und einige bekannte Sicherheitsprobleme sind nicht sichtbar genug, um sofortige Maßnahmen zu ergreifen.
Empfohlene Maßnahme
Um die Wahrscheinlichkeit explizit zu verringern, dass ihr Build aufgrund von Warnungen abgebrochen wird, sollten Sie Ihre Verwendung von
<TreatWarningsAsErrors>
überdenken und<WarningsNotAsErrors>NU1901;NU1902;NU1903;NU1904</WarningsNotAsErrors>
verwenden, um sicherzustellen, dass bekannte Sicherheitsrisiken weiterhin in Ihrer Umgebung zulässig sind.Wenn Sie eine andere Sicherheitsüberwachungsstufe festlegen möchten, fügen Sie Ihrer Projektdatei die
<NuGetAuditLevel>
-Eigenschaft mit möglichen Werten vonlow
,moderate
,high
undcritical
hinzu.Wenn Sie diese Warnungen ignorieren möchten, können Sie
<NoWarn>
verwenden, umNU1901-NU1904
-Warnungen unterdrücken.Um das neue Verhalten vollständig zu deaktivieren, können Sie die
<NuGetAudit>
-Projekteigenschaft auffalse
festlegen.