Avisos do NuGet NU1901, NU1902, NU1903, NU1904

warning NU1902: Package 'NuGet.Protocol' 5.11.2 has a known moderate severity vulnerability, https://github.com/advisories/GHSA-g3q9-xf95-8hp5

O código de aviso muda conforme o nível de gravidade da vulnerabilidade conhecida:

Código do aviso Severidade
NU1901 low
NU1902 moderado
NU1903 high
NU1904 Crítico

Problema

Um pacote restaurado para seu projeto tem uma vulnerabilidade conhecida.

Para obter mais informações, confira a documentação sobre pacotes de auditoria.

Solução

A atualização para uma versão mais recente do pacote provavelmente resolverá o aviso. Você pode verificar a URL fornecida pelo comunicado de vulnerabilidade para ver quais versões do pacote foram corrigidas ou verificar a(s) origem(ões) do pacote configurado para ver quais versões do pacote estão disponíveis. A interface do usuário do gerenciador de pacotes do Visual Studio pode exibir quais versões de pacote são afetadas e quais não têm vulnerabilidades conhecidas.

Se você não quiser ser notificado sobre vulnerabilidades menos graves do que um nível com o qual você se sente confortável, pode editar o arquivo de projeto e adicionar uma propriedade MSBuild NuGetAuditLevel, com o valor definido como low, moderate, high ou critical. Por exemplo, <NuGetAuditLevel>high</NuGetAuditLevel>.

Se esses avisos estiverem causando falha na restauração porque você estiver usando TreatWarningsAsErrors, você poderá adicionar <WarningsNotAsErrors>NU1901;NU1902;NU1903;NU1904</WarningsNotAsErrors> para permitir que esses códigos permaneçam como avisos.

Se você não quiser que o NuGet verifique se há pacotes com vulnerabilidades conhecidas durante a restauração, adicione <NuGetAudit>false</NuGetAudit> um no arquivo de <PropertyGroup> projeto ou um arquivo Directory.Build.props.

Observação

A versão inicial do NuGetAudit não oferece um modo de suprimir avisos específicos (URLs). É um recurso que pretendemos adicionar com base na priorização de outras melhorias.

Como mitigação, você pode adicionar um NoWarn apropriado às suas declarações PackageReference. Por exemplo, <PackageReference Include="Contoso.Library" Version="1.0.0" NoWarn="NU1901" />. No entanto, saiba que isso impedirá que novas vulnerabilidades da mesma gravidade sejam relatadas a você.