Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
fleet-cve-scanner — RMM-प्रबंधित फ्लीट के लिए एक ओपन-सोर्स, एकल-स्क्रिप्ट CVE स्कैनर। शुद्ध PowerShell 7 — आपकी RMM सॉफ़्टवेयर इन्वेंट्री को NVD, CISA KEV, EPSS और SSVC के विरुद्ध जोड़ता है ताकि उत्तर दे सके: क्या यह संस्करण असुरक्षित है, और यह कितना तत्काल है? | Kitploit
उपकरण/GitHubGitHub/boostedchaos/fleet-cve-scanner
भेद्यता स्कैनरभेद्यता विश्लेषणकॉन्फ़िगरेशन ऑडिटिंगखतरा खुफियाघटना प्रतिक्रियालॉग विश्लेषण
GitHubboostedchaos/fleet-cve-scanner

fleet-cve-scanner

RMM-प्रबंधित फ्लीट के लिए एक ओपन-सोर्स, एकल-स्क्रिप्ट CVE स्कैनर। शुद्ध PowerShell 7 — आपकी RMM सॉफ़्टवेयर इन्वेंट्री को NVD, CISA KEV, EPSS और SSVC के विरुद्ध जोड़ता है ताकि उत्तर दे सके: क्या यह संस्करण असुरक्षित है, और यह कितना तत्काल है?

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
# fleet-cve-scanner

RMM-प्रबंधित फ़्लीट के लिए एक ओपन-सोर्स, एकल-स्क्रिप्ट CVE स्कैनर। शुद्ध PowerShell 7, कोई एजेंट नहीं, कोई उपकरण नहीं, कोई लाइसेंस शुल्क नहीं।

यह आपके द्वारा प्रबंधित प्रत्येक एंडपॉइंट पर प्रत्येक सॉफ़्टवेयर के लिए एक प्रश्न का उत्तर देता है: **क्या स्थापित संस्करण असुरक्षित माना जाता है, और यह कितना तत्काल है?** — आपके RMM के सॉफ़्टवेयर इन्वेंट्री को मुफ़्त, आधिकारिक सुरक्षा फ़ीड के साथ जोड़कर:

- **NIST NVD** — ज्ञात CVE + प्रभावित संस्करण श्रेणियाँ
- **CISA KEV** — जंगली में सक्रिय रूप से शोषित (स्कोर सीमा को दरकिनार करता है)
- **EPSS** — अगले 30 दिनों में शोषण की संभावना
- **CISA SSVC** — कार्य करें / ध्यान दें / ट्रैक करें प्राथमिकता निर्णय
- **MSRC** — प्रमाण कि Microsoft पैच पहले से ही खोज को कवर करता है
- **endoflife.date** — वह सॉफ़्टवेयर जो फिर कभी पैच नहीं किया जाएगा

आउटपुट: एक प्रति-डिवाइस CSV रिपोर्ट, SLA क्लॉक और सप्ताह-दर-सप्ताह परिवर्तन घटनाओं के साथ SQLite इतिहास, एक स्व-निहित HTML डैशबोर्ड, और एक वैकल्पिक मार्कडाउन एक्सपोज़र रिपोर्ट।

## स्थिति

