Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
предупреждение NU1902: пакет NuGet.Protocol 5.11.2 имеет известную уязвимость с умеренной серьезностью. https://github.com/advisories/GHSA-g3q9-xf95-8hp5
Код предупреждения изменяется в зависимости от известного уровня серьезности уязвимостей:
| Код предупреждения | Severity |
|---|---|
| NU1901 | low |
| NU1902 | moderate |
| NU1903 | high |
| NU1904 | critical |
Issue
Пакет, восстановленный для проекта, имеет известную уязвимость.
Дополнительные сведения см . в документации по пакетам аудита.
Solution
У нас есть документация по обновлению уязвимых пакетов , которые подробно описывают наши рекомендуемые действия, когда проект использует пакет с известной уязвимостью и средства, которые могут помочь.
Обновление до более новой версии пакета, скорее всего, устраняет предупреждение.
Если проект напрямую не ссылается на пакет (это транзитивный пакет), dotnet nuget why можно понять, какой пакет вызвал его включение в проект.
Вы можете проверить URL-адрес, предоставленный рекомендацией по уязвимостям, чтобы узнать, какие версии пакета были исправлены, или проверить настроенные исходные версии пакета, чтобы узнать, какие версии пакета доступны.
Пользовательский интерфейс диспетчера пакетов Visual Studio может показать, какие версии пакетов затронуты и которые не имеют известных уязвимостей.
Если эти предупреждения вызывают сбой восстановления, так как используется TreatWarningsAsErrors, можно добавить <WarningsNotAsErrors>NU1901;NU1902;NU1903;NU1904</WarningsNotAsErrors> , чтобы эти коды оставались предупреждениями.
Если вы не хотите получать уведомления об уязвимостях, которые являются менее серьезными, чем уровень, с которым вы комфортно, можно изменить файл проекта и добавить свойство NuGetAuditLevelMSBuild с заданным значением low, moderatehighили critical.
Например, <NuGetAuditLevel>high</NuGetAuditLevel>.
Если вы хотите отключить определенные рекомендации, добавьте элемент NuGetAuditSuppress MSBuild.
Например, <NuGetAuditSuppress Include="https://github.com/advisories/GHSA-g3q9-xf95-8hp5" />.
NuGetAuditSuppressдоступен из пакета SDK VS 17.11 и .NET 8.0.400 для проектов, использующих PackageReferenceи из VS 17.12 для проектов.packages.config
Если вы не хотите, чтобы NuGet проверял наличие пакетов с известными уязвимостями во время восстановления, добавьте <NuGetAudit>false</NuGetAudit> в <PropertyGroup> файл проекта или Directory.Build.props файл.
Если вы хотите запустить аудит NuGet на компьютерах разработчиков, но отключить его в конвейерах CI, вы можете воспользоваться преимуществами переменных среды импорта MSBuild и создать переменную среды NuGetAudit, заданную false в определении конвейера.
Для проектов, предназначенных для платформы .NET 10, используется NuGetAuditModeпараметр all по умолчанию.
Это означает, что NuGet будет сообщать о транзитивных пакетах с известными уязвимостями для всех платформ в проекте.
Значение может быть явно задано, чтобы direct вернуться к умолчанию .NET 9.