Share via


'Dotnet Restore' produz avisos de vulnerabilidade de segurança

O dotnet restore comando, que restaura as dependências e ferramentas de um projeto, agora produz avisos de vulnerabilidade de segurança por padrão.

Comportamento anterior

Anteriormente, dotnet restore não emitia nenhum aviso de vulnerabilidade de segurança por padrão.

Novo comportamento

Se você estiver desenvolvendo com o SDK do .NET 8 ou uma versão posterior, dotnet restore produz avisos de vulnerabilidade de segurança por padrão para todos os projetos restaurados. Quando você carrega uma solução ou projeto, ou executa um script CI/CD, essa alteração pode quebrar seu fluxo de trabalho se você tiver <TreatWarningsAsErrors> habilitado.

Versão introduzida

.NET 8 Visualização 4

Tipo de mudança de rutura

Esta mudança é uma mudança comportamental.

Razão para a alteração

Na maioria dos casos, ao restaurar um pacote, você deseja saber se a versão restaurada do pacote contém alguma vulnerabilidade de segurança conhecida. Esta funcionalidade foi adicionada, uma vez que é uma funcionalidade altamente solicitada e as preocupações de segurança continuam a aumentar todos os anos, onde os problemas de segurança conhecidos não podem ser visíveis o suficiente para tomar medidas imediatas.

  • Para reduzir explicitamente a probabilidade de isso quebrar sua compilação devido a avisos, você pode considerar seu uso <TreatWarningsAsErrors> e uso <WarningsNotAsErrors>NU1901;NU1902;NU1903;NU1904</WarningsNotAsErrors> para garantir que vulnerabilidades de segurança conhecidas ainda sejam permitidas em seu ambiente.

  • Se você quiser definir um nível de auditoria de segurança diferente, adicione a <NuGetAuditLevel> propriedade ao seu arquivo de projeto com possíveis valores de low, moderate, highe critical.

  • Se você quiser ignorar esses avisos, você pode usar <NoWarn> para suprimir NU1901-NU1904 avisos.

  • Para desativar totalmente o novo comportamento, você pode definir a propriedade project <NuGetAudit> como false.

Consulte também