“dotnet restore”生成安全漏洞警告
dotnet restore
命令 (还原项目的依赖项和工具) 现在默认生成安全漏洞警告。
旧行为
以前,dotnet restore
默认情况下不会发出任何安全漏洞警告。
新行为
如果使用 .NET 8 SDK 或更高版本进行开发,则默认情况下,dotnet restore
会为所有还原的项目生成安全漏洞警告。 加载解决方案或项目,或者运行 CI/CD 脚本时,如果已启用 <TreatWarningsAsErrors>
,则此更改可能会中断工作流。
引入的版本
.NET 8 预览版 4
中断性变更的类型
此更改为行为更改。
更改原因
许多用户想知道他们还原的包是否包含任何已知的安全漏洞。 此功能是一项非常受欢迎的功能。 安全问题每年都在增加,而一些已知的安全问题还不够明显,无法立即采取修复措施。
建议的操作
为了明确减少由于警告导致生成中断的概率,可以考虑使用
<TreatWarningsAsErrors>
,并使用<WarningsNotAsErrors>NU1901;NU1902;NU1903;NU1904</WarningsNotAsErrors>
来确保环境中仍允许已知的安全漏洞。如果要设置不同的安全审核级别,请将属性“
<NuGetAuditLevel>
”添加到项目文件中,其可能值为low
、moderate
、high
和critical
。如果要忽略这些警告,可以使用
<NoWarn>
来禁止显示NU1901-NU1904
警告。若要完全禁用新行为,可以将项目属性“
<NuGetAudit>
”设置为false
。