Upozornění NuGet NU1901, NU1902, NU1903, NU1904

upozornění NU1902: Balíček NuGet.Protocol 5.11.2 má známou střední závažnost ohrožení zabezpečení, https://github.com/advisories/GHSA-g3q9-xf95-8hp5

Kód upozornění se změní v závislosti na známé úrovni závažnosti ohrožení zabezpečení:

Kód upozornění Závažnost
NU1901 low
NU1902 moderovat
NU1903 vysoko
NU1904 critical

Problém

Balíček obnovený pro váš projekt má známou chybu zabezpečení.

Další informace najdete v dokumentaci k balíčkům auditování.

Řešení

Máme blogový příspěvek s další diskuzí o našich doporučených akcích, když váš projekt používá balíček se známým ohrožením zabezpečení a nástroji, které vám můžou pomoct.

Upgrade na novější verzi balíčku pravděpodobně vyřeší upozornění. Pokud váš projekt neodkazuje přímo na balíček (jedná se o tranzitivní balíček), dotnet nuget why můžete použít k pochopení, který balíček způsobil jeho zahrnutí do projektu. Můžete zkontrolovat adresu URL poskytnutou poradcem pro ohrožení zabezpečení a zjistit, které verze balíčku byly opraveny, nebo zkontrolovat nakonfigurované zdroje balíčků a zjistit, které verze balíčku jsou k dispozici. Uživatelské rozhraní správce balíčků sady Visual Studio může zobrazit, které verze balíčků jsou ovlivněné a které nemají známá ohrožení zabezpečení.

Pokud tato upozornění způsobují selhání obnovení, protože používáte TreatWarningsAsErrors, můžete přidat <WarningsNotAsErrors>NU1901;NU1902;NU1903;NU1904</WarningsNotAsErrors> , aby tyto kódy zůstaly jako upozornění.

Pokud nechcete dostávat oznámení o chybách zabezpečení, která jsou méně závažná než úroveň, kterou vám vyhovuje, můžete upravit soubor projektu a přidat vlastnost NuGetAuditLevelNÁSTROJE MSBuild s hodnotou nastavenou na low, moderate, highnebo critical. Například <NuGetAuditLevel>high</NuGetAuditLevel>.

Pokud chcete potlačit konkrétní rady, přidejte položku NuGetAuditSuppress nástroje MSBuild. Příklad: <NuGetAuditSuppress Include="https://github.com/advisories/GHSA-g3q9-xf95-8hp5" />. NuGetAuditSuppress je k dispozici v sadě SDK sady VS 17.11 a .NET 8.0.400 pro projekty používající PackageReferencea ze sady VS 17.12 pro projekty používající packages.config.

Pokud nechcete, aby NuGet během obnovení zkontroloval balíčky se známými ohroženími zabezpečení, přidejte <NuGetAudit>false</NuGetAudit> do <PropertyGroup> souboru projektu nebo Directory.Build.props do souboru. Pokud chcete spustit Audit NuGetu na vývojářských počítačích, ale zakázat ho v kanálech CI, můžete využít výhod importu proměnných prostředí nástroje MSBuild a vytvořit proměnnou prostředí NuGetAudit nastavenou na false definici kanálu.