Partager via


Avertissements NuGet NU1901, NU1902, NU1903 et NU1904

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

Le code d’avertissement change en fonction du niveau de gravité de vulnérabilité connu :

Code d’avertissement Niveau de gravité
NU1901 low
NU1902 moderate
NU1903 high
NU1904 critical

Problème

Un package restauré pour votre projet présente une vulnérabilité connue.

Pour plus d’informations, consultez la documentation sur l’audit des packages.

Solution

La mise à niveau vers une version plus récente du package est susceptible de résoudre l’avertissement. Vous pouvez vérifier l’URL fournie par l’avertissement sur la vulnérabilité pour voir quelles versions du package ont été corrigées ou cocher vos sources de package configurées pour voir quelles versions du package sont disponibles. L’interface utilisateur du gestionnaire de package de Visual Studio peut montrer quelles versions de package sont affectées et qui n’ont pas de vulnérabilités connues.

Si vous ne souhaitez pas être averti des vulnérabilités moins graves qu’un niveau dans lequel vous êtes à l’aise, vous pouvez modifier le fichier projet et ajouter une propriété MSBuild NuGetAuditLevel, avec la valeur définie sur low, moderate, high ou critical. Par exemple : <NuGetAuditLevel>high</NuGetAuditLevel>.

Si ces avertissements provoquent l’échec de la restauration, car vous utilisez TreatWarningsAsErrors, vous pouvez ajouter <WarningsNotAsErrors>NU1901;NU1902;NU1903;NU1904</WarningsNotAsErrors> pour autoriser ces codes à rester en tant qu’avertissements.

Si vous ne souhaitez pas que NuGet vérifie les packages présentant des vulnérabilités connues lors de la restauration, ajoutez <NuGetAudit>false</NuGetAudit> dans <PropertyGroup> dans votre fichier projet ou un fichier Directory.Build.props.

Remarque

La version initiale de NuGetAudit ne permet pas de masquer des avertissements spécifiques (URL). Il s’agit d’une caractéristique que nous prévoyons d’ajouter sur la base de la hiérarchisation des autres améliorations.

En guise de prévention, vous pouvez ajouter un élément approprié NoWarn à vos déclarations PackageReference. Par exemple : <PackageReference Include="Contoso.Library" Version="1.0.0" NoWarn="NU1901" />. Toutefois, sachez que cela empêchera le programme de vous signaler les nouvelles vulnérabilités de la même gravité.