Compartilhar via


'dotnet restore' produz avisos de vulnerabilidade de segurança

O comando dotnet restore, que restaura as dependências e ferramentas de um projeto, agora produz avisos sobre 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 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. Ao carregar uma solução ou projeto, ou executar um script de CI/CD, essa alteração poderá interromper seu fluxo de trabalho se <TreatWarningsAsErrors> estiver habilitado.

Versão introduzida

.NET 8 versão prévia 4

Tipo de alteração interruptiva

Esta é uma alteração comportamental.

Motivo da alteração

Muitos usuários querem saber se os pacotes que restauram contêm vulnerabilidades de segurança conhecidas. Essa funcionalidade era um recurso altamente solicitado. As preocupações com a segurança continuam aumentando a cada ano, e alguns problemas de segurança conhecidos não são visíveis o suficiente para tomar medidas imediatas.

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

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

  • Se você deseja ignorar esses avisos, pode utilizar <NoWarn> para suprimir os avisos NU1901-NU1904.

  • Para desabilitar totalmente o novo comportamento, você pode definir a propriedade de projeto <NuGetAudit> como false.

Confira também