
सॉफ्टवेयर संरचना विश्लेषण उपकरण जो CPE मिलान का उपयोग करके परियोजना निर्भरताओं में सार्वजनिक रूप से खुलासा किए गए कमजोरियों का पता लगाता है, CI/CD एकीकरण के लिए CVE लिंक के साथ विस्तृत रिपोर्ट तैयार करता है।
Dependency-Check एक उपयोगिता है जो परियोजना निर्भरताओं में निहित सार्वजनिक रूप से खुलासा की गई कमजोरियों का पता लगाने का प्रयास करती है। यह यह निर्धारित करके करता है कि किसी दी गई निर्भरता के लिए कोई Common Platform Enumeration (CPE) पहचानकर्ता है या नहीं। यदि मिल जाता है, तो यह संबंधित CVE प्रविष्टियों से जुड़ी एक रिपोर्ट तैयार करेगा।
दस्तावेज़ीकरण और उत्पादन बाइनरी रिलीज़ के लिंक github pages पर पाए जा सकते हैं। इसके अतिरिक्त, आर्किटेक्चर और dependency-check को विस्तारित करने के तरीकों के बारे में अधिक जानकारी wiki पर पाई जा सकती है।
Jenkins प्लगइन के उपयोग के निर्देशों के लिए कृपया OWASP Dependency-Check Plugin page देखें।
अधिक विस्तृत निर्देश dependency-check github pages पर पाए जा सकते हैं। नवीनतम CLI bintray के dependency-check page से डाउनलोड किया जा सकता है।
On *nix
$ ./bin/dependency-check.sh -h
$ ./bin/dependency-check.sh --project Testing --out . --scan [path to jar files to be scanned]
On Windows
> .\bin\dependency-check.bat -h
> .\bin\dependency-check.bat --project Testing --out . --scan [path to jar files to be scanned]
Mac पर Homebrew के साथ
$ 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 Task के उपयोग के निर्देशों के लिए, कृपया dependency-check-ant github page देखें।
निम्नलिखित निर्देश बताते हैं कि वर्तमान स्नैपशॉट को कैसे संकलित और उपयोग किया जाए। जबकि हर इरादा एक स्थिर स्नैपशॉट बनाए रखने का है, यह अनुशंसा की जाती है कि ऊपर सूचीबद्ध रिलीज़ संस्करणों का उपयोग किया जाए।
रिपॉजिटरी में परीक्षण संसाधनों के कारण कुछ बड़ी फ़ाइलें हैं। टीम ने इतिहास को जितना संभव हो सके साफ करने का प्रयास किया है। हालांकि, यह अनुशंसा की जाती है कि आप समय बचाने के लिए एक उथला क्लोन करें:
git clone --depth 1 https://github.com/jeremylong/DependencyCheck.git
On *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
On 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
पुरालेख: गूगल समूह
Dependency-Check कॉपीराइट (c) 2012-2017 Jeremy Long है। सर्वाधिकार सुरक्षित।
Apache 2.0 लाइसेंस की शर्तों के तहत संशोधन और पुनर्वितरण की अनुमति दी गई है। पूर्ण लाइसेंस के लिए LICENSE.txt फ़ाइल देखें।
Dependency-Check कई अन्य ओपन सोर्स लाइब्रेरीज़ का उपयोग करता है। अधिक जानकारी के लिए कृपया NOTICE.txt फ़ाइल देखें।