
VulnCheck का आधिकारिक कमांड लाइन टूल
vulncheck कमांड लाइन पर VulnCheck API तक पहुँच प्रदान करता है। यह इंडेक्स ब्राउज़िंग, बैकअप प्रबंधन, और भेद्यता स्कैनिंग को टर्मिनल पर लाता है।
आप एक इंस्टॉल स्क्रिप्ट का उपयोग करके आसानी से vulncheck इंस्टॉल कर सकते हैं। अपने ऑपरेटिंग सिस्टम से मेल खाने वाली स्क्रिप्ट और विधि चुनें:
एक टर्मिनल खोलें और चलाएँ:
curl -sSL https://raw.githubusercontent.com/vulncheck-oss/cli/main/install.sh | bash
यह आपको सिस्टम-व्यापी इंस्टॉलेशन (sudo आवश्यक) या स्थानीय उपयोगकर्ता इंस्टॉलेशन के बीच चयन करने के लिए प्रेरित करेगा।
[!NOTE] इंस्टॉल स्क्रिप्ट गैर-इंटरैक्टिव इंस्टॉलेशन विकल्पों का भी समर्थन करती है:
--sudoबिना प्रॉम्प्ट के सिस्टम-व्यापी इंस्टॉलेशन के लिए--non-sudoबिना प्रॉम्प्ट के स्थानीय उपयोगकर्ता इंस्टॉलेशन के लिए--helpया-hसभी उपलब्ध विकल्पों को देखने के लिएcurl -sSL https://raw.githubusercontent.com/vulncheck-oss/cli/main/install.sh | bash -s -- --help
PowerShell खोलें और चलाएँ:
iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/vulncheck-oss/cli/main/install.ps1'))
टैब पूर्णता सक्षम करने के लिए, अपने PowerShell प्रोफ़ाइल से बंडल किए गए स्क्रिप्ट को dot-source करें:
Add-Content -Path $PROFILE -Value ". '$env:LOCALAPPDATA\Programs\vulncheck\share\powershell\vulncheck.ps1'"
vulncheck बाइनरीज़ MacOS, Linux, और Windows के लिए भी उपलब्ध हैं। आप हमारे releases पेज से प्रीकंपाइल्ड बाइनरीज़ डाउनलोड कर सकते हैं
इंस्टॉल हो जाने के बाद, पुष्टि करें कि बाइनरी वांछित संस्करण प्रिंट करती है:
vulncheck version
आपको संस्करण, बिल्ड तिथि, और changelog URL दिखना चाहिए। यदि आपको "command not found" मिलता है, तो अपना शेल फिर से खोलें ताकि नया PATH उठाया जा सके, फिर पुनः प्रयास करें।
vulncheck auth login चलाएँ।vulncheck VULNCHECK_API_TOKEN environment
variable का सम्मान करेगा — वही नाम जो VulnCheck SDKs और MCP सर्वर द्वारा उपयोग किया जाता है। लेगेसी VC_TOKEN भी अभी भी काम करता है, और जब दोनों सेट हों तो यह प्राथमिकता लेता है।vulncheck auth अन्य विकल्प दिखाएगा जैसे आपकी स्थिति की जाँच करना और लॉग आउट करना।कोई भी environment variable सहेजी गई config फ़ाइल पर हावी होता है। इस कारण से,
auth login और auth logout तब मना कर देते हैं जब कोई एक सेट हो — अन्यथा वे
सफलता की रिपोर्ट करते हुए कुछ भी प्रभावी नहीं बदलते। यह देखने के लिए कि सक्रिय टोकन
किस स्रोत से, और किस variable से आया है, vulncheck auth status चलाएँ।
CLI को स्क्रिप्ट और AI एजेंट्स से चलाने के लिए सुरक्षित होने के लिए डिज़ाइन किया गया है। यह अनुभाग अनुबंध है — नीचे दी गई सतहें रिलीज़ों में स्थिर रहने के लिए हैं (जोड़ना ब्रेकिंग परिवर्तन नहीं है; नाम बदलना / हटाना है)।
| Flag | Effect |
|---|---|
--json | stdout पर JSON उत्सर्जित करें; info/progress पंक्तियों को stderr पर भेजें; त्रुटियाँ एक संरचित envelope के रूप में उत्सर्जित करें। |
--quiet | सूचनात्मक आउटपुट को दबाएँ। त्रुटियाँ और payloads अभी भी रेंडर होते हैं। |
--no-color | ANSI स्टाइलिंग अक्षम करें। NO_COLOR env var का भी सम्मान करता है। |
--no-interactive | TUI प्रॉम्प्ट पर ब्लॉक करने से मना करें; जिन कमांडों को प्रॉम्प्ट की आवश्यकता होती है वे इसके बजाय त्रुटि लौटाते हैं। --json, non-TTY stdin/stdout, और किसी भी CI / BUILD_NUMBER / RUN_ID env vars द्वारा निहित। |
| Variable | Effect |
|---|---|
VULNCHECK_API_TOKEN | API टोकन, और अनुशंसित नाम — VulnCheck SDKs और MCP सर्वर के साथ साझा किया गया। ~/.config/vulncheck/vulncheck.yaml पर प्राथमिकता लेता है; जब तक सेट है, auth login और auth logout एक ऐसी फ़ाइल लिखने के बजाय मना कर देते हैं जिसे अनदेखा किया जाएगा। |
VC_TOKEN | लेगेसी उपनाम, अभी भी पूरी तरह से समर्थित और जब दोनों सेट हों तो VULNCHECK_API_TOKEN पर प्राथमिकता लेता है, इसलिए कोई मौजूदा सेटअप क्रेडेंशियल नहीं बदलता। config फ़ाइल पर वापस जाने के लिए दोनों को साफ़ करें। auth status रिपोर्ट करता है कि कौन सा उपयोग में है। |
NO_COLOR | कोई भी गैर-रिक्त मान ANSI स्टाइलिंग को अक्षम करता है। |
CI / BUILD_NUMBER / RUN_ID | इनमें से कोई भी सेट होने पर गैर-इंटरैक्टिव मोड (कोई प्रॉम्प्ट नहीं) निहित होता है। |
| Code | Meaning |
|---|---|
| 0 | सफलता। |
| 1 | सामान्य / आंतरिक त्रुटि। |
| 2 | सत्यापन विफलता (खराब args, अनुपलब्ध आवश्यक flag, विकृत अनुरोध)। |
| 3 | प्रमाणीकरण विफलता (कोई टोकन नहीं, या सर्वर ने टोकन अस्वीकार कर दिया)। |
| 4 | संसाधन नहीं मिला (HTTP 404, ऐसा कोई index नहीं)। |
| 5 | दर सीमित (HTTP 429)। |
| 6 | नेटवर्क विफलता (DNS, कनेक्शन अस्वीकृत, टाइमआउट)। |
| 130 | SIGINT द्वारा रद्द (POSIX 128 + 2)। |
--json मोड में, त्रुटियाँ stdout पर इस प्रकार उत्सर्जित होती हैं:
{
"schema_version": 1,
"error": {
"code": "auth_required",
"message": "...",
"http_status": 401,
"hint": "..."
}
}
code इनमें से एक है: internal, validation, auth_required, auth_invalid, not_found, rate_limited, network, bad_request, cancelled। गैर-HTTP त्रुटियों के लिए http_status छोड़ा गया है। hint वैकल्पिक उपचारात्मक संदर्भ है, केवल तब मौजूद होता है जब अकेला संदेश कार्रवाई योग्य न हो (उदा. अस्वीकृत टोकन की आपूर्ति करने वाले variable का नाम बताना)। --json मोड के बाहर stderr पर hint: ... के रूप में रेंडर किया जाता है।
काम भेजने से पहले CLI का निरीक्षण करने के लिए इनका उपयोग करें:
vulncheck version --json
# {"schema_version": 1, "version": "...", "build_date": "...", "changelog_url": "..."}
vulncheck auth status --json
# {"schema_version": 1, "authenticated": true, "token_source": "env",
# "token_env_var": "VC_TOKEN", "user": "...", "email": "..."}
# Exit 0 even when authenticated=false — agents dispatch on the bool.
# token_env_var names which variable supplied the token when token_source is
# "env"; omitted otherwise. Set when authenticated=false too, so a rejected
# token can be traced to the variable holding it.
# token_shadowed: true is added when an environment token is overriding a
# *different* token saved in vulncheck.yaml — the usual cause of "I logged
# in but nothing changed". Omitted otherwise, so the CI shape (env token
# only, no config file) never reports shadowing.