**v1.0.0.** इंजन को क्लीन-रूम पोर्ट किया गया था जो एक उत्पादन विंडोज फ़्लीट के खिलाफ साप्ताहिक चलने वाले स्कैनर से लिया गया था (देखें [docs/HISTORY.md](https://github.com/boostedchaos/fleet-cve-scanner/blob/main/docs/HISTORY.md))। इस रिलीज़ से पहले दोनों को एक ही लाइव फ़्लीट के खिलाफ चलाया गया और पंक्ति-दर-पंक्ति तुलना की गई: हज़ारों खोजों में जहाँ दोनों ने एक समान *(device, software, version)* देखा, प्रत्येक गणना किया गया फ़ील्ड — status, CVSS, severity, KEV flag, SSVC decision, fix version — बिल्कुल मेल खाता था।

वह तुलना **verdict** तर्क को कवर करती है। इसने history/SLA परत का अभ्यास नहीं किया, और यह आपके अपने वातावरण में टूल को मान्य करने का विकल्प नहीं है। इसे विश्वास करने से पहले [docs/known-limitations.md](https://github.com/boostedchaos/fleet-cve-scanner/blob/main/docs/known-limitations.md) पढ़ें — यह चापलूसी करने के बजाय ईमानदार होने के लिए लिखा गया है।

## त्वरित आरंभ

आपको [PowerShell 7](#requirements) (`pwsh`) की आवश्यकता है। चलाने के दो तरीके:

### A. लाइव NinjaOne स्कैन

```bash
cp config.example.json config.json
# edit config.json: fill ninjaone.client_id / client_secret / base_url,
# set output.report_dir, and (recommended) nvd.api_key
pwsh -File fleet-cve-scan.ps1
```

### B. ऑफ़लाइन — कोई भी RMM, SCCM, या Intune (कोई API एक्सेस नहीं)

अपनी इन्वेंट्री को `hostname, software, version` कॉलम (वैकल्पिक `device_id, os`) के साथ एक CSV में निर्यात करें, फिर:

```bash
cp config.example.json config.json   # only output.report_dir is needed here
pwsh -File fleet-cve-scan.ps1 -InputCsv inventory.csv
```

`-InputCsv` **शून्य** NinjaOne कॉल करता है — कोई OAuth नहीं, कोई API नहीं। यह अभी भी NVD और अन्य सार्वजनिक फ़ीड को क्वेरी करता है, इसलिए आपको अभी भी `config.json` में `nvd.api_key` और एक मान्य `output.report_dir` चाहिए। इनपुट अनुबंध और प्रति-RMM निर्यात व्यंजनों के लिए [docs/rmm-adapters.md](https://github.com/boostedchaos/fleet-cve-scanner/blob/main/docs/rmm-adapters.md) देखें।

### पूर्वापेक्षाएँ स्थापित करना

- **PowerShell 7** — macOS: `brew install powershell`; Windows:
  `winget install Microsoft.PowerShell`; Debian/Ubuntu: Microsoft पैकेज रेपो (`packages.microsoft.com`) से स्थापित करें।
- **sqlite3** (वैकल्पिक, इतिहास/ट्रेंडिंग को शक्ति प्रदान करता है) — macOS: पूर्व-स्थापित या `brew install sqlite`; Debian/Ubuntu: `apt-get install sqlite3`; Windows: sqlite.org से SQLite "tools" बंडल डाउनलोड करें और `sqlite3.exe` को `PATH` पर या स्क्रिप्ट के बगल में रखें। इसके बिना स्कैन अभी भी चलता है; `first_seen` रन तिथि पर वापस आ जाता है।

## आवश्यकताएँ

- **PowerShell 7** (7.4+ अनुशंसित)। समानांतर स्कैन के लिए 7.0+ आवश्यक है।
- **sqlite3** — वैकल्पिक; इतिहास DB, ट्रेंडिंग, और SLA `first_seen` ट्रैकिंग को सक्षम करता है। अनुपस्थित = वे सुविधाएँ छोड़ दी जाती हैं, स्कैन अभी भी पूरा होता है।
- **नेटवर्क आउटगोइंग** NVD, CISA (KEV), `epss.empiricalsecurity.com` (EPSS बल्क-स्कोर होस्ट — FIRST ने EPSS डेटा होस्टिंग वहाँ स्थानांतरित कर दी), MSRC, endoflife.date, और GitHub raw (CVE Program `cvelistV5`) — साथ ही लाइव मोड में NinjaOne API।
- **क्रेडेंशियल्स** — लाइव मोड में NinjaOne OAuth2 क्लाइंट आईडी/सीक्रेट चाहिए; ऑफ़लाइन मोड में केवल इन्वेंट्री CSV चाहिए। NVD API कुंजी तकनीकी रूप से वैकल्पिक है लेकिन **फ़्लीट पैमाने पर प्रभावी रूप से आवश्यक**: NVD एक कुंजी के साथ 50 अनुरोध/30 सेकंड और बिना कुंजी के केवल 5/30 सेकंड अनुमति देता है। स्कैनर पता लगाता है कि आपके पास कौन सा है और उसके अनुसार थ्रॉटल करता है, इसलिए कुंजी रहित रन सही है लेकिन लगभग 10 गुना धीमा — मुट्ठी भर उत्पादों के लिए ठीक, वास्तविक फ़्लीट के लिए अव्यावहारिक। [कुंजियाँ मुफ़्त हैं।](https://nvd.nist.gov/developers/request-an-api-key)

## कॉन्फ़िगरेशन संदर्भ

कॉन्फ़िग JSON फ़ाइल है (डिफ़ॉल्ट `config.json` स्क्रिप्ट के बगल में; `-ConfigPath` के साथ ओवरराइड करें)। [`config.example.json`](https://github.com/boostedchaos/fleet-cve-scanner/blob/main/config.example.json) से शुरू करें। स्कैनर जो प्रत्येक कुंजी पढ़ता है, उसका डिफ़ॉल्ट जब छोड़ा जाता है, और वह क्या करता है:

### `ninjaone` (लाइव मोड)

| कुंजी | डिफ़ॉल्ट | उद्देश्य |
| --- | --- | --- |
| `ninjaone.client_id` | `""` | NinjaOne API OAuth2 क्लाइंट आईडी। लाइव स्कैन के लिए आवश्यक; `-InputCsv` के लिए खाली छोड़ें। |
| `ninjaone.client_secret` | `""` | NinjaOne API OAuth2 क्लाइंट सीक्रेट। |
| `ninjaone.base_url` | — (उदाहरण `https://app.ninjarmm.com` भेजता है) | NinjaOne API बेस URL; लाइव स्कैन के लिए आवश्यक, कोई निर्मित-इन फ़ॉलबैक नहीं। अपने क्षेत्र के होस्ट का उपयोग करें (जैसे `eu.ninjarmm.com`, `oc.ninjarmm.com`)। |

### `nvd`

| कुंजी | डिफ़ॉल्ट | उद्देश्य |
| --- | --- | --- |
| `nvd.api_key` | `""` | NVD API कुंजी, `apiKey` हेडर के रूप में भेजी जाती है। खाली प्रमाणीकरण रहित चलता है, जो `nvd_rate_limit` और `nvd_min_spacing_ms` के लिए डिफ़ॉल्ट को NVD के अनाम छत (4/30s, 6500ms) तक गिरा देता है बजाय प्रमाणित एक (48/30s, 700ms) के। मुफ़्त, और ~10x तेज़। |

### स्कैन और स्कोरिंग

| कुंजी | डिफ़ॉल्ट | उद्देश्य |
| --- | --- | --- |
| `cvss_threshold` | `7.0` | एक स्कोर किए गए CVE के लिए VULNERABLE रिपोर्ट होने के लिए न्यूनतम CVSS बेस स्कोर। KEV-सूचीबद्ध CVE इस मंजिल को दरकिनार करते हैं। |
| `ssvc_mission_prevalence` | `high` | SSVC मिशन प्रचलन हितधारक इनपुट (`low` / `medium` / `high`)। |
| `ssvc_public_wellbeing` | `high` | SSVC सार्वजनिक भलाई हितधारक इनपुट (`low` / `medium` / `high`)। |

### कैशिंग और दर सीमित करना

| कुंजी | डिफ़ॉल्ट | उद्देश्य |
| --- | --- | --- |
| `nvd_cache_ttl_days` | `7` | एक NVD परिणाम (प्रति सॉफ़्टवेयर नाम) पुनः-क्वेरी से पहले कैश में रहता है। |
| `nvd_cache_flush_every` | `500` | प्रति 500 पूर्ण आइटमों पर NVD कैश को डिस्क पर चेकपॉइंट करें, ताकि मारा गया स्कैन अपने फ़ेच को बनाए रखे। `0` अक्षम करता है (स्कैन-अंत बचत अभी भी चलती है)। |
| `nvd_min_spacing_ms` | API कुंजी के साथ `700`, बिना `6500` | NVD कॉल के बीच न्यूनतम मिलीसेकंड। **बाध्यकारी दर बाधा** — पहले इसे ट्यून करें। |
| `nvd_rate_limit` | API कुंजी के साथ `48`, बिना `4` | प्रति 30s NVD कॉल पर स्लाइडिंग-विंडो कैप (एक बैकस्टॉप)। 1 की मंजिल। |
| `parallel_throttle` | `20` | `ForEach-Object -Parallel` रनस्पेस गणना। NVD कॉल वैसे भी क्रमबद्ध हैं; यह केवल कैश-हिट समवर्तीता को सीमित करता है। 1 की मंजिल। |
| `kev_cache_ttl_hours` | `24` | कैश किए गए CISA KEV कैटलॉग के लिए TTL। |
| `epss_cache_ttl_hours` | `24` | कैश किए गए FIRST.org EPSS स्कोर फ़ाइल के लिए TTL। |
| `eol_cache_ttl_days` | `7` | कैश किए गए endoflife.date लुकअप के लिए TTL। |
| `msrc_cache_ttl_days` | `30` | कैश किए गए MSRC CVRF डेटा के लिए TTL। |
| `cvelist_cache_ttl_days` | `7` | कैश किए गए CVE Program (`cvelistV5`) / CISA-ADP SSVC डेटा के लिए TTL। |
| `cvelist_fetch_budget` | `300` | SSVC/vulnrichment संवर्धन के लिए प्रति रन अधिकतम CVE-रिकॉर्ड फ़ेच; बाकी अगले रन पर स्थगित हो जाते हैं। |

`nvd_min_spacing_ms`, `nvd_rate_limit`, और `parallel_throttle` स्कैनर द्वारा पढ़े जाते हैं लेकिन `config.example.json` में मौजूद नहीं हैं — केवल तभी जोड़ें जब आपको ट्यून करने की आवश्यकता हो। [docs/rate-limiting.md](https://github.com/boostedchaos/fleet-cve-scanner/blob/main/docs/rate-limiting.md) देखें।

### संवर्धन और SLA

| कुंजी | डिफ़ॉल्ट | उद्देश्य |
| --- | --- | --- |
| `epss_spike_threshold` | `0.10` | स्कैन के बीच किसी खोज के EPSS स्कोर में `EPSS_SPIKE` परिवर्तन घटना उत्सर्जित करने के लिए न्यूनतम वृद्धि। |
| `sla_days_critical` | `14` | CRITICAL खोजों के लिए SLA विंडो (`first_seen` से दिन)। |
| `sla_days_high` | `30` | अन्य स्कोर की गई गंभीरताओं के लिए SLA विंडो। |
| `denied_software_csv` | `""` | वैकल्पिक अस्वीकृत-सॉफ़्टवेयर CSV क्रॉस-चेक का पथ। खाली जाँच अक्षम करता है। |

### `output`

| कुंजी | डिफ़ॉल्ट | उद्देश्य |
| --- | --- | --- |
| `output.report_dir` | *(आवश्यक)* | सभी आउटपुट के लिए निर्देशिका — CSV, इतिहास DB, डैशबोर्ड, और कैश। |
| `output.wiki_security_page` | `""` | एक मार्कडाउन एक्सपोज़र पेज का वैकल्पिक पथ। केवल सेट होने पर लिखा जाता है। |
| `output.dashboard_share` | `""` | वैकल्पिक पथ/शेयर जो प्रत्येक रन पर डैशबोर्ड की एक प्रतिलिपि प्राप्त करता है। खाली = केवल स्थानीय। |

## आउटपुट

नीचे सब कुछ `output.report_dir` में आता है।

- **`vuln-report-YYYY-MM-DD.csv`** — प्रति-खोज रिपोर्ट। 28 कॉलम (नीचे स्कीमा)।
- **`vuln-history.db`** — SQLite इतिहास (`sqlite3` आवश्यक): `runs` (प्रति-रन समुच्चय), `findings` (प्रति `(device, software, cve)` खुली-खोज इतिहास `first_seen` / `last_seen` / `resolved_date` / `epss_score` के साथ), और `changes` (टाइप किए गए सप्ताह-दर-सप्ताह घटनाएँ)।
- **`cve-dashboard.html`** — स्व-निहित HTML डैशबोर्ड (चार्टिंग लाइब्रेरी इनलाइन, कोई बाहरी अनुरोध नहीं)। वैकल्पिक रूप से `output.dashboard_share` में कॉपी किया गया।
- **`eol-report-YYYY-MM-DD.csv`** — जब अंत-की-जीवन परिवारों का पता लगाया जाता है तब लिखा जाता है।
- **`denied-report-YYYY-MM-DD.csv`** — जब `denied_software_csv` कॉन्फ़िगर किया जाता है और मेल खाता है तब लिखा जाता है।
- **कैश फ़ाइलें** — `nvd-cache.json`, `kev-cache.json`, `epss-cache.json`, `eol-cache.json`, `msrc-cache.json`, `cvelist-cache.json` (सभी gitignored)।
- **मार्कडाउन एक्सपोज़र पेज** — `output.wiki_security_page` पर, केवल सेट होने पर।

### CSV स्कीमा (28 कॉलम)

कॉलम सेट निश्चित और गेट-प्रवर्तित है। क्रम में:

| # | कॉलम | अर्थ |
| --- | --- | --- |
| 1 | `device_id` | RMM उपकरण आईडी (या `-InputCsv` मोड में एक नियतात्मक सिंथेटिक आईडी)। |
| 2 | `hostname` | उपकरण होस्टनाम। |
| 3 | `os` | ऑपरेटिंग सिस्टम स्ट्रिंग (रिक्त हो सकता है)। |
| 4 | `software` | इन्वेंट्री के अनुसार उत्पाद का नाम। |
| 5 | `installed_version` | इन्वेंट्री के अनुसार संस्करण स्ट्रिंग। |
| 6 | `cve_id` | CVE पहचानकर्ता। |
| 7 | `cvss_score` | CVSS बेस स्कोर (कोई नहीं होने पर `0`)। |
| 8 | `severity` | CVSS गंभीरता लेबल। |
| 9 | `cvss_version` | किस CVSS मानक ने स्कोर उत्पन्न किया (`4.0`/`3.1`/`3.0`/`2.0`/रिक्त)। |
| 10 | `epss_score` | FIRST.org EPSS संभावना (यदि CVE कैटलॉग में अनुपस्थित है तो रिक्त)। |
| 11 | `epss_percentile` | EPSS प्रतिशतक (यदि अनुपस्थित है तो रिक्त)। |
| 12 | `ssvc_exploitation` | कच्चा CISA SSVC शोषण विकल्प (`none`/`poc`/`active`; ADP डेटा के बिना रिक्त)। |
| 13 | `ssvc_decision` | SSVC निर्णय `Act`/`Attend`/`Track` (ADP डेटा के बिना रिक्त)। |
| 14 | `status` | `VULNERABLE` / `PATCHED` / `UNKNOWN`। |
| 15 | `published_date` | CVE प्रकाशित तिथि। |
| 16 | `unknown_reason` | पंक्ति UNKNOWN क्यों है (`SUSPECT_VERSION` / `NO_VERSION_BOUND` / `VERSION_PARSE_ERROR`; अन्यथा रिक्त)। |
| 17 | `is_kev` | `True` जब CVE CISA KEV कैटलॉग पर है। |
| 18 | `kev_due_date` | CISA KEV उपचार देय तिथि। |
| 19 | `kev_ransomware_use` | KEV रैनसमवेयर-अभियान उपयोग ध्वज। |
| 20 | `fix_version` | गणना किया गया फिक्स-सीमा संस्करण। |
| 21 | `fix_boundary_inclusive` | क्या फिक्स सीमा समावेशी है। |
| 22 | `advisory_url` | विक्रेता परामर्श या NVD विवरण URL। |
| 23 | `patch_evidence` | जब कोई Microsoft UNKNOWN PATCHED में बदल दिया गया तो साक्ष्य। |
| 24 | `triage_status` | `triage.json` से ट्राइएज निपटान (कोई नहीं होने पर रिक्त)। |
| 25 | `triage_note` | ट्राइएज नोट। |
| 26 | `first_seen` | खोज पहली बार देखी गई तिथि (इतिहास DB से)। |
| 27 | `sla_due` | SLA देय तिथि। |
| 28 | `sla_breach` | क्या SLA का उल्लंघन हुआ है। |

## शेड्यूलिंग

`Run-WeeklyScan.ps1` निर्धारित रन के लिए एक रैपर है: यह स्कैनर को अपनी निर्देशिका से चलाता है, **सभी** आउटपुट स्ट्रीम को `<script dir>/logs/` (वैकल्पिक `-LogDir` के साथ ओवरराइड करें) के तहत डेटेड लॉग में कैप्चर करता है, और स्कैनर के एग्जिट कोड को प्रसारित करता है ताकि शेड्यूलर विफलताएँ देख सके।

**विंडोज टास्क शेड्यूलर:**

```bat
schtasks /Create /TN "CVE-Scan-Weekly" ^
  /TR "pwsh -NoProfile -File C:\path\to\Run-WeeklyScan.ps1" ^
  /SC WEEKLY /D SUN /ST 22:00 /RU SYSTEM
```

**cron (Linux/macOS):**

```cron
0 22 * * 0  pwsh -File /path/to/Run-WeeklyScan.ps1
```

## डैशबोर्ड होस्टिंग

`cve-dashboard.html` पूरी तरह से स्व-निहित है — इसे सीधे खोलें, किसी भी स्थिर होस्ट या फ़ाइल शेयर पर ड्रॉप करें, या हर रन पर स्वचालित रूप से `output.dashboard_share` के माध्यम से कॉपी करें। एक्सेस-नियंत्रित होस्टिंग के लिए, [`dashboard-auth/`](https://github.com/boostedchaos/fleet-cve-scanner/blob/main/dashboard-auth) निर्देशिका Microsoft Entra (Azure AD) प्रमाणीकरण के साथ एक न्यूनतम ASP.NET होस्ट शिप करती है; इसका [README](https://github.com/boostedchaos/fleet-cve-scanner/blob/main/dashboard-auth/README.md) और [RUNBOOK](https://github.com/boostedchaos/fleet-cve-scanner/blob/main/dashboard-auth/RUNBOOK.md) देखें।

## ईमानदार सीमाएँ (इसे विश्वास करने से पहले पढ़ें)

- **CPE मिलान स्वभावतः फ़ज़ी है।** सामान्य इन्वेंट्री का 40–60% का कोई NVD प्रविष्टि नहीं है और इसे छोड़ दिया जाता है (लॉग किया गया, कभी चुपचाप नहीं)। नाम-आधारित CPE चयन गलत उत्पाद चुन सकता है; एक दमन कार्यप्रवाह मौजूद है क्योंकि यह होना ही चाहिए। यह मुफ़्त-NVD दृष्टिकोण की सीमा है — एक क्यूरेटेड डिटेक्शन कैटलॉग वाला भुगतान स्कैनर अधिक सटीक होगा। इस टूल का मूल्य मुफ़्त, पारदर्शी और ऑडिट करने योग्य होना है।
- **UNKNOWN एक प्रथम श्रेणी का निर्णय है।** जब स्कैनर असुरक्षित-या-पैच किए गए को साबित नहीं कर सकता, तो वह अनुमान लगाने के बजाय ऐसा कहता है।
- **केवल NinjaOne के विरुद्ध सत्यापित।** स्कैन इंजन RMM-अज्ञेय है (इनपुट सिर्फ device + software + version है); `-InputCsv` मोड किसी भी RMM/SCCM/Intune निर्यात को फ़ीड करने देता है, लेकिन केवल NinjaOne एडॉप्टर उत्पादन में चलाया गया है।

पूरी, बेबाक सूची — CPE स्किप दर, ड्यूप-की मास्किंग, पेज-1 `totalResults`, MSRC सुपरसेडेंस अंतराल, और अधिक — [docs/known-limitations.md](https://github.com/boostedchaos/fleet-cve-scanner/blob/main/docs/known-limitations.md) में है।

## डिज़ाइन नोट्स

कुछ संरचनात्मक विकल्प जो अपरंपरागत दिखते हैं, जानबूझकर हैं:

- **एकल फ़ाइल, मॉड्यूल नहीं।** स्कैन हॉट पथ `ForEach-Object -Parallel` के अंदर चलता है, और वे रनस्पेस बाहरी-स्कोप फ़ंक्शन नहीं देख सकते — यही कारण है कि मुट्ठी भर सहायकों को जानबूझकर समानांतर ब्लॉक के अंदर डुप्लिकेट किया जाता है। एक-फ़ंक्शन-प्रति-फ़ाइल मॉड्यूल लेआउट उस डुप्लिकेशन को नहीं हटाएगा (समानांतर बॉडी को अभी भी प्रति रनस्पेस स्रोत इंजेक्ट करने की आवश्यकता होगी); यह सिर्फ एक बिल्ड स्टेप जोड़ेगा और एक-फ़ाइल-कॉपी तैनाती मॉडल को तोड़ देगा। यदि प्रोजेक्ट कभी एकल-फ़ाइल से आगे बढ़ता है, तो पैकेजिंग v2-आकार का परिवर्तन है, पैच नहीं।
- **`[PSCustomObject]` रिकॉर्ड, क्लास नहीं।** खोज रिकॉर्ड समानांतर रनस्पेस के अंदर उत्पन्न होते हैं और मुख्य रनस्पेस में वापस मार्शल किए जाते हैं। PowerShell क्लास इंस्टेंसेस उस सीमा को विश्वसनीय रूप से पार नहीं करते; `[PSCustomObject]` करता है, और CSV कॉलम अनुबंध रिलीज़ गेट द्वारा लागू किया जाता है, टाइप सिस्टम द्वारा नहीं।
- **Pester नहीं, सादे PS7 परीक्षण स्क्रिप्ट।** `tests/` में सूट निर्भरता-मुक्त स्क्रिप्ट हैं जिनमें एग्जिट-कोड अभिकथन हैं, जहाँ `pwsh` मौजूद है वहाँ चलाने योग्य — स्कैन सर्वर सहित — कुछ भी स्थापित करने की आवश्यकता नहीं है। CI उन सभी को Windows और Ubuntu पर चलाता है।

## दस्तावेज़ीकरण

- [docs/how-it-works.md](https://github.com/boostedchaos/fleet-cve-scanner/blob/main/docs/how-it-works.md) — स्कैन पाइपलाइन चरण दर चरण, निर्णय तर्क, कैश अनुशासन, और फेल-सॉफ्ट अनुबंध।
- [docs/known-limitations.md](https://github.com/boostedchaos/fleet-cve-scanner/blob/main/docs/known-limitations.md) — हर ज्ञात तरीका जिससे स्कैनर गलत हो सकता है, और क्यों।
- [docs/rate-limiting.md](https://github.com/boostedchaos/fleet-cve-scanner/blob/main/docs/rate-limiting.md) — NVD दर-सीमा पाठ एक ऑपरेटर गाइड और ट्यूनिंग तालिका के रूप में।
- [docs/rmm-adapters.md](https://github.com/boostedchaos/fleet-cve-scanner/blob/main/docs/rmm-adapters.md) — इनपुट अनुबंध, दो निर्मित-इन इन्वेंट्री पथ, और देशी एडॉप्टर कैसे जोड़ें।
- [docs/HISTORY.md](https://github.com/boostedchaos/fleet-cve-scanner/blob/main/docs/HISTORY.md) — संघनित, स्वच्छ संस्करण इतिहास और प्रत्येक रिलीज़ के पीछे इंजीनियरिंग पाठ।

## योगदान करना

PR का स्वागत है — विशेष रूप से RMM एडॉप्टर। ग्राउंड नियमों और सुरक्षित-दिशा आवश्यकता के लिए [CONTRIBUTING.md](https://github.com/boostedchaos/fleet-cve-scanner/blob/main/CONTRIBUTING.md) देखें (स्थिति तर्क केवल *अधिक* दृश्यता की ओर झुक सकता है, कभी चुपचाप PATCHED की ओर नहीं)।

## डेटा स्रोत और श्रेय

यह टूल केवल उतना ही उपयोगी है जितने कि मुफ़्त, आधिकारिक फ़ीड जिनसे यह जुड़ता है। प्रत्येक निम्नलिखित स्कैन समय पर क्वेरी किया जाता है; कृपया उनकी शर्तों का सम्मान करें यदि आप इस पर निर्माण करते हैं।

- **NIST National Vulnerability Database (NVD)** — CVE रिकॉर्ड और प्रभावित संस्करण श्रेणियाँ, NVD API के माध्यम से। यह उत्पाद NVD API का उपयोग करता है लेकिन NVD द्वारा समर्थित या प्रमाणित नहीं है। <https://nvd.nist.gov/>
- **CISA Known Exploited Vulnerabilities (KEV) Catalog** — जंगली में शोषित के रूप में ज्ञात CVE की आधिकारिक सूची। <https://www.cisa.gov/known-exploited-vulnerabilities-catalog>
- **CVE Program — `cvelistV5`** — CVE रिकॉर्ड और CISA ADP द्वारा योगदान किए गए SSVC / vulnrichment डेटा। CVE® The MITRE Corporation का एक पंजीकृत ट्रेडमार्क है। <https://github.com/CVEProject/cvelistV5>
- **SSVC (Stakeholder-Specific Vulnerability Categorization)** — इस टूल में act / attend / track निर्णय तर्क CERT/CC SSVC (Carnegie Mellon University Software Engineering Institute) और CISA SSVC Coordinator निर्णय वृक्ष, संस्करण 2.0.3 से लिया गया है। CERT/CC और CISA को श्रेय देना आवश्यक है। <https://www.cisa.gov/ssvc> · <https://github.com/CERTCC/SSVC>
- **FIRST.org EPSS (Exploit Prediction Scoring System)** — अगले 30 दिनों में शोषण की संभावना। EPSS डेटा FIRST द्वारा प्रदान किया गया है। Jay Jacobs, Sasha Romanosky, Benjamin Edwards, Michael Roytman, Idris Adjerid (2021), *Exploit Prediction Scoring System*, Digital Threats: Research and Practice, 2(3) देखें। <https://www.first.org/epss/>
- **Microsoft Security Response Center (MSRC)** — CVRF API, जिसका उपयोग यह पुष्टि करने के लिए किया जाता है कि Microsoft सुरक्षा अद्यतन पहले से ही किसी खोज को कवर करता है। © Microsoft Corporation. <https://api.msrc.microsoft.com/> · <https://msrc.microsoft.com/>
- **endoflife.date** — उस सॉफ़्टवेयर के लिए अंत-की-जीवन और अंत-की-समर्थन तिथियाँ जो फिर कभी पैच नहीं किया जाएगा। डेटा endoflife.date प्रोजेक्ट की सौजन्य से। <https://endoflife.date/>

## लाइसेंस

Apache-2.0 — [LICENSE](https://github.com/boostedchaos/fleet-cve-scanner/blob/main/LICENSE) देखें।
टूल डाउनलोड करें