
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 page से प्रीकंपाइल्ड बाइनरीज़ डाउनलोड कर सकते हैं।
इंस्टॉल होने के बाद, पुष्टि करें कि बाइनरी इच्छित संस्करण प्रिंट करती है:
vulncheck version
आपको संस्करण, बिल्ड तिथि और चेंजलॉग URL दिखना चाहिए। यदि आपको "command not found" मिलता है, तो अपना शेल फिर से खोलें ताकि नया PATH उठा लिया जाए, फिर पुनः प्रयास करें।
vulncheck auth login चलाएँ।vulncheck VULNCHECK_API_TOKEN environment
variable का सम्मान करेगा — वही नाम जो VulnCheck SDKs और MCP server द्वारा उपयोग किया जाता है। लेगेसी VC_TOKEN भी अभी भी काम करता है, और जब दोनों सेट हों तो यह प्राथमिकता लेता है।vulncheck auth अन्य विकल्प दिखाएगा जैसे आपकी स्थिति जाँचना और लॉग आउट करना।कोई भी environment variable सहेजी गई config फ़ाइल पर हावी होता है। इस कारण से,
auth login और auth logout तब मना कर देते हैं जब कोई एक सेट हो — अन्यथा वे
सफलता की रिपोर्ट करते बिना कुछ भी प्रभावी बदले। यह देखने के लिए कि सक्रिय टोकन
किस स्रोत और किस variable से आया, vulncheck auth status चलाएँ।
CLI को स्क्रिप्ट और AI agents से संचालित करने के लिए सुरक्षित होने के लिए डिज़ाइन किया गया है। यह अनुभाग अनुबंध है — नीचे दी गई सतहें रिलीज़ के दौरान स्थिर रहने के लिए हैं (जोड़ना ब्रेकिंग परिवर्तन नहीं है; नाम बदलना / हटाना है)।
| Flag | प्रभाव |
|---|---|
--json | stdout पर JSON उत्सर्जित करें; info/progress पंक्तियों को stderr पर भेजें; त्रुटियाँ संरचित envelope के रूप में उत्सर्जित करें। |
--quiet | सूचनात्मक आउटपुट दबाएँ। त्रुटियाँ और payloads अभी भी प्रदर्शित होते हैं। |
--no-color | ANSI स्टाइलिंग अक्षम करें। NO_COLOR env var का भी सम्मान करता है। |
--no-interactive | TUI prompts पर ब्लॉक करने से मना करें; जिन commands को prompt चाहिए वे इसके बजाय त्रुटि लौटाते हैं। --json, non-TTY stdin/stdout, और CI / BUILD_NUMBER / RUN_ID env vars में से किसी के द्वारा निहित। |
| Variable | प्रभाव |
|---|---|
VULNCHECK_API_TOKEN | API टोकन, और अनुशंसित नाम — VulnCheck SDKs और MCP server के साथ साझा। ~/.config/vulncheck/vulncheck.yaml पर प्राथमिकता लेता है; सेट रहने के दौरान, auth login और auth logout ऐसी फ़ाइल लिखने से मना करते हैं जिसे अनदेखा किया जाएगा। |
VC_TOKEN | लेगेसी उपनाम, अभी भी पूरी तरह समर्थित और जब दोनों सेट हों तो VULNCHECK_API_TOKEN पर प्राथमिकता लेता है, ताकि कोई भी मौजूदा सेटअप क्रेडेंशियल न बदले। config फ़ाइल पर वापस जाने के लिए दोनों को साफ़ करें। auth status बताता है कि कौन सा उपयोग में है। |
NO_COLOR | कोई भी गैर-रिक्त मान ANSI स्टाइलिंग अक्षम करता है। |
CI / BUILD_NUMBER / RUN_ID | इनमें से कोई भी सेट होना non-interactive मोड (कोई prompts नहीं) निहित करता है। |
| Code | अर्थ |
|---|---|
| 0 | सफलता। |
| 1 | सामान्य / आंतरिक त्रुटि। |
| 2 | सत्यापन विफलता (गलत args, अनुपलब्ध आवश्यक flag, विकृत अनुरोध)। |
| 3 | Auth विफलता (कोई टोकन नहीं, या सर्वर ने टोकन अस्वीकार किया)। |
| 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 वैकल्पिक उपचार संदर्भ है, जो केवल तब मौजूद होता है जब संदेश अकेले कार्रवाई योग्य न हो (जैसे उस वेरिएबल का नाम बताना जिसने अस्वीकृत टोकन प्रदान किया)। --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.