업데이트로 돌아가기
New releaseJul 24, 2026

dep-scan v6.3.0

도달 가능성 분석, SBOM 생성, 라이선스 감사 및 CI/CD 통합을 위한 컨테이너 이미지 스캐닝 기능을 갖춘 차세대 의존성 취약점 스캐너.

공유

소개

OWASP dep-scan은 프로젝트 의존성에 대한 알려진 취약점, 권고 사항 및 라이선스 제한을 기반으로 하는 차세대 보안 및 위험 감사 도구입니다. 로컬 저장소와 컨테이너 이미지 모두 입력으로 지원되며, 이 도구는 ASPM/VM 플랫폼 및 CI 환경과의 통합에 이상적입니다.

SBOM release

목차

기능

  • 대부분의 애플리케이션 코드(로컬 저장소, Linux 컨테이너 이미지, Kubernetes 매니페스트 및 OS)를 스캔하여 알려진 CVE를 식별하고 우선순위를 지정합니다
  • 여러 언어에 대한 고급 도달 가능성 분석을 수행합니다(아래 도달 가능성 매트릭스 참조)
  • 패키지 취약점 스캔은 로컬에서 수행되며 매우 빠릅니다. 서버는 사용되지 않습니다
  • 취약점 공개 보고서(VDR) 정보가 포함된 소프트웨어 자재 명세서(SBOM)를 생성합니다
  • CSAF(Common Security Advisory Framework) 2.0/2.1 VEX 문서를 생성합니다(CSAF Readme 참조)
  • 의존성 혼동 공격 및 유지보수 위험에 대한 심층 패키지 위험 감사를 수행합니다(위험 감사 문서 참조)

정밀한 도달 가능 데이터 흐름

전체 컨텍스트를 기반으로 애플리케이션에서 도달 가능한 경로와 도달 불가능한 경로를 모두 식별하기 위한 상세 데이터 흐름입니다.

Reachable Flows

도달 가능성 매트릭스

dep-scan은 네 개의 슬라이서를 통해 일곱 개의 언어 생태계에 대한 도달 가능성을 계산합니다. 코드가 실제로 실행 경로에 있는 취약한 패키지는 도달 가능(Reachable) 으로 표시되는 반면, BOM에 선언만 되고 호출되지 않는 패키지는 그렇지 않습니다. 모든 슬라이서는 동일한 공유 purl 기반 도달 가능성 엔진에 데이터를 공급하므로 언어 전반에 걸쳐 동작이 일관됩니다. 도달 가능성 분석은 기본적으로 활성화되어 있으며(--reachability-analyzer FrameworkReachability), SemanticReachability는 추가로 도달된 서비스, 엔드포인트 및 빌드 후(바이너리/컨테이너) 도달 가능성을 귀속시킵니다.

