Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Vulnerability Database -- VulnBook — स्थैतिक भेद्यता निष्कर्षों का ट्रैकर जिसमें 11 CVE डेटाबेस में समानांतर खोज, EPSS संवर्धन, CISA KEV बैज, समन्वित प्रकटीकरण वर्कफ़्लो और ऑफ़लाइन समर्थन शामिल है। | Kitploit
उपकरण/GitLabGitLab/t-beckett/vulnbook
रक्षात्मक उपकरणखतरा फ़ीड और एग्रीगेटरभेद्यता विश्लेषणखतरा खुफियाघटना प्रतिक्रिया
GitLabt-beckett/vulnbook

Vulnerability Database -- VulnBook

स्थैतिक भेद्यता निष्कर्षों का ट्रैकर जिसमें 11 CVE डेटाबेस में समानांतर खोज, EPSS संवर्धन, CISA KEV बैज, समन्वित प्रकटीकरण वर्कफ़्लो और ऑफ़लाइन समर्थन शामिल है।

रिपॉजिटरी देखें
6 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Vulnerability Findings Database

एक स्थैतिक, क्लाइंट-साइड भेद्यता निष्कर्ष ट्रैकर जो Astro + React के साथ निर्मित है — इसे नेटिव Linux डेस्कटॉप ऐप (Tauri v2) के रूप में भी पैक किया गया है। सुरक्षा निष्कर्ष लॉग करें, उन्हें समन्वित प्रकटीकरण के माध्यम से ट्रैक करें, 11 लाइव भेद्यता डेटाबेस में समानांतर खोजें और नवीनतम CVE ब्राउज़ करें — अपने ब्राउज़र में या डेस्कटॉप ऐप के रूप में, बिना किसी बैकएंड की आवश्यकता के।


विषय-सूची

  • विशेषताएँ
  • पाँच दृश्य
  • डेटा मॉडल
  • भेद्यता डेटाबेस
  • टेक स्टैक
  • आरंभ करना
  • नेटिव डेस्कटॉप ऐप
  • वैकल्पिक API कुंजियाँ
  • डेटाबेस कॉन्फ़िगरेशन
  • खोज पाइपलाइन कैसे काम करती है
  • डेटा स्थायित्व
  • निर्यात
  • AI चैटबॉक्स
  • परीक्षण
  • प्रोजेक्ट संरचना
  • शोध नोट
  • डिज़ाइन एवं योजना कार्यप्रवाह
  • लाइसेंस

