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 NuGetAuditLevel
NÁSTROJE MSBuild s hodnotou nastavenou na low
, moderate
, high
nebo 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í PackageReference
a 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.