
도달 가능성 분석, SBOM 생성, 라이선스 감사 및 CI/CD 통합을 위한 컨테이너 이미지 스캐닝 기능을 갖춘 차세대 의존성 취약점 스캐너.
OWASP dep-scan은 프로젝트 종속성에 대해 알려진 취약점, 권고사항 및 라이선스 제한을 기반으로 하는 차세대 보안 및 위험 감사 도구입니다. 로컬 저장소와 컨테이너 이미지 모두 입력으로 지원되며, 이 도구는 ASPM/VM 플랫폼 및 CI 환경과의 통합에 이상적입니다.
전체 컨텍스트를 기반으로 애플리케이션에서 도달 가능 및 비도달 경로를 모두 식별하는 상세한 데이터 흐름입니다.

dep-scan은 4개의 슬라이서를 통해 7가지 언어 생태계에 대한 도달 가능성을 계산합니다. 코드가 실제로 실행 경로에 있는 취약한 패키지는 Reachable(도달 가능)로 표시되며, BOM에 선언만 되어 있고 호출되지 않는 패키지는 그렇지 않습니다. 모든 슬라이서는 동일한 공유 purl 키 기반 도달 가능성 엔진에 데이터를 제공하므로 언어 전반에 걸쳐 동작이 일관됩니다. 도달 가능성은 기본적으로 활성화되어 있습니다(--reachability-analyzer FrameworkReachability). SemanticReachability는 도달된 서비스, 엔드포인트 및 빌드 후(바이너리/컨테이너) 도달 가능성을 추가로 귀속시킵니다.
| 언어 / 생태계 | 도달 가능성 엔진 | 기본 분석기 |
|---|---|---|
| Java / JVM (Groovy, Kotlin, Scala) | atom | FrameworkReachability |
| JavaScript / TypeScript | atom | FrameworkReachability |
| Python | atom | FrameworkReachability |
| PHP | atom | FrameworkReachability |
| Rust | rusi | FrameworkReachability |
| Go | golem | FrameworkReachability |
| .NET (C#, VB, F#, R) | dosai | FrameworkReachability |
도달 가능성 및 우선순위 지정의 개념에 대해서는 도달 가능성 모델 및 우선순위 지정 장을 참조하세요. 언어별 작업 예제는 Language Guides를 참조하세요. 규정 준수(VDR 및 CSAF VEX)에 대한 내용은 VDR 가이드 및 CSAF VEX 가이드를 참조하세요.
도달 가능성은 --profile research에서 기본적으로 활성화되며, dep-scan은 도달 가능성이 켜져 있을 때 이를 사용합니다. 아래 명령어를 사용하여 시작할 수 있습니다. 언어별 가이드는 바이너리 해결, 백엔드 및 네트워크 안전, 복원 요구 사항, 저장소 내 픽스처에 대한 작업 예제를 다룹니다.
Rust (rusi). cdxgen은 rusi를 실행하고 해당 보고서를 유지하며, dep-scan은 이를 공유 파이프라인으로 변환합니다. 따라서 실제로 호출되는 크레이트(예: RUSTSEC-2020-0071에 대한 time::now())는 Reachable로 표시되고 단순히 존재하는 크레이트는 그렇지 않습니다. Rust 도달 가능성 가이드를 참조하세요.```bash
depscan -i ./my-rust-app -o ./reports --profile research
**Go (golem).** dep-scan은 Go 프로젝트에 대해 [golem](https://github.com/cdxgen/cdxgen-plugins-bin)을 직접 호출합니다 (`PATH`에 `go` 필요). 함수가 추적된 경로에 있을 때 모듈을 Reachable로 표시합니다. 신뢰할 수 없는 저장소와 웜 모듈 캐시를 사용하는 경우 `--go-analyzer-network offline`을 사용하세요. [Go 도달 가능성 가이드](https://depscan.readthedocs.io/languages/go-reachability)를 참조하십시오.```bash
depscan -i ./my-go-app -o ./reports -t go
.NET (dosai). cdxgen은 dosai를 실행하며, 이는 각 패키지에 대한 명시적 도달 가능성 판정(PackageReachability with ReachabilityKind and Confidence)을 생성합니다. dep-scan은 이 판정을 신뢰할 수 있는 것으로 간주하므로, 예를 들어 제어된 입력에 대해 JsonConvert.DeserializeObject라고 실제로 호출되는 NuGet 패키지는 도달 가능합니다. 복원된 트리에서 버전이 지정된 purl을 스캔합니다. .NET 도달 가능성 가이드를 참조하십시오.```bash
depscan -i ./my-dotnet-app -o ./reports -t dotnet
**JVM, JavaScript/TypeScript, Python, PHP (atom).** 이 네 가지 생태계는 언어에 구애받지 않는 중간 표현을 구축하고 정적 슬라이싱을 수행하는 [atom](https://github.com/AppThreat/atom) 슬라이서를 공유합니다. [JVM, JS, Python, PHP 도달 가능성 가이드](https://depscan.readthedocs.io/languages/jvm-js-python-php-reachability)를 참조하세요.```bash
depscan --profile research -t java -i ./my-java-app -o ./reports --explain
To move beyond framework-forward reachability to endpoint, service, and post-build tiers, pass --reachability-analyzer SemanticReachability with a --bom-dir of lifecycle BOMs. See the semantic reachability guide.
설명을 읽지 않고도 CVE를 명확히 이해할 수 있습니다.

관심이 필요한 CVE에만 집중하세요.

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

dep-scan은 지속적 통합(CI) 및 로컬 개발 도구로 사용하기에 이상적입니다.
sudo npm install -g @cyclonedx/cdxgen
pip install owasp-depscan
pip install owasp-depscan[all]
이것은 `cdxgen`과 `depscan`이라는 두 명령어를 설치합니다.