Partager via


'dotnet restore' génère des avertissements de vulnérabilité de sécurité

La dotnet restorecommande, qui restaure les dépendances et les outils d’un projet, génère désormais des avertissements de vulnérabilité de sécurité par défaut.

Comportement précédent

Auparavant, dotnet restore n’émet aucun avertissement de vulnérabilité de sécurité par défaut.

Nouveau comportement

Si vous développez avec le Kit de développement logiciel (SDK) .NET 8 ou une version ultérieure, dotnet restore génère des avertissements de vulnérabilité de sécurité par défaut pour tous les projets restaurés. Quand vous chargez une solution ou un projet, ou quand vous exécutez un script CI/CD, cette modification peut interrompre votre flux de travail si <TreatWarningsAsErrors> est activé.

Version introduite

.NET 8 Preview 4

Type de changement cassant

Ce changement est un changement de comportement.

Raison du changement

De nombreux utilisateurs souhaitent savoir si les packages qu’ils restaurent contiennent des vulnérabilités de sécurité connues. Cette fonctionnalité était très demandée. Les préoccupations en matière de sécurité continuent d’augmenter chaque année et certains problèmes de sécurité connus ne sont pas suffisamment visibles pour que des mesures immédiates soient prises.

  • Pour réduire explicitement la probabilité de cette rupture de votre build en raison d’avertissements, vous pouvez envisager votre utilisation de <TreatWarningsAsErrors> et utiliser <WarningsNotAsErrors>NU1901;NU1902;NU1903;NU1904</WarningsNotAsErrors> pour vous assurer que les vulnérabilités de sécurité connues sont toujours autorisées dans votre environnement.

  • Si vous souhaitez définir un niveau d’audit de sécurité différent, ajoutez la propriété <NuGetAuditLevel> à votre fichier projet avec les valeurs possibles de low, moderate, highet critical.

  • Si vous souhaitez ignorer ces avertissements, vous pouvez utiliser <NoWarn> pour supprimer NU1901-NU1904 avertissements.

  • Pour désactiver entièrement le nouveau comportement, vous pouvez définir la <NuGetAudit>propriété de projet sur false.

Voir aussi