警告 NU1902:套件 'NuGet.Protocol' 5.11.2 具有已知的中度嚴重性弱點, https://github.com/advisories/GHSA-g3q9-xf95-8hp5
警告碼會根據已知的弱點嚴重性層級而變更:
| 警告碼 | Severity |
|---|---|
| NU1901 | low |
| NU1902 | moderate |
| NU1903 | high |
| NU1904 | 危急 |
Issue
為專案還原的套件有已知的弱點。
如需詳細資訊,請參閱 稽核套件的檔。
Solution
我們有 關於升級易受攻擊套件的文件 ,其中更詳細地介紹了當您的專案使用具有已知漏洞的套件時我們建議的操作,以及可以提供幫助的工具。
升級至較新版本的套件可能會解決警告。
如果您的專案未直接參考套件(它是可轉移的套件), dotnet nuget why 則可以用來瞭解導致套件包含在專案中的封裝。
您可以檢查弱點諮詢所提供的 URL,以查看已修正的套件版本,或檢查您設定的套件來源,以查看可用的套件版本。
Visual Studio 的套件管理員 UI 可以顯示哪些套件版本受到影響,哪些版本沒有已知的弱點。
如果這些警告造成還原失敗,因為您使用 TreatWarningsAsErrors,您可以新增 <WarningsNotAsErrors>NU1901;NU1902;NU1903;NU1904</WarningsNotAsErrors> 以允許這些程式代碼維持為警告。
如果您不想收到比您熟悉層級更嚴重之弱點的通知,您可以編輯項目檔,並新增 MSBuild 屬性 NuGetAuditLevel,並將值設定為 low、 moderate、 high或 critical。
例如: <NuGetAuditLevel>high</NuGetAuditLevel> 。
如果您想要隱藏特定諮詢,請新增 MSBuild NuGetAuditSuppress 專案。
例如 <NuGetAuditSuppress Include="https://github.com/advisories/GHSA-g3q9-xf95-8hp5" /> 。
NuGetAuditSuppress可從 VS 17.11 和 .NET 8.0.400 SDK 取得,適用於使用 PackageReference的專案,以及使用 。
如果您不想讓 NuGet 在還原期間檢查是否有已知弱點的套件,請在專案檔<NuGetAudit>false</NuGetAudit>中<PropertyGroup>新增 Directory.Build.props 。
如果您想要在開發人員計算機上執行 NuGet 稽核,但在 CI 管線上將其停用,您可以利用 MSBuild 匯入環境變數,並在管線定義中建立設定為 false 的 NuGetAudit 環境變數。
針對以 .NET 10 架構為目標的專案,預設設定 NuGetAuditMode 是 all。
這表示 NuGet 會報告專案中所有架構有已知弱點的可轉移套件。
值可以明確設定為 direct ,以還原回 .NET 9 的預設值。