
Dependency-Check는 프로젝트 의존성에 포함된 공개적으로 알려진 취약점을 탐지하려는 유틸리티입니다. 이 도구는 주어진 의존성에 대한 CPE(Common Platform Enumeration) 식별자가 있는지 확인하여 이를 수행합니다. 식별자가 발견되면 관련 CVE 항목에 연결된 보고서를 생성합니다.
문서 및 프로덕션 바이너리 릴리스 링크는 github pages에서 확인할 수 있습니다. 또한 아키텍처 및 dependency-check 확장 방법에 대한 자세한 정보는 wiki에서 확인할 수 있습니다.
Jenkins 플러그인 사용 방법은 OWASP Dependency-Check Plugin page를 참조하십시오.
더 자세한 지침은 dependency-check github pages에서 확인할 수 있습니다. 최신 CLI는 bintray의 dependency-check page에서 다운로드할 수 있습니다.
*nix에서
$ ./bin/dependency-check.sh -h
$ ./bin/dependency-check.sh --project Testing --out . --scan [path to jar files to be scanned]
Windows에서
> .\bin\dependency-check.bat -h
> .\bin\dependency-check.bat --project Testing --out . --scan [path to jar files to be scanned]
Homebrew가 설치된 Mac에서
$ brew update && brew install dependency-check
$ dependency-check -h
$ dependency-check --project Testing --out . --scan [path to jar files to be scanned]
더 자세한 지침은 dependency-check-maven github pages에서 확인할 수 있습니다.
기본적으로 이 플러그인은 verify 단계(즉, mvn verify)에 연결됩니다. 또는
mvn org.owasp:dependency-check-maven:check 명령으로 플러그인을 직접 호출할 수도 있습니다.
dependency-check 플러그인은 다음과 같이 구성할 수 있습니다:
<project>
<build>
<plugins>
...
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
...
</build>
...
</project>
Ant 태스크 사용 방법은 dependency-check-ant github page를 참조하십시오.
다음 지침은 현재 스냅샷을 컴파일하고 사용하는 방법을 설명합니다. 안정적인 스냅샷을 유지하기 위해 노력하고 있지만, 위에 나열된 릴리스 버전을 사용하는 것이 좋습니다.
이 저장소에는 테스트 리소스 때문에 큰 파일이 있습니다. 팀은 가능한 한 히스토리를 정리하려고 했습니다. 하지만 시간을 절약하려면 얕은 복제(shallow clone)를 수행하는 것이 좋습니다:
git clone --depth 1 https://github.com/jeremylong/DependencyCheck.git
*nix에서
$ mvn install
$ ./cli/target/release/bin/dependency-check.sh -h
$ ./cli/target/release/bin/dependency-check.sh --project Testing --out . --scan ./src/test/resources
Windows에서
> mvn install
> .\dependency-check-cli\target\release\bin\dependency-check.bat -h
> .\dependency-check-cli\target\release\bin\dependency-check.bat --project Testing --out . --scan ./src/test/resources
그런 다음 생성된 'dependency-check-report.html'을 원하는 브라우저에서 엽니다.
다음 예제에서는 검사할 소스가 현재 작업 디렉터리에 있다고 가정합니다. 영구 데이터 및 보고서 디렉터리를 사용하므로 실행 후 컨테이너를 삭제할 수 있습니다.
#!/bin/sh
OWASPDC_DIRECTORY=$HOME/OWASP-Dependency-Check
DATA_DIRECTORY="$OWASPDC_DIRECTORY/data"
REPORT_DIRECTORY="$OWASPDC_DIRECTORY/reports"
if [ ! -d "$DATA_DIRECTORY" ]; then
echo "Initially creating persistent directories"
mkdir -p "$DATA_DIRECTORY"
chmod -R 777 "$DATA_DIRECTORY"
mkdir -p "$REPORT_DIRECTORY"
chmod -R 777 "$REPORT_DIRECTORY"
fi
# Make sure we are using the latest version
docker pull owasp/dependency-check
docker run --rm \
--volume $(pwd):/src \
--volume "$DATA_DIRECTORY":/usr/share/dependency-check/data \
--volume "$REPORT_DIRECTORY":/report \
owasp/dependency-check \
--scan /src \
--format "ALL" \
--project "My OWASP Dependency Check Project"
# Use suppression like this: (/src == $pwd)
# --suppression "/src/security/dependency-check-suppression.xml"
1.x.x 버전에서 업그레이드할 때 다음 변경 사항을 구성에 적용해야 합니다.
여러 억제 파일을 지원하기 위해 억제 파일 구성 메커니즘이 변경되었습니다. 따라서 구성에 억제 파일을 정의한 사용자는 업데이트해야 합니다.
아래 예시를 참조하십시오:
이전:
<dependency-check
failBuildOnCVSS="3"
suppressionFile="suppression.xml">
</dependency-check>
새로운:
<dependency-check
failBuildOnCVSS="3">
<suppressionFile path="suppression.xml" />
</dependency-check>
이전:
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<configuration>
<suppressionFile>suppression.xml</suppressionFile>
</configuration>
</plugin>
새로운:
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<configuration>
<suppressionFiles>
<suppressionFile>suppression.xml</suppressionFile>
</suppressionFiles>
</configuration>
</plugin>
억제 파일 변경 외에도 dependencyCheck 태스크는
dependencyCheckAnalyze로 이름이 변경되었습니다.
이전:
buildscript {
repositories {
mavenLocal()
}
dependencies {
classpath 'org.owasp:dependency-check-gradle:2.0.1-SNAPSHOT'
}
}
apply plugin: 'org.owasp.dependencycheck'
dependencyCheck {
suppressionFile='path/to/suppression.xml'
}
check.dependsOn dependencyCheckAnalyze
새로운:
buildscript {
repositories {
mavenLocal()
}
dependencies {
classpath 'org.owasp:dependency-check-gradle:2.0.1-SNAPSHOT'
}
}
apply plugin: 'org.owasp.dependencycheck'
dependencyCheck {
suppressionFiles = ['path/to/suppression1.xml', 'path/to/suppression2.xml']
}
check.dependsOn dependencyCheckAnalyze
구독: [[email protected]] subscribe
게시: [[email protected]] post
아카이브: google group
Dependency-Check Copyright (c) 2012-2017 Jeremy Long. All Rights Reserved.
수정 및 재배포 권한은 Apache 2.0 라이선스 조건에 따라 부여됩니다. 전체 라이선스는 LICENSE.txt 파일을 참조하십시오.
Dependency-Check는 여러 다른 오픈 소스 라이브러리를 사용합니다. 자세한 내용은 NOTICE.txt 파일을 참조하십시오.