NuGet 경고 NU1901, NU1902, NU1903, NU1904
경고 NU1902: 패키지 'NuGet.Protocol' 5.11.2에는 알려진 보통 심각도 취약성이 있습니다. https://github.com/advisories/GHSA-g3q9-xf95-8hp5
경고 코드는 알려진 취약성 심각도 수준에 따라 변경됩니다.
경고 코드 | 심각도 |
---|---|
NU1901 | 낮음 |
NU1902 | 온화한 |
NU1903 | 높음 |
NU1904 | 중요 |
문제
프로젝트에 대해 복원된 패키지에 알려진 취약성이 있습니다.
자세한 내용은 감사 패키지에 대한 설명서를 참조 하세요.
솔루션
프로젝트에서 알려진 취약성이 있는 패키지와 도움이 될 수 있는 도구를 사용할 때 권장되는 작업에 대해 더 자세히 설명하는 블로그 게시물이 있습니다.
최신 버전의 패키지로 업그레이드하면 경고가 해결될 수 있습니다.
프로젝트에서 패키지를 직접 참조하지 않는 경우(전이적 패키지) dotnet nuget why
프로젝트에 포함된 패키지를 이해하는 데 사용할 수 있습니다.
취약성 권고에서 제공하는 URL을 확인하여 수정된 패키지 버전을 확인하거나 구성된 패키지 원본을 확인하여 사용 가능한 패키지 버전을 확인할 수 있습니다.
Visual Studio의 패키지 관리자 UI는 영향을 받는 패키지 버전과 알려진 취약성이 없는 패키지를 표시할 수 있습니다.
이러한 경고로 인해 사용 TreatWarningsAsErrors
중이므로 복원이 실패하는 경우 이러한 코드를 경고로 유지하도록 추가할 <WarningsNotAsErrors>NU1901;NU1902;NU1903;NU1904</WarningsNotAsErrors>
수 있습니다.
익숙한 수준보다 덜 심각한 취약성에 대한 알림을 받지 않으려면 프로젝트 파일을 편집하고 값이 설정된 critical
high
moderate
low
MSBuild 속성을 NuGetAuditLevel
추가할 수 있습니다.
예들 들어 <NuGetAuditLevel>high</NuGetAuditLevel>
입니다.
특정 권고를 표시하지 않는 경우 MSBuild NuGetAuditSuppress 항목을 추가합니다.
예: <NuGetAuditSuppress Include="https://github.com/advisories/GHSA-g3q9-xf95-8hp5" />
.
NuGetAuditSuppress
은 사용 중인 프로젝트의 경우 VS 17.11 및 .NET 8.0.400 SDK에서, 사용 중인 프로젝트의 packages.config
PackageReference
경우 VS 17.12에서 사용할 수 있습니다.
NuGet이 복원 중에 알려진 취약성이 있는 패키지를 확인하지 않으려면 프로젝트 파일 또는 Directory.Build.props
파일 내에 <PropertyGroup>
추가 <NuGetAudit>false</NuGetAudit>
합니다.
개발자 컴퓨터에서 NuGet 감사를 실행하지만 CI 파이프라인에서 사용하지 않도록 설정하려는 경우 MSBuild 가져오기 환경 변수를 활용하고 파이프라인 정의에 설정된 NuGetAudit 환경 변수를 false
만들 수 있습니다.
NuGet 6.12(Visual Studio/MSBuild 17.12 및 .NET 9.0.100 SDK)에서 NuGet은 기본값 NuGetAuditMode
all
을 로 변경했습니다. 즉, 알려진 취약성이 있는 전이적 패키지에 대한 보고서를 의미합니다.
.NET 8의 기본값으로 되돌리도록 direct
값을 명시적으로 설정할 수 있습니다. 또는 새 버전의 SDK에 도입된 모든 새 경고 및 오류를 일시적으로 사용하지 않도록 속성을 SdkAnalysisLevel
설정할 8.0.400
수 있습니다. 특히 이 경우 기본값 NuGetAuditMode
은 다시 .로 direct
변경됩니다.