Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
aviso NU1902: O pacote 'NuGet.Protocol' 5.11.2 tem uma vulnerabilidade de gravidade moderada conhecida, 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 | Severity |
|---|---|
| NU1901 | low |
| NU1902 | moderate |
| NU1903 | high |
| NU1904 | crítico |
Issue
Um pacote restaurado para seu projeto tem uma vulnerabilidade conhecida.
Para obter mais informações, confira a documentação sobre pacotes de auditoria.
Solution
Temos documentação sobre como atualizar pacotes vulneráveis que detalham nossas ações recomendadas quando seu projeto usa um pacote com uma vulnerabilidade conhecida e ferramentas que podem ajudar.
A atualização para uma versão mais recente do pacote provavelmente resolverá o aviso.
Se o projeto não fizer referência direta ao pacote (é um pacote transitivo), o dotnet nuget why poderá ser usado para entender qual pacote fez com que ele fosse incluído no projeto.
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 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 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 você quiser suprimir um aviso específico, adicione um item NuGetAuditSuppress do MSBuild.
Por exemplo, <NuGetAuditSuppress Include="https://github.com/advisories/GHSA-g3q9-xf95-8hp5" />.
NuGetAuditSuppress está disponível no VS 17.11 e no SDK do .NET 8.0.400 para projetos que usam o PackageReference, e no VS 17.12 para projetos que usam o packages.config.
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.
Se você quiser executar a Auditoria do NuGet em computadores de desenvolvedor, mas desabilitá-la em pipelines de CI, poderá aproveitar as variáveis de ambiente de importação do MSBuild e criar uma variável de ambiente NuGetAudit definida como false em sua definição de pipeline.
Para projetos direcionados à estrutura do .NET 10, a configuração NuGetAuditMode padrão é all.
Isso significa que o NuGet relatará pacotes transitivos com vulnerabilidades conhecidas para todas as estruturas do projeto.
O valor pode ser definido explicitamente para direct reverter para o padrão do .NET 9.