'dotnet restore' génère des avertissements de vulnérabilité de sécurité
La dotnet restore
commande, 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.
Action recommandée
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 delow
,moderate
,high
etcritical
.Si vous souhaitez ignorer ces avertissements, vous pouvez utiliser
<NoWarn>
pour supprimerNU1901-NU1904
avertissements.Pour désactiver entièrement le nouveau comportement, vous pouvez définir la
<NuGetAudit>
propriété de projet surfalse
.