'dotnet restore' genera avvisi di vulnerabilità di sicurezza

Il comando dotnet restore, che ripristina le dipendenze e gli strumenti di un progetto, genera ora avvisi di vulnerabilità di sicurezza per impostazione predefinita.

Comportamento precedente

In precedenza, dotnet restore non ha generato avvisi di vulnerabilità di sicurezza per impostazione predefinita.

Nuovo comportamento

Se si sviluppa con .NET 8 SDK o versione successiva, dotnet restore genera avvisi di vulnerabilità di sicurezza per impostazione predefinita per tutti i progetti ripristinati. Quando si carica una soluzione o un progetto o si esegue uno script CI/CD, questa modifica potrebbe interrompere il flusso di lavoro se si ha abilitato <TreatWarningsAsErrors>.

Versione introdotta

.NET 8 Anteprima 4

Tipo di modifica che causa un'interruzione

Questa è una modifica funzionale.

Motivo della modifica

Molti utenti vogliono sapere se i pacchetti ripristinati contengono eventuali vulnerabilità di sicurezza note. Questa funzionalità era una funzionalità molto richiesta. I problemi di sicurezza continuano ad aumentare ogni anno e alcuni problemi di sicurezza noti non sono sufficientemente visibili per intervenire immediatamente.

  • Per ridurre in modo esplicito la probabilità di questa interruzione della compilazione a causa di avvisi, è possibile prendere in considerazione l'utilizzo di <TreatWarningsAsErrors> e usare <WarningsNotAsErrors>NU1901;NU1902;NU1903;NU1904</WarningsNotAsErrors> per garantire che le vulnerabilità di sicurezza note siano ancora consentite nell'ambiente in uso.

  • Se si desidera impostare un livello di controllo di sicurezza diverso, aggiungere la proprietà <NuGetAuditLevel> al file di progetto con i valori possibili di low, moderate, high e critical.

  • Se si desidera ignorare questi avvisi, è possibile usare <NoWarn> per eliminare avvisi NU1901-NU1904.

  • Per disabilitare completamente il nuovo comportamento, è possibile impostare la proprietà del progetto <NuGetAudit> su false.

Vedi anche