विशेषताएँ

  • निष्कर्ष प्रबंधन — गंभीरता, CVSS, CWE, CVE, स्थिति, तिथियाँ, टैग और संदर्भ लिंक के साथ निष्कर्ष बनाएँ, संपादित करें, देखें और हटाएँ
  • डैशबोर्ड — स्टैट कार्ड, गंभीरता पाई चार्ट, स्थिति बार चार्ट और प्रकटीकरण-समय-सीमा अलर्ट
  • सूची एवं ग्रिड दृश्य — पूर्ण-पाठ खोज, फ़िल्टर (गंभीरता/स्थिति/प्रोजेक्ट/टैग), सॉर्टिंग और एक-क्लिक CSV या Markdown निर्यात
  • डेटाबेस खोज — लाइव प्रति-स्रोत स्थिति चिप्स, EPSS संवर्धन और CISA KEV बैज के साथ 11 स्रोतों में समानांतर क्वेरी करें
  • ब्राउज़ — गंभीरता फ़िल्टरिंग, "Known exploited only" टॉगल और डीडुप के साथ load-more पेजिनेशन सहित 4 स्रोतों से नवीनतम CVE की बिना-इनपुट ब्राउज़िंग
  • स्थायित्व — निष्कर्ष localStorage में सहेजे जाते हैं (कोई सर्वर नहीं, कोई खाता नहीं)
  • ऑफ़लाइन मोड — ब्राउज़ फ़ीड (NVD, GitHub Advisories, CIRCL, CISA KEV) को लोकल स्टोरेज में डाउनलोड करें और बिना नेटवर्क के स्नैपशॉट के विरुद्ध खोज/ब्राउज़ करें
  • कस्टम डेटाबेस — Settings टैब से कोई भी अतिरिक्त CVE API कनेक्ट करें (URL + वैकल्पिक bearer key), जिसे बिल्ट-इन स्रोतों के साथ क्वेरी किया जाता है
  • कॉन्फ़िगर करने योग्य स्रोत — ऐप के भीतर Settings टैब से किसी भी डेटाबेस को चालू/बंद करें और API कुंजियाँ प्रबंधित करें (पुनर्निर्माण की आवश्यकता नहीं)
  • AI चैटबॉक्स — ओवरले साइडबार के रूप में बिल्ट-इन AI सहायक (सामग्री कभी रीफ्लो नहीं होती): OpenAI, Claude, Google Gemini, Ollama और OpenCode Zen; बंडल किए गए ज्ञान पैक के माध्यम से प्रोजेक्ट-विशेषज्ञ; स्लैश कमांड; और MCP/Skill कनेक्शन के लिए एक AI मार्केटप्लेस

  • पाँच दृश्य

    ट्रैकर (/tracker) पाँच टैब वाला एक सिंगल-पेज ऐप है:

    1. Dashboard

    • Stat कार्ड: कुल निष्कर्ष, सक्रिय (Fixed/Disclosed नहीं), क्रिटिकल गंभीरता और निकट/बीती हुई प्रकटीकरण समय-सीमा की संख्या
    • गंभीरता वितरण — डोनट चार्ट (Critical / High / Medium / Low)
    • स्थिति के अनुसार निष्कर्ष — बार चार्ट (New / Reported / Acknowledged / Fixed / Disclosed)
    • आगामी एवं विलंबित समय-सीमाएँ — ऐसे निष्कर्ष जो अपनी प्रकटीकरण समय-सीमा के 7 दिनों के भीतर हैं, तात्कालिकता के अनुसार क्रमबद्ध, "X days left" / "X days overdue" लेबल के साथ

    2. Findings

    आपके लॉग किए गए निष्कर्षों के लिए प्रबंधन दृश्य:

    • पूर्ण-पाठ खोज — शीर्षक, विवरण, प्रोजेक्ट, CVE ID, CWE ID, नोट्स और टैग में
    • फ़िल्टर — गंभीरता, स्थिति, प्रोजेक्ट और टैग ड्रॉपडाउन (विकल्प आपके डेटा से व्युत्पन्न होते हैं)
    • सॉर्टिंग — गंभीरता, स्थिति या खोज तिथि के अनुसार, आरोही या अवरोही
    • तालिका / ग्रिड टॉगल — डेस्कटॉप पर तालिका, मोबाइल पर कार्ड; या कार्ड ग्रिड
    • निर्यात — वर्तमान में फ़िल्टर किए गए दृश्य का CSV या Markdown
    • विवरण मोडल — संपादन और हटाने की क्रियाओं के साथ पूर्ण रिकॉर्ड
    • खाली अवस्थाएँ — "no findings yet" बनाम "no findings match your filters" के लिए अलग-अलग संदेश

    3. Search

    एक ही क्वेरी स्ट्रिंग के साथ सभी सक्षम डेटाबेस में समानांतर क्वेरी करें:

    • 11 स्रोत एक साथ क्वेरी किए जाते हैं (देखें भेद्यता डेटाबेस)
    • लाइव स्थिति चिप्स — प्रत्येक स्रोत idle / loading / ok (परिणाम संख्या के साथ) / error (कारण के साथ) दिखाता है
    • परिणाम कार्ड — विस्तार योग्य, जिनमें CVE ID, गंभीरता बैज, CVSS, EPSS स्कोर, CISA KEV बैज, CWE, संदर्भ और "View on NVD" लिंक दिखाई देते हैं
    • डीडुप्लिकेशन — कई स्रोतों के परिणाम प्रति CVE एक कार्ड में विलय कर दिए जाते हैं
    • सुगम अवनति — विफल स्रोत एक error चिप दिखाता है; शेष खोज फिर भी पूरी होती है

    4. Browse

    नवीनतम भेद्यताओं की बिना-इनपुट ब्राउज़िंग:

    • 4 स्रोत: NVD (30-दिवसीय प्रकाशन विंडो), GitHub Advisories, CIRCL, CISA KEV
    • गंभीरता फ़िल्टर चिप्स — All / Critical / High / Medium / Low
    • "Known exploited only" टॉगल — केवल CISA KEV प्रविष्टियाँ दिखाता है
    • Load more — डीडुप और प्रकाशन तिथि द्वारा पुनः-सॉर्टिंग के साथ अगला पृष्ठ जोड़ता है
    • सारांश पंक्ति — "N CVEs across X of 4 sources in Yms"

    5. Settings

    डेटाबेस कनेक्टिविटी के लिए नियंत्रण पैनल:

    • प्रति-स्रोत टॉगल — हर डेटाबेस (और EPSS संवर्धन) को चालू या बंद किया जा सकता है; परिवर्तन सहेजने के तुरंत बाद लागू होते हैं, पुनर्निर्माण की आवश्यकता नहीं
    • कनेक्शन विधि लेबल — प्रत्येक स्रोत दिखाता है कि वह सीधे कनेक्ट होता है या API कुंजी की आवश्यकता है
    • API कुंजी इनपुट — ऐप में Vulners, MEND, VulDB और OpenCVE के लिए कुंजियाँ दर्ज करें (दिखाएँ/छिपाएँ के साथ पासवर्ड फ़ील्ड); कुंजियाँ बिल्ड-समय के .env मानों को ओवरराइड करती हैं
    • ऑफ़लाइन मोड — मास्टर टॉगल के साथ-साथ ब्राउज़ फ़ीड (NVD, GitHub Advisories, CIRCL, CISA KEV) के लिए प्रति-स्रोत Download / Remove बटन; डाउनलोड किए गए स्नैपशॉट स्थानीय रूप से संग्रहीत होते हैं और ऑफ़लाइन रहते हुए Search/Browse द्वारा उपयोग किए जाते हैं
    • कस्टम डेटाबेस — कोई भी अतिरिक्त CVE API जोड़ें (नाम, वैकल्पिक {query} प्लेसहोल्डर वाला URL, वैकल्पिक bearer key), उसका परीक्षण करें या हटाएँ; कनेक्टेड कस्टम डेटाबेस Search दृश्य में अतिरिक्त चिप्स के रूप में दिखाई देते हैं
    • Save / Reset — परिवर्तन स्थायी रखें या डिफ़ॉल्ट पुनर्स्थापित करें
    • कुंजियाँ ऐप में स्थानीय रूप से संग्रहीत होती हैं और केवल संबंधित प्रदाता को भेजी जाती हैं

    डेटा मॉडल

    एक Finding मूल रिकॉर्ड है। फ़ील्ड:

    फ़ील्डविवरण
    idअद्वितीय पहचानकर्ता
    projectNameवह प्रोजेक्ट जिससे निष्कर्ष संबंधित है (आवश्यक)
    repoUrlरिपॉज़िटरी URL (आवश्यक, एक मान्य URL होना चाहिए)
    titleसंक्षिप्त शीर्षक (आवश्यक)
    descriptionविस्तृत विवरण (आवश्यक, ≥ 10 अक्षर)
    severityCritical / High / Medium / Low
    cvssScoreCVSS स्कोर 0–10 (वैकल्पिक)
    cweIdCWE पहचानकर्ता, जैसे CWE-79
    cveIdCVE पहचानकर्ता, जैसे CVE-2021-44228
    affectedVersionsप्रभावित संस्करण श्रेणियाँ
    statusNew / Reported / Acknowledged / Fixed / Disclosed
    discoveryDateआपने इसे कब खोजा
    reportedDateआपने इसे विक्रेता को कब सूचित किया
    disclosureDeadlineसमन्वित-प्रकटीकरण समय-सीमा (डैशबोर्ड अलर्ट को संचालित करती है)
    referenceLinksसंदर्भ URL की सूची
    notesस्वतंत्र-रूप टिप्पणियाँ
    tagsटैग की सूची (फ़िल्टरिंग के लिए उपयोग)
    createdAt / updatedAtटाइमस्टैम्प

    फ़ॉर्म में सत्यापन लागू किया जाता है: आवश्यक फ़ील्ड, URL प्रारूप, विवरण की लंबाई और CVSS सीमा।


    भेद्यता डेटाबेस

    11 डेटाबेस एकीकृत, साथ ही EPSS संवर्धन। सात बिना कुंजी के सीधे कनेक्ट होते हैं; चार को .env से एक क्रेडेंशियल की आवश्यकता होती है।

    #स्रोतपहुँचखोजब्राउज़नोट्स
    1NVD (NIST)सीधा✅✅NVD API 2.0; Browse में 30-दिवसीय विंडो
    2CIRCLसीधा✅✅CVE खोज + "last" फ़ीड (OSV/CSAF आकृतियाँ)
    3GitHub Advisoriesसीधा✅✅GHSA API
    4OSV (Google)सीधा✅—ओपन-सोर्स इकोसिस्टम भेद्यताएँ
    5CISA KEVसीधा✅✅Known Exploited Vulnerabilities कैटलॉग
    6Red Hatसीधा✅—Red Hat CVE डेटाबेस
    7EUVD (ENISA)सीधा✅—यूरोपीय भेद्यता डेटाबेस
    8Vulners.env कुंजी✅—PUBLIC_VULNERS_API_KEY
    9MEND.env टोकन✅—PUBLIC_MEND_API_TOKEN (CVE ID लुकअप)
    10VulDB.env कुंजी✅—PUBLIC_VULDB_API_KEY (क्रेडिट-आधारित)
    11OpenCVE.env टोकन✅—PUBLIC_OPENCVE_API_TOKEN
    —EPSS (FIRST)सीधा——

    एकीकृत नहीं (कारणों सहित): Snyk (org-स्कोप्ड, कोई सार्वजनिक खोज API नहीं), JFrog Xray (स्व-होस्टेड, CVE रिकॉर्ड नहीं बल्कि आर्टिफ़ैक्ट लौटाता है), Trivy (CLI स्कैनर, कोई REST API नहीं), MSRC (मासिक CVRF दस्तावेज़, कीवर्ड-खोज योग्य नहीं), VulnCheck (केवल बल्क बैकअप एंडपॉइंट), Debian/Ubuntu (मल्टी-GB डंप, क्लाइंट-खोज योग्य नहीं), Exploit-DB/Sploitus (कोई सार्वजनिक API नहीं), CNVD/CNNVD (मैन्युअल XML डाउनलोड), Sonatype OSS Index (purl/घटक-आधारित, कीवर्ड नहीं)।


    टेक स्टैक

    परतविकल्प
    फ्रेमवर्कAstro 6 (स्थैतिक आउटपुट)
    UIReact 19 islands
    स्टाइलिंगTailwind CSS 4 (टोकन-संचालित क्लास)
    चार्टRecharts
    आइकनlucide-react
    मोशनframer-motion
    डेस्कटॉपTauri v2 (Linux: deb / rpm / AppImage; Windows: देखें Windows 11 विकास; macOS: देखें macOS विकास)
    मोबाइलTauri v2 के माध्यम से Android — देखें Android विकास
    AI चैटबिल्ट-इन चैटबॉक्स — OpenAI / Claude / Gemini / Ollama / OpenCode Zen (देखें AI चैटबॉक्स)
    भाषाTypeScript (सख्त)

    डिज़ाइन सिस्टम: "Dark Sunset Boulevard" थीम — गहरे बैंगनी-रंगत वाली गहरी सतहें (ink-950 #1A2226, ink-900 #223036, ink-800 #264653), गर्म रेत रंग का टेक्स्ट (ink-100 #F2EAE0, ink-400 #A49A8C) और जले-नारंगी एक्सेंट रंग (#E76F51)। सभी रंग src/styles/global.css में परिभाषित Tailwind 4 टोकन हैं — कंपोनेंट्स में कोई हार्डकोडेड hex नहीं।


    आरंभ करना

    आवश्यकता: Node.js >= 20।```bash

    Install dependencies

    npm install

    Start the dev server (http://localhost:4321)

    npm run dev

    Type-check (Astro + TypeScript)

    npm run check

    Production build (outputs to dist/)

    npm run build

    Preview the production build

    npm run preview

    root@kitploit:~
    बिल्ड एक पूर्ण रूप से स्थिर साइट (`dist/`) तैयार करता है — जिसे किसी भी स्थिर होस्ट (GitLab Pages, Netlify, Cloudflare Pages, GitHub Pages, nginx…) पर तैनात किया जा सकता है। यही बिल्ड एक नेटिव डेस्कटॉप ऐप में भी लपेटा जाता है — देखें [Native Desktop App](#native-desktop-app)।
    
    ---
    
    ## नेटिव डेस्कटॉप ऐप
    
    **एक कोडबेस, हर डिलीवरी प्रारूप।** यही स्रोत वेब साइट, डेस्कटॉप ऐप्स और एक Android ऐप बनाता है — कोई अलग web/app ब्रांच नहीं हैं। ऐप्स स्थिर बिल्ड हैं जो एक छोटे **Tauri v2** Rust शेल में लपेटे गए हैं, जो इसे सिस्टम वेबव्यू में प्रस्तुत करता है (Linux पर WebKitGTK, macOS पर WKWebView, Windows पर WebView2, Android WebView)। कोई सर्वर नहीं, कोई ब्राउज़र टैब नहीं; सेटिंग्स और निष्कर्ष ऐप की अपनी डेटा निर्देशिका में बने रहते हैं।
    
    ### Linux (डिफ़ॉल्ट)
    
    शिप किए गए डेस्कटॉप बंडल Linux को लक्षित करते हैं (`.deb`, `.rpm`, AppImage)।
    
    **सिस्टम निर्भरताएँ (Debian/Ubuntu):**```bash
    sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev
    

    डेवलप (hot-reload: Astro dev server + Tauri window):```bash npm run tauri:dev

    root@kitploit:~
    **इंस्टॉल करने योग्य बंडल बनाएं** (`.deb`, `.rpm`, AppImage — आउटपुट `src-tauri/target/release/bundle/` में):```bash
    npm run tauri:build
    

    The Rust शेल जानबूझकर न्यूनतम है — v1 में शून्य IPC कमांड; सभी लॉजिक वेब लेयर में रहती है, इसलिए ब्राउज़र बिल्ड और डेस्कटॉप ऐप समान व्यवहार करते हैं।

    macOS

    macOS डेस्कटॉप समर्थन डिफ़ॉल्ट कॉन्फ़िग में सक्षम नहीं है — वितरित बंडल केवल Linux के लिए हैं। कोडबेस स्वयं पूरी तरह से क्रॉस-प्लेटफ़ॉर्म है (वेब लेयर किसी भी ब्राउज़र में चलती है, और Rust शेल में शून्य IPC कमांड हैं), इसलिए macOS को सक्षम करना एक छोटा कॉन्फ़िग बदलाव है और Mac पर एक बिल्ड भी। पूरी गाइड के लिए docs/macos-development.md देखें: पूर्वापेक्षाएँ, dmg टारगेट सक्षम करना, आइकन, साइनिंग और नोटराइज़ेशन, और एक GitLab CI उदाहरण।

    Windows 11

    Windows डेस्कटॉप समर्थन डिफ़ॉल्ट कॉन्फ़िग में सक्षम नहीं है — वितरित बंडल केवल Linux के लिए हैं। कोडबेस पूरी तरह से क्रॉस-प्लेटफ़ॉर्म है, और Windows बिल्ड MSVC टूलचेन (WebView2 पहले से इंस्टॉल है) के साथ Windows 11 मशीन पर चलते हैं। पूरी गाइड के लिए docs/windows-development.md देखें: पूर्वापेक्षाएँ, nsis / msi टारगेट सक्षम करना, आइकन, कोड साइनिंग और SmartScreen, और एक GitLab CI उदाहरण।

    Android

    Android टारगेट रिपो में प्रारंभ नहीं किया गया है — एक कमांड इसे स्कैफोल्ड करता है (npm run tauri android init)। कोडबेस पूरी तरह से क्रॉस-प्लेटफ़ॉर्म है (वेब लेयर Android WebView में चलती है, और ट्रैकर UI पहले से ही फ़ोनों के लिए रिस्पॉन्सिव है)। पूरी गाइड के लिए docs/android-development.md देखें: पूर्वापेक्षाएँ (Android Studio, SDK, NDK, JDK 17), टारगेट इनिशियलाइज़ करना, APKs/AABs बनाना, और एक GitLab CI उदाहरण।


    वैकल्पिक API कुंजियाँ

    चार खोज स्रोतों को क्रेडेंशियल्स की आवश्यकता होती है। .env.example को .env में कॉपी करें, कुंजियाँ भरें, और रीबिल्ड करें:

    स्रोतवेरिएबलकहाँ से प्राप्त करें
    VulnersPUBLIC_VULNERS_API_KEYVulners खाता → API कुंजियाँ
    MENDPUBLIC_MEND_API_TOKENMEND SCA API 2.0 (JWT बियरर टोकन)
    VulDBPUBLIC_VULDB_API_KEYVulDB खाता → API कुंजी (क्रेडिट-आधारित)
    OpenCVEPUBLIC_OPENCVE_API_TOKENOpenCVE संगठन → API टोकन

    सुरक्षा नोट: यह एक स्टैटिक साइट है — PUBLIC_* वेरिएबल बिल्ड समय पर क्लाइंट बंडल में इनलाइन हो जाते हैं और पेज सोर्स में दिखाई देते हैं। कम-विशेषाधिकार वाली कुंजियाँ उपयोग करें, या वास्तविक गोपनीयता के लिए सर्वर-साइड प्रॉक्सी। बिना कुंजी वाले स्रोत केवल एक एरर चिप दिखाते हैं; बाकी खोज फिर भी काम करती है।

    टिप: आप इन कुंजियों को ऐप के Settings टैब में भी दर्ज कर सकते हैं — रनटाइम कुंजियाँ बिल्ड-टाइम .env मानों को ओवरराइड करती हैं, किसी रीबिल्ड की आवश्यकता नहीं है।

    .env फ़ाइलें gitignore की गई हैं; केवल .env.example कमिट है।


    डेटाबेस कॉन्फ़िगरेशन

    डेटाबेस ऑन/ऑफ स्विच और API कुंजियाँ रनटाइम पर Settings टैब से प्रबंधित की जाती हैं — किसी फ़ाइल संपादन या रीबिल्ड की आवश्यकता नहीं है। डिफ़ॉल्ट src/tracker/lib/dbConfig.ts में होते हैं, और रनटाइम ओवरराइड ऐप में संग्रहीत होते हैं (localStorage, कुंजी settings:all)।

    प्राथमिकता: रनटाइम सेटिंग्स (Settings टैब) > .env बिल्ड-टाइम मान > dbConfig.ts डिफ़ॉल्ट।

    प्रत्येक कॉन्फ़िग प्रविष्टि में है:

    • enabled — डिफ़ॉल्ट स्थिति; Settings टैब इसे प्रति सत्र ओवरराइड कर सकता है
    • search / browse — स्रोत किन दृश्यों में भाग लेता है
    • needsKey + keyVar — उन स्रोतों को चिह्नित करता है जो क्रेडेंशियल पढ़ते हैं (.env या Settings टैब से)

    UI पूरी तरह से प्रभावी कॉन्फ़िग से व्युत्पन्न होता है: getSearchSources() (Search चिप्स) और getBrowseSources() (Browse चिप्स) को सक्षम स्रोतों तक फ़िल्टर किया जाता है, और एडेप्टर को क्वेरी समय पर फ़िल्टर किया जाता है — Settings में किसी स्रोत को बंद करने से वह तुरंत UI और क्वेरी से हट जाता है।

    कस्टम डेटाबेस समान रनटाइम सेटिंग्स (customDbs) में संग्रहीत होते हैं। प्रत्येक प्रविष्टि में एक नाम, एक URL (वैकल्पिक रूप से {query} प्लेसहोल्डर युक्त — अन्यथा क्वेरी ?q= के रूप में जोड़ी जाती है), और एक वैकल्पिक बियरर कुंजी होती है। वे केवल खोज के लिए हैं: वे Search दृश्य में अतिरिक्त चिप्स के रूप में दिखाई देते हैं और बिल्ट-इन स्रोतों के समानांतर क्वेरी किए जाते हैं। प्रतिक्रियाएँ CVE JSON 5.0 ({ "vulnerabilities": [{ "cve": ... }] }) या लचीले फ़ील्ड नामों वाले रिकॉर्ड्स की सरल सरणी के रूप में स्वीकार की जाती हैं।


    खोज पाइपलाइन कैसे काम करती है

    सभी डेटाबेस ऐक्सेस src/tracker/lib/ में रहता है, जिम्मेदारी के अनुसार विभाजित (dbSearch.ts एक बैरल है जो पिछली सार्वजनिक API सतह को फिर से निर्यात करता है):

    • dbFetch.ts — फ़ेच-विथ-टाइमआउट हेल्पर + साझा स्थिरांक
    • dbAdapters.ts — 11 बिल्ट-इन खोज एडेप्टर + रिकॉर्ड पार्सर
    • dbBrowse.ts — 4 ब्राउज़ एडेप्टर + browseDatabases पाइपलाइन
    • dbCustom.ts — उपयोगकर्ता-कॉन्फ़िगर कस्टम डेटाबेस एडेप्टर
    • dbPipeline.ts — मर्ज / KEV / EPSS तंत्र + `searchDatabases```` query ──► Promise.all over enabled adapters ──► normalizeDbItem ──► mergeDbItems (dedup by CVE / ID / title, cross-merge) ──► attachKevBadges (CISA KEV catalog, cached) ──► enrichWithEpss (FIRST EPSS API, batched by CVE) ──► sorted results + per-source statuses + timing
    root@kitploit:~
    - **एडेप्टर** — प्रति स्रोत एक, प्रत्येक सामान्यीकृत `RawDbItem`s लौटाता है। कुंजी-आधारित एडेप्टर क्रेडेंशियल गायब होने पर स्पष्ट "no API key configured" त्रुटि फेंकते हैं।
    - **विलय** — कई स्रोतों में मिला एक ही CVE एक कार्ड बन जाता है; फ़ील्ड (summary, severity, CVSS, CWEs, refs, sources) सभी योगदानकर्ताओं से विलय किए जाते हैं।
    - **KEV बैज** — CISA कैटलॉग एक बार लाया जाता है और कैश किया जाता है; इसमें मौजूद आइटमों को "Known Exploited" बैज मिलता है।
    - **EPSS** — `api.first.org` पर बैच किया गया लुकअप; प्रत्येक कार्ड EPSS स्कोर और पर्सेंटाइल दिखाता है।
    - **विफलता अलगाव** — प्रत्येक एडेप्टर अपनी त्रुटियों को पकड़ता है और स्टेटस कॉलबैक के माध्यम से रिपोर्ट करता है; एक बंद स्रोत कभी भी दूसरों को अवरुद्ध नहीं करता।
    
    **Browse** पाइपलाइन चार ब्राउज़ स्रोतों पर वही merge/KEV/EPSS तंत्र है, साथ में पेजिनेशन (`hasMore` जब किसी स्रोत ने पूरा पेज लौटाया)।
    
    **ऑफ़लाइन मोड** लाइव पाइपलाइन को डाउनलोड किए गए स्नैपशॉट से बदल देता है: Search और Browse IndexedDB कैश (`src/tracker/lib/offline.ts`) पढ़ते हैं, EPSS एनरिचमेंट छोड़ देते हैं, और KEV बैज केवल तभी जोड़ते हैं जब CISA KEV फ़ीड भी डाउनलोड की गई हो। जिन स्रोतों के पास डाउनलोड किया गया स्नैपशॉट नहीं है, वे हैंग होने के बजाय "error / not downloaded" चिप रिपोर्ट करते हैं। **कस्टम डेटाबेस** उसी एडेप्टर इंटरफ़ेस के माध्यम से क्वेरी किए जाते हैं — URL का `{query}` प्लेसहोल्डर प्रतिस्थापित किया जाता है (या `?q=` जोड़ा जाता है), एक वैकल्पिक bearer key `Authorization` के रूप में भेजी जाती है, और प्रतिक्रियाओं को CVE JSON 5.0 या एक साधारण array से सामान्यीकृत किया जाता है।
    
    ---
    
    ## डेटा स्थायित्व
    
    Findings `localStorage` में `findings:all` कुंजी के अंतर्गत संग्रहीत होते हैं — कोई सर्वर नहीं, कोई खाता नहीं, ऑफ़लाइन काम करता है।
    
    - प्रति परिवर्तन लेखन डीबाउंस किए जाते हैं और स्वचालित रूप से सहेजे जाते हैं
    - यदि ब्राउज़र का storage API उपलब्ध नहीं है (या कोई होस्ट artifact-storage API मौजूद है), तो ऐप सुचारु रूप से फ़ॉलबैक करता है
    - भ्रष्ट पेलोड को क्रैश होने के बजाय खाली माना जाता है
    - सहेजने में विफलता पर **Retry** बटन के साथ एक बैनर दिखाई देता है
    
    > डेटा ब्राउज़र प्रोफ़ाइल में रहता है। साइट डेटा साफ़ करने से आपके Findings मिट जाते हैं — यदि आपको बैकअप चाहिए तो पहले CSV/Markdown में एक्सपोर्ट करें।
    
    **ऑफ़लाइन स्नैपशॉट** IndexedDB (डेटाबेस `vulnbook-offline`, `items` + `meta` स्टोर करता है) में रहते हैं — Settings टैब से प्रति स्रोत डाउनलोड किए जाते हैं और ऑफ़लाइन मोड चालू होने पर Search/Browse द्वारा उपयोग किए जाते हैं। वे रीलोड करने पर बने रहते हैं और केवल तब हटाए जाते हैं जब आप उस स्रोत के लिए **Remove** पर क्लिक करते हैं या साइट डेटा साफ़ करते हैं।
    
    ---
    
    ## एक्सपोर्ट
    
    Findings व्यू से, **वर्तमान में फ़िल्टर और सॉर्ट की गई** सूची एक्सपोर्ट करें:
    
    - **CSV** — 15 कॉलम (title, project, repo URL, severity, CVSS, status, CWE, CVE, affected versions, discovery/reported/disclosure dates, references, notes, tags)। कॉमा, उद्धरण और नई पंक्तियों के लिए उचित quoting/escaping।
    - **Markdown** — समान कॉलमों वाली एक GitHub-flavored तालिका।
    
    फ़ाइलों के नाम `findings-YYYY-MM-DD.csv` / `.md` होते हैं और वे स्वचालित रूप से डाउनलोड होती हैं।
    
    ---
    
    ## AI ChatBox
    
    ट्रैकर के अंदर बिल्ट-इन AI असिस्टेंट — एक **ओवरले साइडबार** जो कंटेंट के ऊपर स्लाइड होता है, बिना उसे रीफ्लो किए। पूर्ण गाइड के लिए **[docs/ai-chatbox.md](https://gitlab.com/t-beckett/vulnbook/-/blob/main/docs/ai-chatbox.md)** देखें (प्रोवाइडर सेटअप, सुरक्षा नोट्स, समस्या निवारण)।
    
    - **पाँच प्रोवाइडर** — OpenAI, Claude (Anthropic), Google Gemini, **Ollama** (लोकल, ऑफ़लाइन) और **OpenCode Zen** (फ्री-टियर मॉडल शामिल)। ऐप में कॉन्फ़िगर किए जाते हैं (key + model), `localStorage` (`chat:config`) में सहेजे जाते हैं, केवल प्रोवाइडर के अपने एंडपॉइंट पर भेजे जाते हैं
    - **प्रोजेक्ट-विशिष्ट** — हर बातचीत vulnbook (आर्किटेक्चर, डेटा मॉडल, डेटाबेस स्रोत, परंपराएँ) के बारे में बंडल किए गए **knowledge pack** पर आधारित होती है; कॉन्फ़िग पैनल में **Project context** के माध्यम से टॉगल करने योग्य
    - **स्ट्रीमिंग उत्तर** — **Stop** बटन के साथ लाइव markdown आउटपुट; एक गैर-स्ट्रीमिंग फ़ॉलबैक स्वचालित रूप से सक्रिय हो जाता है
    - **स्लैश कमांड** — कंपोज़र में `/` टाइप करें: `/mcp` और `/skill` AI Marketplace खोलते हैं, `/new` बातचीत शुरू करता है, `/clear` उसे खाली करता है, `/help` कमांड सूचीबद्ध करता है
    - **AI Marketplace** — एक साइडबार टैब जो उपलब्ध **MCP** और **Skill** प्रविष्टियों को ग्रिड में सूचीबद्ध करता है; **Connect** किसी प्रविष्टि को टॉगल करता है (सहेजा गया), **Download** रोडमैप पर है (Coming soon)
    - **चैट इतिहास** — बातचीत सहेजी जाती है (`chat:history`, सबसे पुराने-पहले ट्रिमिंग के साथ सीमित)
    
    > **सुरक्षा:** कुंजियाँ लोकल रहती हैं और केवल प्रोवाइडर के पास जाती हैं; सहायक markdown एक सख्त सैनिटाइज़र के माध्यम से रेंडर किया जाता है (कोई raw HTML नहीं); v1 में कनेक्टेड MCP/skill प्रविष्टियाँ केवल स्थिति-आधारित हैं — कुछ भी डाउनलोड या निष्पादित नहीं किया जाता।
    
    ---
    
    ## परीक्षण
    
    प्रोजेक्ट में कोई यूनिट टेस्ट फ्रेमवर्क नहीं है (स्थापित निर्णय) — सत्यापन एक तीन-चरणीय गेट है:```bash
    # 1. Type-check
    npm run check
    
    # 2. Build
    npm run build
    
    # 3. E2E smoke test (Playwright, 16 checks)
    npx http-server dist -p 8899 -a 127.0.0.1 &
    NODE_PATH=<path-to-playwright-node_modules> node scripts/smoke.cjs
    

    स्मोक टेस्ट (scripts/smoke.cjs) निम्न को कवर करता है: लैंडिंग पेज रेंडर + हाइड्रेशन, ट्रैकर आइलैंड हाइड्रेशन, फाइंडिंग CRUD, रिलोड पर localStorage पर्सिस्टेंस, सूची दृश्य + निर्यात नियंत्रण, विवरण मोडल (खोलना/Escape), विलोपन, डेटाबेस खोज से रिज़ल्ट कार्ड उत्पन्न होना, ब्राउज़ दृश्य से रिज़ल्ट कार्ड उत्पन्न होना, सेटिंग्स टैब (किसी स्रोत को बंद करने से उसका चिप हट जाता है, पुनः सक्षम करने पर वापस आ जाता है), ऑफ़लाइन मोड (टॉगल से खोज में ऑफ़लाइन बैनर दिखता है और लाइव मोड बहाल होता है), और कस्टम डेटाबेस फ़ॉर्म सत्यापन (अमान्य URL अस्वीकृत)।

    • Chromium बाइनरी PLAYWRIGHT_CHROMIUM_PATH या डिफ़ॉल्ट कैश पथ से प्राप्त की जाती है
    • चेक 9–11 लाइव APIs (NVD, GHSA, CIRCL, KEV, EPSS) को हिट करते हैं और इंटरनेट एक्सेस की आवश्यकता होती है
    • स्रोत विफलताएँ डिज़ाइन द्वारा प्रति-चिप त्रुटि स्थितियों में बदल जाती हैं — चेक अपेक्षा करते हैं कि कम से कम एक स्रोत उत्तर दे

    नेटिव-ऐप परिवर्तनों के लिए, अतिरिक्त रूप से npm run tauri:build चलाएँ (देखें नेटिव डेस्कटॉप ऐप)।


    परियोजना संरचना```

    ├── src/ │ ├── components/ # Shared Astro components + animation primitives │ │ └── anim/ # Skeleton, Spinner, FadeInUp, CountUp │ ├── layouts/ # SiteLayout (fonts, meta, theme) │ ├── pages/ # index.astro (landing), tracker.astro, 404.astro │ ├── styles/ # global.css — Tailwind 4 design tokens │ └── tracker/ │ ├── components/ # Tracker UI │ │ ├── TrackerApp.tsx # Shell: tabs, modals, state │ │ ├── Dashboard.tsx # Stats + charts + deadlines │ │ ├── FindingsList.tsx / FilterBar.tsx │ │ ├── DbSearchView.tsx / BrowseView.tsx / SettingsView.tsx │ │ ├── FindingFormModal.tsx / FindingDetailModal.tsx │ │ ├── ConfirmDeleteDialog.tsx / EmptyState.tsx / ErrorBanner.tsx │ │ ├── SourceChip.tsx / SearchResultCard.tsx / StatCard.tsx / badges.tsx │ └── lib/ # Logic │ ├── types.ts # Finding, DbItem, KevEntry, View, … │ ├── constants.ts # Severity/status order + styles, button classes │ ├── dbConfig.ts # ← per-source defaults (on/off, key vars) │ ├── settings.ts # ← runtime settings store (Settings tab overrides) │ ├── offline.ts # IndexedDB offline snapshot store (download/remove/query) │ ├── dbSearch.ts # barrel: re-exports the db layer (see "How the Search Pipeline Works") │ ├── dbFetch.ts # fetch-with-timeout helper + shared constants │ ├── dbAdapters.ts # 11 built-in search adapters + record parsers │ ├── dbBrowse.ts # browse adapters + browseDatabases pipeline │ ├── dbCustom.ts # user-configured custom database adapter │ ├── dbPipeline.ts # merge/KEV/EPSS pipeline + searchDatabases │ ├── findings.ts # CRUD + validation │ ├── storage.ts # localStorage + artifact-API fallback │ ├── export.ts # CSV / Markdown export │ └── format.ts # date/URL/id helpers, cvssToSeverity ├── scripts/smoke.cjs # Playwright E2E smoke test (16 checks) ├── docs/ # Developer guides (macOS, Windows 11, Android development) ├── src-tauri/ # Tauri v2 native shell (Rust, minimal) ├── research/ # Vulnerability database & tooling research notes ├── .env.example # Documented API-key template └── astro.config.mjs

    root@kitploit:~
    ---
    
    ## अनुसंधान नोट्स
    
    `research/` निर्देशिका में वह पृष्ठभूमि अनुसंधान शामिल है जिसने डेटाबेस एकीकरणों को संचालित किया:
    
    - **`vulnerability-databases.md`** — ~60 डेटाबेस सूचीबद्ध (एक्सेस मॉडल, API उपलब्धता, सावधानियाँ), जिसमें अप्रैल 2026 के NVD संवर्धन परिवर्तन, EUVD/OpenCVE/VulDB API विवरण, और "क्यों नहीं" सूची शामिल है
    - **`vulnerability-finding-tools.md`** — भेद्यता-खोज उपकरणों का व्यापक परिदृश्य (SAST/SCA/fuzzing/pentest) और एकल-व्यवसायी पाइपलाइन
    
    ---
    
    ## डिज़ाइन और योजना कार्यप्रवाह
    
    यह परियोजना डिज़ाइन → योजना → निष्पादन कार्यप्रवाह का पालन करती है।
    
    नई सुविधाएँ एक डिज़ाइन दस्तावेज़ से शुरू होती हैं, मान्य होती हैं, फिर सूक्ष्म-कार्यों में नियोजित और निष्पादित की जाती हैं। पूर्ण परंपराओं (ब्रांचिंग, सत्यापन गेट, कमिट शैली, पहुँच नियम) के लिए `CONTRIBUTING.md` देखें।
    
    ---
    
    ## लाइसेंस
    
    [MIT](https://gitlab.com/t-beckett/vulnbook/-/blob/main/LICENSE) © 2026 T. Beckett
    
    ---
    
    टूल डाउनलोड करें
    केवल संवर्धन: CVE को 0–1 + पर्सेंटाइल पर स्कोर करता है