OWASP dependency-check एक सॉफ़्टवेयर संरचना विश्लेषण उपयोगिता है जो एप्लिकेशन निर्भरताओं में सार्वजनिक रूप से प्रकट सुरक्षा कमजोरियों का पता लगाती है।
डिपेंडेंसी-चेक एक सॉफ्टवेयर कंपोजिशन एनालिसिस (SCA) टूल है जो किसी प्रोजेक्ट की डिपेंडेंसी में मौजूद सार्वजनिक रूप से उजागर की गई कमजोरियों का पता लगाने का प्रयास करता है। यह किसी दी गई डिपेंडेंसी के लिए कॉमन प्लेटफॉर्म एन्यूमरेशन (CPE) पहचानकर्ता है या नहीं, यह निर्धारित करके ऐसा करता है। यदि पाया जाता है, तो यह संबंधित CVE प्रविष्टियों से लिंक करने वाली एक रिपोर्ट तैयार करेगा।
दस्तावेज़ और उत्पादन बाइनरी रिलीज़ के लिंक github pages पर पाए जा सकते हैं। इसके अतिरिक्त, आर्किटेक्चर और डिपेंडेंसी-चेक को विस्तारित करने के तरीकों के बारे में अधिक जानकारी [wiki] पर पाई जा सकती है।
यह उत्पाद NVD API का उपयोग करता है लेकिन NVD द्वारा समर्थित या प्रमाणित नहीं है।
NVD API संगतता परिवर्तनों के कारण, अपग्रेड अनिवार्य है। अधिक जानकारी के लिए #7463 देखें।
डिपेंडेंसी-चेक 11.0.0 या उच्चतर चलाने के लिए अब Java 11 की आवश्यकता है
H2 डेटाबेस अपग्रेड
11.0.0 में स्थानीय H2 डेटाबेस का उपयोग करने वाले ब्रेकिंग परिवर्तन शामिल हैं। NVD डेटा का एक पूर्ण डाउनलोड होगा। ध्यान दें कि यदि आप एक साझा डेटा निर्देशिका का उपयोग कर रहे हैं तो h2 डेटाबेस फ़ाइल डिपेंडेंसी-चेक के पुराने संस्करणों के साथ संगत नहीं है। यदि आपको समस्याएँ आती हैं तो आपको एक पर्ज चलाने की आवश्यकता हो सकती है:
./gradlew dependencyCheckPurgemvn org.owasp:dependency-check-maven:11.0.0:purgedependency-check.sh --purgeडिपेंडेंसी-चेक ने 9.0.0+ (जनवरी 2024) से NVD डेटा-फ़ीड के बजाय NVD API का उपयोग करना शुरू कर दिया है।
डिपेंडेंसी-चेक के उपयोगकर्ताओं को NVD API कुंजी प्राप्त करने के लिए अत्यधिक प्रोत्साहित किया जाता है; देखें https://nvd.nist.gov/developers/request-an-api-key
NVD API कुंजी के बिना डिपेंडेंसी-चेक के अपडेट अत्यंत धीमे होंगे।
कृपया NVD API कुंजी कैसे सेट करें, इस पर cli, maven, gradle, या ant एकीकरण के लिए दस्तावेज़ देखें।
NVD API ने दर सीमाएँ लागू की हैं। यदि आप एक ही API कुंजी का उपयोग कर रहे हैं और कई बिल्ड होते हैं तो आप दर सीमा तक पहुँच सकते हैं और 403 त्रुटियाँ प्राप्त कर सकते हैं। CI वातावरण में एक कैशिंग रणनीति का उपयोग करना चाहिए।
सितंबर 2025 में Sonatype OSS Index ने प्रमाणीकरण के लिए API टोकन के उपयोग को लागू करना शुरू कर दिया। अप्रैल 2026 में Sonatype Guide में एक बाद का माइग्रेशन शुरू हुआ, जिससे Sonatype Guide API टोकन के उपयोग में संक्रमण शुरू हुआ जो 2026 के अंत से पहले विरासत OSS Index API कुंजियों/टोकन को बदलने की योजना है।
क्रेडेंशियल के बिना, डिपेंडेंसी चेक स्वचालित रूप से OSS Index विश्लेषक को अक्षम कर देगा। Sonatype Guide टोकन या विरासत OSS Index API कुंजी के उपयोग के लिए विश्लेषक क्रेडेंशियल कैसे सेट करें, इस पर CLI, Maven, Gradle, या Ant एकीकरण के लिए दस्तावेज़ देखें।
यदि आप Sonatype OSS Index (गाइड के माध्यम से) का उपयोग करना चाहते हैं तो आपको डिपेंडेंसी-चेक को कॉन्फ़िगर करना होगा और Sonatype Guide में माइग्रेशन के निहितार्थों पर विचार करना होगा; जिसका वाणिज्यिक/उपयोग मॉडल बदल गया है। अधिक जानकारी के लिए विश्लेषक दस्तावेज़ देखें।
9.0.0+ के साथ उपयोगकर्ताओं को डिपेंडेंसी रिज़ॉल्यूशन के कारण NoSuchMethodError अपवादों के साथ समस्याएँ आ सकती हैं। यदि आपको यह समस्या आती है तो आपको डिपेंडेंसी-चेक की कुछ ट्रांजिटिव डिपेंडेंसी को विशिष्ट संस्करणों पर पिन करने की आवश्यकता होगी। उदाहरण के लिए:
/buildSrc/build.gradle
dependencies {
constraints {
// org.owasp.dependencycheck needs at least this version of jackson. Other plugins pull in older versions..
add("implementation", "com.fasterxml.jackson:jackson-bom:2.21.2")
// org.owasp.dependencycheck needs these versions. Other plugins pull in older versions..
add("implementation", "org.apache.commons:commons-lang3:3.20.0")
add("implementation", "org.apache.commons:commons-text:1.15.0")
}
}
न्यूनतम जावा संस्करण: जावा 11
OWASP डिपेंडेंसी-चेक को कई बाहरी रूप से होस्ट किए गए संसाधनों तक पहुँच की आवश्यकता होती है। अधिक जानकारी के लिए इंटरनेट एक्सेस आवश्यक देखें।
कुछ प्रौद्योगिकी स्टैक का विश्लेषण करने के लिए डिपेंडेंसी-चेक को अन्य विकास उपकरण स्थापित करने की आवश्यकता हो सकती है। नीचे सूचीबद्ध कुछ विश्लेषण प्रयोगात्मक हो सकते हैं और प्रयोगात्मक विश्लेषकों को सक्षम करने की आवश्यकता हो सकती है।
go स्थापित होना चाहिए।Elixir प्रोजेक्ट के विश्लेषण के लिए mix_audit की आवश्यकता होती है।npm, pnpm, और yarn प्रोजेक्ट के विश्लेषण के लिए npm, pnpm, या yarn स्थापित होना चाहिए।
audit सुविधा का उपयोग करता है।bundle-audit के चारों ओर एक रैपर है, जिसे स्थापित किया जाना चाहिए।जेनकिंस प्लगइन के उपयोग के निर्देशों के लिए कृपया OWASP डिपेंडेंसी-चेक प्लगइन पेज देखें।
अधिक विस्तृत निर्देश डिपेंडेंसी-चेक गिटहब पेज पर पाए जा सकते हैं। नवीनतम CLI को गिटहब से रिलीज़ अनुभाग में डाउनलोड किया जा सकता है।
नवीनतम रिलीज़ डाउनलोड करना:
$ VERSION=$(curl -s https://dependency-check.github.io/DependencyCheck/current.txt)
$ curl -Ls "https://github.com/dependency-check/DependencyCheck/releases/download/v$VERSION/dependency-check-$VERSION-release.zip" --output dependency-check.zip
*nix पर
$ ./bin/dependency-check.sh -h
$ ./bin/dependency-check.sh --out . --scan [path to jar files to be scanned]
विंडोज पर
> .\bin\dependency-check.bat -h
> .\bin\dependency-check.bat --out . --scan [path to jar files to be scanned]
Homebrew के साथ मैक पर
नोट - 5.x से 6.0.0 में अपग्रेड करने वाले होमब्रू उपयोगकर्ताओं को dependency-check.sh --purge चलाने की आवश्यकता होगी।
$ brew update && brew install dependency-check
$ dependency-check -h
$ dependency-check --out . --scan [path to jar files to be scanned]