NuGet Uyarıları NU1901, NU1902, NU1903, NU1904
uyarı NU1902: 'NuGet.Protocol' 5.11.2 paketinde bilinen bir orta önem derecesi güvenlik açığı var, https://github.com/advisories/GHSA-g3q9-xf95-8hp5
Uyarı kodu bilinen güvenlik açığı önem düzeyine bağlı olarak değişir:
Uyarı Kodu | Önem |
---|---|
NU1901 | Iowa |
NU1902 | ılımlı |
NU1903 | yüksek |
NU1904 | critical |
Sorun
Projeniz için geri yüklenen bir pakette bilinen bir güvenlik açığı vardır.
Daha fazla bilgi için, denetim paketleriyle ilgili belgelere bakın.
Çözüm
Projeniz bilinen bir güvenlik açığına sahip bir paket ve yardımcı olabilecek araçlar kullandığında önerilen eylemlerimiz hakkında daha fazla tartışma içeren bir blog gönderimiz var.
Paketin daha yeni bir sürümüne yükseltmenin uyarıyı çözmesi olasıdır.
Projeniz pakete doğrudan başvurmuyorsa (geçişli bir pakettir), dotnet nuget why
hangi paketin projenize eklenmesine neden olduğunu anlamak için kullanılabilir.
Paketin hangi sürümlerinin düzeltildiğini görmek için güvenlik açığı önerisi tarafından sağlanan URL'yi denetleyebilirsiniz veya paketin hangi sürümlerinin kullanılabilir olduğunu görmek için yapılandırılmış paket kaynaklarınızı kontrol edebilirsiniz.
Visual Studio'nun paket yöneticisi kullanıcı arabirimi hangi paket sürümlerinin etkilendiğini ve hangilerinin bilinen güvenlik açıklarına sahip olmadığını gösterebilir.
Bu uyarılar, kullandığınız TreatWarningsAsErrors
için geri yüklemenin başarısız olmasına neden oluyorsa, bu kodların uyarı olarak kalmasına izin vermek için öğesini ekleyebilirsiniz <WarningsNotAsErrors>NU1901;NU1902;NU1903;NU1904</WarningsNotAsErrors>
.
Rahat olduğunuz bir düzeyden daha az ciddi güvenlik açıklarıyla ilgili bildirim almak istemiyorsanız, proje dosyasını düzenleyebilir ve değeri , , high
moderate
veya critical
olarak ayarlanmış low
bir MSBuild özelliği NuGetAuditLevel
ekleyebilirsiniz.
Örneğin, <NuGetAuditLevel>high</NuGetAuditLevel>
.
Belirli bir öneriyi engellemek istiyorsanız, bir MSBuild NuGetAuditSuppress öğesi ekleyin.
Örneğin, <NuGetAuditSuppress Include="https://github.com/advisories/GHSA-g3q9-xf95-8hp5" />
.
NuGetAuditSuppress
, kullanan PackageReference
projeler için VS 17.11 ve .NET 8.0.400 SDK'sından ve kullanan packages.config
projeler için VS 17.12'den kullanılabilir.
NuGet'in geri yükleme sırasında bilinen güvenlik açıklarına sahip paketleri denetlemesini istemiyorsanız, <NuGetAudit>false</NuGetAudit>
proje dosyanıza veya dosyanıza ekleyinDirectory.Build.props
.<PropertyGroup>
Geliştirici makinelerinde NuGet Denetimi çalıştırmak, ancak CI işlem hatlarında devre dışı bırakmak istiyorsanız, MSBuild içeri aktarma ortam değişkenlerinden yararlanabilir ve işlem hattı tanımınızda olarak false
ayarlanmış bir NuGetAudit ortam değişkeni oluşturabilirsiniz.