언어 / 생태계도달 가능성 엔진기본 분석기
Java / JVM (Groovy, Kotlin, Scala)atomFrameworkReachability
JavaScript / TypeScriptatomFrameworkReachability
PythonatomFrameworkReachability
PHPatomFrameworkReachability
RustrusiFrameworkReachability
GogolemFrameworkReachability
.NET (C#, VB, F#, R)dosaiFrameworkReachability

도달 가능성과 우선순위 지정의 배경 개념은 도달 가능성 모델 및 우선순위 지정 장을 참고하십시오. 언어별 예제는 언어 가이드를 참고하십시오. 컴플라이언스 관련 내용(VDR 및 CSAF VEX)은 VDR 가이드와 CSAF VEX 가이드를 참고하십시오.

도달 가능성은 --profile research에서 기본적으로 활성화되며, 이는 dep-scan이 도달 가능성이 켜져 있을 때 사용하는 프로필입니다. 아래 명령만으로도 시작하기에 충분하며, 언어별 가이드에서는 바이너리 해석, 백엔드 및 네트워크 안전성, 복원 요구 사항, 저장소 내 픽스처에 대한 예제를 다룹니다.

Rust (rusi). cdxgen은 rusi를 실행하고 그 보고서를 저장하며, dep-scan이 이를 공유 파이프라인으로 변환합니다. 따라서 실제로 호출되는 크레이트(예: RUSTSEC-2020-0071의 time::now())는 Reachable로 표시되지만, 단순히 존재하기만 하는 크레이트는 그렇지 않습니다. Rust 도달 가능성 가이드를 참고하십시오.

depscan -i ./my-rust-app -o ./reports --profile research

Go (golem). dep-scan은 Go 프로젝트에 대해 golem을 직접 호출하며(PATH에 go 필요), 모듈의 함수가 추적된 경로에 있을 때 해당 모듈을 Reachable로 표시합니다. 모듈 캐시가 준비된 신뢰할 수 없는 저장소에는 --go-analyzer-network offline을 사용하세요. Go reachability guide를 참고하세요.

depscan -i ./my-go-app -o ./reports -t go

.NET (dosai). cdxgen은 dosai를 실행하며, 이는 패키지별 도달 가능성 판정(ReachabilityKind 및 Confidence가 포함된 PackageReachability)을 명시적으로 출력하고 dep-scan은 이를 권위 있는 것으로 취급하므로, 실제로 호출되는 NuGet 패키지(예: 제어된 입력에 대한 JsonConvert.DeserializeObject)는 Reachable로 판정됩니다. 복원된 트리를 스캔하여 버전이 지정된 purl을 확인하세요. .NET 도달 가능성 가이드를 참조하세요.

depscan -i ./my-dotnet-app -o ./reports -t dotnet

JVM, JavaScript/TypeScript, Python, PHP (atom). 이 네 가지 생태계는 언어에 구애받지 않는 중간 표현을 구축하고 정적 슬라이싱을 수행하는 atom 슬라이서를 공유합니다. JVM, JS, Python, PHP 도달 가능성 가이드를 참조하세요.

depscan --profile research -t java -i ./my-java-app -o ./reports --explain

프레임워크 중심 도달 가능성 분석을 넘어 엔드포인트, 서비스, 빌드 후 단계까지 확장하려면 --reachability-analyzer SemanticReachability와 라이프사이클 BOM의 --bom-dir을 함께 전달하세요. 시맨틱 도달 가능성 가이드를 참고하세요.

CVE에 대한 명확한 통찰

설명을 일일이 읽지 않고도 CVE를 명확하게 이해할 수 있습니다.

Dependency Tree with Insights

자동 우선순위 지정

주의가 필요한 CVE에만 집중하세요.

Prioritization

선제적 대응 유지

고급 취약점 및 익스플로잇 예측으로 항상 한발 앞서 나가세요.

Proactive Measures

취약점 데이터 소스

Linux 배포판

  • AlmaLinux
  • Debian
  • Alpine
  • Amazon Linux
  • Arch Linux
  • RHEL/CentOS
  • Rocky Linux
  • Ubuntu
  • OpenSUSE/SLES
  • Photon
  • Chainguard
  • Wolfi OS

빠른 시작

dep-scan은 지속적 통합(CI) 중 사용과 로컬 개발 도구로 사용하기에 이상적입니다.

로컬에서 프로젝트 스캔 (Python 버전)

sudo npm install -g @cyclonedx/cdxgen
# Normal version recommended for most users (MIT)
pip install owasp-depscan

# For a full version with all extensions and server mode (Multiple Licenses)
pip install owasp-depscan[all]

이렇게 하면 cdxgen과 depscan이라는 두 개의 명령이 설치됩니다.

다양한 옵션과 함께 스캔 명령을 직접 호출할 수 있습니다.

cd <project to scan>
depscan --src $PWD --reports-dir $PWD/reports

전체 옵션 목록은 아래와 같습니다:

카테고리