NuGet 警告 NU1901、NU1902、NU1903、NU1904
warning NU1902: Package 'NuGet.Protocol' 5.11.2 has a known moderate severity vulnerability, https://github.com/advisories/GHSA-g3q9-xf95-8hp5
此警告代码会根据已知的漏洞严重性级别进行更改:
警告代码 | Severity |
---|---|
NU1901 | low |
NU1902 | 中等 |
NU1903 | high |
NU1904 | 严重 |
问题
为项目还原的包存在已知漏洞。
有关详细信息,请参阅有关包审计的文档。
解决方案
升级到较新版本的包可能会解决该警告。 可检查漏洞公告提供的 URL,以查看包的已修复版本,或是检查已配置的包源以查看包的可用版本。 Visual Studio 的包管理器 UI 可以显示哪些包版本受到影响,哪些版本没有已知的漏洞。
如果不希望收到比你熟悉的严重性级别更低的漏洞的相关通知,则可编辑项目文件并添加 MSBuild 属性 NuGetAuditLevel
,并将值设为 low
、moderate
、high
或 critical
。
例如 <NuGetAuditLevel>high</NuGetAuditLevel>
。
如果这些警告因你使用的是 TreatWarningsAsErrors
而导致还原失败,则可以添加 <WarningsNotAsErrors>NU1901;NU1902;NU1903;NU1904</WarningsNotAsErrors>
以便这些代码始终为警告。
如果不希望 NuGet 在还原期间检查具有已知漏洞的包,请在项目文件或 Directory.Build.props
文件的 <PropertyGroup>
中添加 <NuGetAudit>false</NuGetAudit>
。
注意
NuGetAudit 的初始版本不提供不显示特定公告 (URL) 的方法。 这是一项我们计划基于其他改进的优先顺序来添加的功能。
作为缓解措施,可向 PackageReference
声明添加相应的 NoWarn
。
例如 <PackageReference Include="Contoso.Library" Version="1.0.0" NoWarn="NU1901" />
。
但请注意,此操作会阻止向你报告相同严重性的新漏洞。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