Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Příkazdotnet restore, který obnoví závislosti projektu, teď vytvoří upozornění ohrožení zabezpečení pro tranzitivní balíčky ve výchozím nastavení, když projekt cílí na .NET 10 nebo novější verzi.
Předchozí chování
NuGetAudit byl zaveden v .NET 8, aby vygeneroval upozornění pro balíčky se známými ohroženími zabezpečení.
Ve výchozím nastavení byly auditovány pouze přímé odkazy na balíčky, ale bylo možné změnit NuGetAuditMode vlastnost tak, aby zahrnovala všechny balíčky.
Ve verzi Preview .NET 9 se výchozí nastavení NuGetAuditMode se změnilo na all pro všechny projekty a tato změna byla vrácena zpět na direct v sadě .NET 9.0.101 SDK.
Nové chování
Pokud projekty cílí na .NET 10 nebo vyšší, pak se NuGetAuditMode nastaví na all jako výchozí hodnota, pokud nebyla explicitně nastavena.
Toto nastavení znamená, že tranzitivní balíčky (závislosti balíčků, na které váš projekt přímo odkazuje) se známými zranitelnostmi zabezpečení nyní způsobují varování.
Pokud váš projekt považuje upozornění za chyby, může toto chování způsobit selhání obnovení.
Pokud projekt cílí na .NET 9 nebo nižší, zůstane NuGetAuditMode výchozí hodnota direct.
Verze byla představena
.NET 10 Preview 3
Typ zásadní změny
Tato změna je změna chování.
Důvod změny
Balíčky se známými ohroženími zabezpečení můžou způsobit zneužití aplikace, i když váš projekt přímo neodkazuje na ohrožený balíček nebo ho přímo nepoužívá.
Doporučená akce
Chcete-li zabránit tomu, aby se upozornění auditu považovala za chyby, i když používáte
<TreatWarningsAsErrors>, můžete použít<WarningsNotAsErrors>NU1901;NU1902;NU1903;NU1904;$(WarningsNotAsErrors)</WarningsNotAsErrors>.Pomocí nástrojů, jako je
dotnet nuget why, najděte balíček nejvyšší úrovně, který způsobil zahrnutí přechodného balíčku se známou zranitelností, a pokuste se ho upgradovat, abyste zjistili, jestli přechodná zranitelnost zmizí. Pokud ne, zvyšte úroveň tranzitivního balíčku na balíček nejvyšší úrovně přidáním balíčkuPackageReferencea upgradujte ho na novější verzi.Pokud chcete potlačit konkrétní rady, můžete do souboru projektu přidat
<NuGetAuditSuppress Include="url" />položku, kdeurlje adresa URL hlášená v upozornění NuGetu.<ItemGroup> <NuGetAuditSuppress Include="url" /> </ItemGroup>Pokud chcete být upozorněni pouze na přímé odkazy na balíčky se známými ohroženími zabezpečení, můžete v souboru projektu nastavit
<NuGetAuditMode>nadirect.<PropertyGroup> <NuGetAuditMode>direct</NuGetAuditMode> </PropertyGroup>