피드로 돌아가기
.NET NuGet Package Security — How to Scan Your C# Dependencies for Vulnerabilities
Dev.toDev.to
Security

Transitive Dependency 가시성 확보를 통한 NuGet 패키지 취약점 제로화 전략

.NET NuGet Package Security — How to Scan Your C# Dependencies for Vulnerabilities

Vulert2026년 6월 4일11intermediate

Context

C# 애플리케이션의 복잡한 의존성 그래프로 인한 간접 참조 패키지의 보안 사각지대 발생. 단순 빌드 성공만으로는 식별 불가능한 Transitive Package 내 CVE 취약점이 엔터프라이즈 시스템의 보안 리스크로 작용하는 상황.

Technical Solution

  • dotnet list package --vulnerable 명령어를 통한 기본 취약점 감사 체계 구축
  • --include-transitive 플래그 적용을 통한 직접 참조 외부의 간접 의존성 그래프 전체 가시성 확보
  • packages.lock.json 도입을 통한 빌드 시점의 정확한 Resolved Version 고정 및 스캔 정밀도 향상
  • CI/CD 파이프라인 내 NuGet Audit 경고 기반의 빌드 실패 규칙 설정을 통한 취약 패키지 배포 차단
  • SCA 도구인 Vulert를 활용한 소스 코드 외 .csproj 및 Lock 파일 기반의 지속적 CVE 모니터링 체계 구현

- `dotnet list package --vulnerable --include-transitive`를 CI 파이프라인에 필수 단계로 추가 - 프로젝트 설정에서 Lock 파일 생성을 활성화하여 의존성 버전 일관성 확보 - 고위험(High) 등급 이상의 취약점 발견 시 빌드를 즉시 중단하는 Policy 설정 - 정기적인 SCA 도구 스캔을 통해 배포 후 새롭게 발견되는 CVE에 대한 알림 체계 구축

원문 읽기