
बहु-पारिस्थितिकी तंत्र दुर्भावनापूर्ण पैकेज पहचान और आपूर्ति श्रृंखला सुरक्षा स्कैनर
बहु-पारिस्थितिकी तंत्र दुर्भावनापूर्ण पैकेज का पता लगाना और आपूर्ति श्रृंखला सुरक्षा स्कैनर
एक उत्पादन-ग्रेड सुरक्षा उपकरण जो npm, PyPI, Maven, RubyGems, Go और Cargo पारिस्थितिकी तंत्रों में दुर्भावनापूर्ण पैकेजों और आपूर्ति श्रृंखला खतरों का पता लगाता है। यह आपके प्रोजेक्ट्स में समझौता की गई निर्भरताओं की पहचान करने के लिए विश्वसनीय सुरक्षा स्रोतों से स्वचालित खतरा खुफिया संग्रह का उपयोग करता है।
OreWatch उत्पाद और PyPI पैकेज का नाम है। वर्तमान स्रोत रिपॉजिटरी पथ अभी भी ore-mal-pkg-inspector का उपयोग करता है।
https://github.com/rapticore/ore-mal-pkg-inspector/issues/2#issue-4215016110
https://github.com/rapticore/ore-mal-pkg-inspector/issues/3#issue-4215017945
https://github.com/rapticore/ore-mal-pkg-inspector/issues/4#issue-4215019385
https://github.com/rapticore/ore-mal-pkg-inspector/issues/5#issue-4215021599
आपूर्ति श्रृंखला हमले अब सॉफ्टवेयर से समझौता करने का प्रमुख खतरा वेक्टर हैं। अकेले 2024 में, npm, PyPI और अन्य पैकेज रजिस्ट्रियों पर हजारों दुर्भावनापूर्ण पैकेज प्रकाशित किए गए, जो टाइपोस्क्वाटिंग, निर्भरता भ्रम और Shai-Hulud जैसे परिष्कृत मैलवेयर अभियानों के साथ डेवलपर्स को लक्षित कर रहे थे।
चुनौती: संगठनों और डेवलपर्स को निम्न की आवश्यकता है:
अंतर: मौजूदा समाधान अक्सर:
OreWatch इन चुनौतियों का समाधान प्रदान करके करता है:
व्यापक बहु-पारिस्थितिकी तंत्र कवरेज: npm, PyPI, Maven, RubyGems, Go और Cargo पैकेजों के लिए एकल उपकरण
स्वचालित खतरा खुफिया: विश्वसनीय सुरक्षा अनुसंधान स्रोतों से डेटा को गतिशील रूप से एकत्र और विलीन करता है
सक्रिय IoC का पता लगाना: पैकेज नाम मिलान से परे Shai-Hulud हमले पैटर्न और अन्य दुर्भावनापूर्ण कोड संकेतकों की पहचान करता है
CI/CD के लिए तैयार: GitHub Actions, GitLab CI, Jenkins और अन्य ऑटोमेशन प्लेटफॉर्म में निर्बाध एकीकरण के लिए डिज़ाइन किया गया
ओपन सोर्स और पारदर्शी: पहचान तर्क, डेटा स्रोतों और स्कैनिंग पद्धति में पूर्ण दृश्यता
बहु-पारिस्थितिकी तंत्र समर्थन npm, PyPI, Maven, RubyGems, Go और Cargo पैकेजों को प्रोजेक्ट संरचना से स्वचालित पारिस्थितिकी तंत्र का पता लगाकर स्कैन करता है।
एकीकृत खतरा खुफिया डेटाबेस विश्वसनीय सुरक्षा अनुसंधान स्रोतों से गतिशील रूप से एकत्रित दुर्भावनापूर्ण पैकेज डेटाबेस के विरुद्ध जांच करता है।
स्वचालित पारिस्थितिकी तंत्र का पता लगाना निर्देशिका संरचना, फ़ाइल नामों से बुद्धिमानी से पारिस्थितिकी तंत्रों की पहचान करता है, और एक ही चलाने में एकाधिक पारिस्थितिकी तंत्रों को स्कैन कर सकता है।
समझौता संकेतक (IoC) का पता लगाना Shai-Hulud हमले पैटर्न (मूल और 2.0 संस्करण), दुर्भावनापूर्ण हुक, संदिग्ध कार्यप्रवाह और ज्ञात पेलोड फ़ाइलों के लिए स्कैन करता है।
Shai-Hulud एकीकरण OreNPMGuard से व्यापक Shai-Hulud प्रभावित पैकेज सूची के विरुद्ध npm पैकेजों का क्रॉस-रेफरेंस करता है।
संरचित JSON रिपोर्टिंग स्पष्ट खतरा-डेटा मेटाडेटा और निष्कर्षों के लिए SARIF-शैली फ़ाइल स्थानों के साथ मशीन-पठनीय JSON रिपोर्ट उत्पन्न करता है।
लचीले इनपुट प्रारूप मानक निर्भरता फ़ाइलों (package.json, requirements.txt, आदि) और सामान्य पैकेज सूचियों (text, JSON, YAML) का समर्थन करता है।
उत्पादन-तैयार लॉगिंग
समस्या निवारण और ऑडिट ट्रेल्स के लिए --verbose और --debug फ़्लैग के साथ कॉन्फ़िगर करने योग्य वर्बोसिटी स्तर।
सुरक्षित और तेज़ आपके कोड में कोई संशोधन नहीं के साथ केवल-पढ़ने के संचालन, बड़े कोडबेस को कुशलतापूर्वक स्कैन करने के लिए अनुकूलित।
बनाम एकल-पारिस्थितिकी तंत्र उपकरण अधिकांश सुरक्षा स्कैनर एक पैकेज मैनेजर पर ध्यान केंद्रित करते हैं। OreWatch आधुनिक पॉलीग्लॉट विकास वातावरण के लिए आवश्यक, छह प्रमुख पारिस्थितिकी तंत्रों में एकीकृत सुरक्षा प्रदान करता है।
बनाम मैनुअल खतरा सूचियाँ स्थिर दुर्भावनापूर्ण पैकेज सूचियाँ जल्दी पुरानी हो जाती हैं। हमारे स्वचालित संग्राहक प्रतिदिन कई आधिकारिक स्रोतों से ताजा खतरा खुफिया जानकारी प्राप्त करते हैं।
बनाम केवल-पैकेज-नाम का पता लगाना केवल पैकेज नामों की जाँच करने से परिष्कृत हमले छूट जाते हैं। IoC का पता लगाना ब्लैकलिस्ट में अभी तक नहीं आए पैकेजों में भी दुर्भावनापूर्ण कोड पैटर्न की पहचान करता है।
बनाम मैनुअल सुरक्षा ऑडिट मैनुअल निर्भरता समीक्षाएं समय लेने वाली और त्रुटि-प्रवण होती हैं। स्वचालित स्कैनिंग प्रत्येक बिल्ड में निरंतर सुरक्षा सत्यापन सक्षम करती है।
बनाम वाणिज्यिक ब्लैक-बॉक्स उपकरण मालिकाना उपकरणों में पता लगाने के तर्क में पारदर्शिता का अभाव है। एक ओपन-सोर्स प्रोजेक्ट के रूप में, प्रत्येक पता लगाने का नियम और डेटा स्रोत ऑडिट योग्य है।
उत्पत्ति की कहानी OreWatch का जन्म OreNPMGuard के विकास से हुआ, जो Shai-Hulud npm हमलों के लिए एक विशेष स्कैनर है। उस प्रोजेक्ट के दौरान, हमने npm से परे व्यापक बहु-पारिस्थितिकी तंत्र कवरेज की आवश्यकता को पहचाना। दिसंबर 2025 में, हमने बहु-पारिस्थितिकी तंत्र का पता लगाने की क्षमताओं को निकालकर इस स्टैंडअलोन टूल में बढ़ाया, OreNPMGuard का npm पर ध्यान बनाए रखते हुए OreWatch को सभी प्रमुख पैकेज पारिस्थितिकी तंत्रों में व्यापक डेवलपर समुदाय की सेवा करने में सक्षम बनाया।
यदि आप पहली बार OreWatch अपना रहे हैं, तो अपने कार्यप्रवाह से मेल खाने वाला सबसे छोटा पथ चुनें:
अधिकांश डेवलपर्स के लिए अनुशंसित पहली बार चलाने का क्रम:
pip install . या प्रकाशित पैकेज के साथ स्थापित करें।orewatch monitor quickstart /path/to/project --client <your-client> चलाएँ।orewatch monitor status के साथ डेमॉन को सत्यापित करें।orewatch monitor menubar लॉन्च करें।यदि आप कॉपी-पेस्ट कमांड के साथ एक छोटी सेटअप मार्गदर्शिका चाहते हैं, तो docs/adoption-guide.md का उपयोग करें।
OreWatch को pipx (अनुशंसित), Homebrew (macOS),
pip, या स्रोत से स्थापित किया जा सकता है। सभी विधियाँ orewatch CLI कमांड उत्पन्न करती हैं।
pipx OreWatch को अपने स्वयं के पृथक वातावरण में स्थापित करता है जबकि orewatch कमांड को वैश्विक रूप से उपलब्ध कराता है। यह अधिकांश डेवलपर्स के लिए सबसे अच्छा विकल्प है।```bash
python3.14 -m pip install --user pipx python3.14 -m pipx ensurepath
pipx install --python python3.14 orewatch
orewatch --help
orewatch monitor menubar
यदि आपने पहले से `orewatch` को pipx के साथ स्थापित किया है और बाद में macOS मेनू बार ऐप जोड़ना चाहते हैं, तो उसी pipx वातावरण में Cocoa bindings इंजेक्ट करें:```bash
pipx inject orewatch pyobjc-framework-Cocoa
अपग्रेड:```bash pipx upgrade orewatch
**अनइंस्टॉल करें:**```bash
pipx uninstall orewatch
macOS के उपयोगकर्ताओं के लिए जो Homebrew-प्रबंधित इंस्टॉल पसंद करते हैं:```bash
brew tap rapticore/tap
brew install rapticore/tap/orewatch
orewatch --help
orewatch monitor menubar
**उन्नयन:**```bash
brew update && brew upgrade orewatch
अनइंस्टॉल करें:```bash brew uninstall orewatch brew untap rapticore/tap # optional — removes the tap
> **नोट:** Homebrew फॉर्मूला में `orewatch monitor menubar` के लिए आवश्यक Cocoa बाइंडिंग्स शामिल हैं। यदि कोई पुराना Homebrew इंस्टॉल `ModuleNotFoundError: No module named 'AppKit'` रिपोर्ट करता है, तो `brew update && brew reinstall rapticore/tap/orewatch` चलाएँ ताकि फॉर्मूला अपने पृथक Python वातावरण को मेन्यू बार समर्थन के साथ पुनः निर्माण करे।
#### विकल्प 3 — pip
CI पाइपलाइनों, Docker इमेजेज़, या अपने स्वयं के virtualenvs प्रबंधित करने के लिए `pip` का उपयोग करें:```bash
# Install into an active Python 3.14 virtualenv or user site
python3.14 -m pip install orewatch
# Pin a version for reproducible CI builds
python3.14 -m pip install orewatch==1.3.0
# If you want the macOS menu bar app on a fresh install, use this instead:
# python3.14 -m pip install 'orewatch[mac-menubar]'
# Verify
orewatch --help
अपग्रेड:```bash python3.14 -m pip install --upgrade orewatch
#### विकल्प 4 — स्रोत चेकआउट (योगदानकर्ता)```bash
# Clone the repository
git clone https://github.com/rapticore/ore-mal-pkg-inspector.git
cd ore-mal-pkg-inspector
# Create and activate a Python 3.14 virtual environment (recommended)
python3.14 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install in editable mode for development
python -m pip install -e .
# Verify
orewatch --help
किसी भी विधि से स्थापित करने के बाद, सुनिश्चित करें कि OreWatch काम कर रहा है:```bash
orewatch --help
orewatch --list-supported-files
orewatch .
#### प्लेटफ़ॉर्म नोट्स
| प्लेटफ़ॉर्म | पायथन स्रोत | नोट्स |
|---|---|---|
| **macOS** (Homebrew Python) | `brew install [email protected]` | Homebrew उपयोगकर्ताओं के लिए अनुशंसित |
| **macOS** (pyenv) | `pyenv install 3.14` | बहु-संस्करण सेटअप के लिए सर्वोत्तम |
| **Ubuntu / Debian** | `sudo apt install python3.14` या pyenv | जाँचें कि आपका डिस्ट्रो 3.14+ शिप करता है |
| **Fedora / RHEL** | `sudo dnf install python3.14` या pyenv | — |
| **Windows (WSL)** | pyenv या सिस्टम पैकेज | मूल विंडोज़ अप्रमाणित है |
> **पायथन 3.14 आवश्यक है।** OreWatch पायथन 3.14 में शुरू की गई भाषा सुविधाओं का उपयोग करता है। पुराने संस्करण आयात समय पर विफल होंगे।
#### समस्या निवारण स्थापना
| लक्षण | समाधान |
|---|---|
| `command not found: orewatch` | सुनिश्चित करें कि इंस्टॉल स्थान आपके `PATH` पर है। pipx के लिए: `pipx ensurepath` चलाएँ और अपना शेल पुनरारंभ करें। |
| आयात पर `ModuleNotFoundError` | आपके पास एकाधिक पायथन संस्करण हो सकते हैं। `orewatch` के पीछे रनटाइम पायथन 3.14+ है इसकी पुष्टि करें और मेल खाने वाले इंटरप्रेटर के साथ पुनः इंस्टॉल करें। |
| pipx इंस्टॉल रिज़ॉल्वर त्रुटियों के साथ विफल होता है | pipx अपग्रेड करें: `python3.14 -m pip install --upgrade pipx` |
| Homebrew `orewatch` इंस्टॉल के बाद नहीं मिलता | पहले `brew tap rapticore/tap` चलाएँ, फिर इंस्टॉल का पुनः प्रयास करें। |
| pip इंस्टॉल के दौरान अनुमति अस्वीकार | `pip install --user orewatch` का उपयोग करें या वर्चुअलएनवी के अंदर इंस्टॉल करें। |
_नोट: यदि स्थानीय खतरा डेटा गायब या पुराना है, तो पैकेज स्कैन एक लाइव-अपडेट उम्मीदवार तैयार करते हैं और केवल विसंगति गेट्स पास करने के बाद उसे प्रमोट करते हैं। यदि उम्मीदवार संदिग्ध लगता है, तो OreWatch अंतिम-ज्ञात-अच्छा डेटासेट सक्रिय रखता है।_
_स्थापित CLI:_ `orewatch`
_संगतता उपनाम:_ `ore-mal-pkg-inspector`
### पहला स्कैन
**एक प्रोजेक्ट निर्देशिका स्कैन करें:**```bash
# Auto-detect ecosystem and scan current directory
orewatch .
# Scan specific project path
orewatch /path/to/your/project
# With verbose output to see progress
orewatch /path/to/your/project --verbose
अपेक्षित आउटपुट:``` Detected multiple ecosystems: npm, pypi Scanning all detected ecosystems...
Scanning npm... Found 2 dependency file(s) for npm Parsing: package.json Parsing: package-lock.json
Scanning pypi... Found 1 dependency file(s) for pypi Parsing: requirements.txt
Extracted 45 unique package(s) across 2 ecosystem(s)
Checking 45 package(s) against malicious databases... Checking 30 npm package(s)... Checking 15 pypi package(s)...
Scanning for Indicators of Compromise...
Generating report...
Ecosystem: npm, pypi Total Packages Scanned: 45 Malicious Packages Found: 0 IoCs Found: 0
✅ No malicious packages or IoCs detected
यदि आप चाहते हैं कि OreWatch इस पहले स्कैन के बाद भी प्रोजेक्ट की निगरानी करता रहे, तो [Background Monitoring](#background-monitoring) के साथ जारी रखें या सीधे [docs/adoption-guide.md](https://github.com/rapticore/ore-mal-pkg-inspector/blob/HEAD/docs/adoption-guide.md) पर जाएँ।
---
## उपयोग
### मूलभूत कमांड
**निर्देशिका स्कैन करें (स्वचालित रूप से इकोसिस्टम का पता लगाएं):**```bash
# Current directory
orewatch .
# Specific directory
orewatch /home/user/projects/my-app
# With an absolute path
orewatch /home/user/projects/backend-api
विशिष्ट निर्भरता फ़ाइलें स्कैन करें:```bash
orewatch --file package.json orewatch --file requirements.txt orewatch --file pom.xml orewatch --file Gemfile orewatch --file go.mod orewatch --file Cargo.toml
**विशिष्ट पारिस्थितिकी तंत्र बल:**```bash
# Override auto-detection
orewatch /path/to/project --ecosystem npm
orewatch /path/to/project --ecosystem pypi
orewatch /path/to/project --ecosystem maven
orewatch /path/to/project --ecosystem rubygems
orewatch /path/to/project --ecosystem go
orewatch /path/to/project --ecosystem cargo
सामान्य पैकेज सूचियों को स्कैन करें:```bash
orewatch --file packages.txt --ecosystem pypi
orewatch --file packages.json --ecosystem npm
orewatch --file packages.yaml --ecosystem npm
### उन्नत उपयोग
**कस्टम आउटपुट पथ:**```bash
# Save to custom location
orewatch /path/to/project --output /tmp/scan_report.json
# Save to specific subdirectory
orewatch /path/to/project --output reports/security/$(date +%Y%m%d).json
IoC स्कैनिंग नियंत्रण:```bash
orewatch /path/to/project
orewatch /path/to/project --no-ioc
orewatch /path/to/project --ioc-only
**शांत मोड:**```bash
# Generate report without console summary (useful for scripts)
orewatch /path/to/project --no-summary
खतरा डेटा नियंत्रण:```bash
orewatch /path/to/project --latest-data
orewatch /path/to/project --strict-data
orewatch /path/to/project --latest-data --include-experimental-sources
orewatch --list-supported-files
**बैच स्कैनिंग:**```bash
# Scan multiple projects
for dir in ~/projects/*/; do
echo "Scanning $dir"
orewatch "$dir" --output "reports/$(basename $dir).json"
done
रिपॉजिटरी में अब एक स्थानीय पृष्ठभूमि मॉनिटर शामिल है जो खतरा डेटा को ताजा रखता है, ऑप्ट-इन प्रोजेक्ट्स को मेनिफेस्ट और वर्कफ़्लो परिवर्तनों के लिए देखता है, डीबाउंस किए गए स्कैन चलाता है, और नए या बढ़े हुए निष्कर्षों के लिए सूचनाएं रिकॉर्ड करता है। मॉनिटर-स्वामित्व वाला कॉन्फ़िग और स्थिति रिपॉजिटरी के बाहर उपयोगकर्ता-स्वामित्व वाली निर्देशिकाओं में संग्रहीत की जाती है ताकि क्लोन की गई रिपॉजिटरी मॉनिटर व्यवहार को पूर्व-बीज नहीं कर सके।
OreWatch अब मॉनिटर को प्रति-उपयोगकर्ता सिंगलटन के रूप में मानता है। एक डेमॉन डिस्क पर कहीं भी कई प्रोजेक्ट्स देख सकता है और कई समवर्ती Claude Code, Codex, Cursor, VS Code, JetBrains / PyCharm, और Xcode क्लाइंट्स को सेवा प्रदान कर सकता है।
1. सिंगलटन मॉनिटर स्थापित करें और बूटस्ट्रैप करें```bash
orewatch monitor quickstart /path/to/project --client claude_code
`monitor quickstart` अनुशंसित पहली बार चलाने की प्रक्रिया है। यह:
- सिंगलटन मॉनिटर सेवा को स्थापित या ताज़ा करता है
- यदि आवश्यक हो तो मॉनिटर प्रारंभ करता है
- लक्ष्य प्रोजेक्ट को वॉच लिस्ट में जोड़ता है
- चयनित क्लाइंट के लिए बूटस्ट्रैप ब्लॉक प्रिंट करता है
यदि आप पहले मॉनिटर स्थापित करना और बाद में क्लाइंट को कनेक्ट करना पसंद करते हैं:```bash
orewatch monitor install
orewatch monitor install --ide-bootstrap
orewatch monitor install --service-manager launchd --no-start
2. सुनिश्चित करें कि मॉनिटर स्वस्थ है```bash orewatch monitor status orewatch monitor connection-info orewatch monitor doctor
Use these commands for slightly different jobs:
- `monitor status` दिखाता है कि सिंगलटन डेमॉन और API चल रहे हैं या नहीं
- `monitor connection-info` लूपबैक API URL, टोकन पथ, मॉनिटर होम और समर्थित बूटस्ट्रैप क्लाइंट को प्रिंट करता है
- `monitor doctor` सटीक कॉन्फ़िग, स्टेट DB, लॉग और साझा थ्रेट-डेटा पथ को प्रिंट करता है
**3. हर उस प्रोजेक्ट को जोड़ें जिसे आप सिंगलटन को देखना चाहते हैं**```bash
orewatch monitor watch add /path/to/project-a
orewatch monitor watch add /path/to/project-b
orewatch monitor watch list
orewatch monitor watch remove /path/to/project-b
एक OreWatch डेमॉन एक साथ इन सभी प्रोजेक्ट्स पर नज़र रख सकता है। आपको प्रति रिपॉजिटरी या प्रति IDE वर्कस्पेस के लिए अलग मॉनिटर की आवश्यकता नहीं है।
OreWatch दो एकीकरण ट्रांसपोर्ट का समर्थन करता है:
बूटस्ट्रैप कमांड निम्न में से एक रूप प्रिंट करते हैं:```json { "mcpServers": { "orewatch": { "command": "/absolute/path/to/orewatch", "args": [ "monitor", "mcp" ] } } }
जब `orewatch monitor ide-bootstrap --client <client>` स्थानीय कंसोल स्क्रिप्ट को हल कर सकता है, तो यह अब उस पूर्ण पथ को उत्सर्जित करता है, बजाय सादा `orewatch` के। यदि आपके पास पुराना MCP कॉन्फ़िग है जो अभी भी `"command": "orewatch"` कहता है, तो इसे पुनर्जनित करें और पुरानी प्रविष्टि को बदलें।```json
{
"orewatch": {
"baseUrl": "http://127.0.0.1:48736",
"tokenPath": "/path/to/api.token"
}
}
ये सभी क्लाइंट एक ही स्थानीय MCP bridge का उपयोग करते हैं:```bash orewatch monitor mcp
अनुशंसित सेटअप:
1. एक बार `orewatch monitor quickstart /path/to/project --client <cursor|claude_code|codex>` चलाएँ।
2. मुद्रित MCP ब्लॉक को संबंधित MCP क्लाइंट में कॉपी करें।
3. उस क्लाइंट में एक देखा गया प्रोजेक्ट खोलें।
4. क्लाइंट को OreWatch को MCP के माध्यम से कॉल करने दें:
- `orewatch_health`
- `orewatch_check_dependency_add`
- `orewatch_check_manifest`
- `orewatch_override_dependency_add`
- `orewatch_list_active_findings`
- `orewatch_list_notifications`
नोट:
- `monitor mcp` एक stdio सर्वर है। यदि आप इसे मैन्युअल रूप से लॉन्च करते हैं, तो यह MCP क्लाइंट की प्रतीक्षा करते हुए निष्क्रिय दिखाई देगा।
- MCP ब्रिज स्टार्टअप पर स्थानीय API की जाँच करता है और जब `auto_start_on_client` सक्षम होता है तो एक बार सिंगलटन मॉनिटर को स्वचालित रूप से शुरू कर सकता है।
- विश्वसनीय IDE स्टार्टअप के लिए, `monitor install` के साथ एक बार बैकग्राउंड मॉनिटर स्थापित करें ताकि MCP ब्रिज शुरू होने से पहले डेमॉन पहले से उपलब्ध हो।
##### VS Code
VS Code एकीकरण को MCP ब्रिज के बजाय सिंगलटन localhost API का उपयोग करना चाहिए।
अनुशंसित सेटअप:
1. `orewatch monitor quickstart /path/to/project --client vscode` चलाएँ।
2. `orewatch monitor ide-bootstrap --client vscode` से `baseUrl` और `tokenPath` कॉपी करें।
3. उन मानों को अपने स्थानीय VS Code एक्सटेंशन, टास्क या हेल्पर में वायर करें।
4. डिपेंडेंसी-एड, मेनिफेस्ट-सेव और अलर्ट-रिफ्रेश इवेंट्स पर API को कॉल करें।
VS Code एकीकरण के लिए अनुशंसित API उपयोग:
- पैकेज-मैनेजर इंस्टॉल/एड फ्लो से पहले `POST /v1/check/dependency-add` कॉल करें
- जब कोई समर्थित मेनिफेस्ट सेव या स्पष्ट रूप से पुनः जाँचा जाता है तब `POST /v1/check/manifest` कॉल करें
- बैकग्राउंड डिटेक्शन को सतह पर लाने के लिए `GET /v1/findings/active` और `GET /v1/notifications` को पोल करें
##### JetBrains / PyCharm
JetBrains और PyCharm VS Code के समान localhost API अनुबंध का उपयोग करते हैं।
अनुशंसित सेटअप:
1. `orewatch monitor quickstart /path/to/project --client jetbrains` चलाएँ।
2. `orewatch monitor ide-bootstrap --client jetbrains` से API ब्लॉक कॉपी करें।
3. JetBrains प्लगइन, बाहरी टूल या स्थानीय हेल्पर में लौटाए गए `baseUrl` और `tokenPath` का उपयोग करें।
4. IDE के अंदर सिंक्रोनस डिपेंडेंसी निर्णय और संग्रहीत बैकग्राउंड अलर्ट दोनों को सतह पर लाएँ।
JetBrains एकीकरण के लिए अनुशंसित API उपयोग:
- `POST /v1/check/dependency-add` के साथ डिपेंडेंसी जोड़तोड़ की जाँच करें
- `POST /v1/check/manifest` के साथ `package.json`, `requirements.txt`, `pyproject.toml`, `pom.xml`, `Gemfile`, `go.mod`, `Cargo.toml`, और संबंधित समर्थित मेनिफेस्ट की पुनः जाँच करें
- स्थायी अलर्ट पैनल या टूल विंडो के लिए `GET /v1/findings/active` और `GET /v1/notifications` लाएँ
##### Xcode
Xcode एकीकरण को भी सिंगलटन localhost API का उपयोग करना चाहिए, लेकिन एक महत्वपूर्ण स्कोप बाउंड्री है: OreWatch अभी तक मूल Apple डिपेंडेंसी मेनिफेस्ट जैसे `Package.resolved`, `Podfile.lock`, या `Cartfile` को पार्स नहीं करता है। आज, Xcode एकीकरण इसके लिए सर्वोत्तम है:
- किसी हेल्पर, स्क्रिप्ट या साथी ऐप में बैकग्राउंड findings और नोटिफिकेशन दिखाना
- Xcode में खोले गए मिश्रित-भाषा रिपॉजिटरी जिनमें `package.json`, `pyproject.toml`, या `Cargo.toml` जैसे समर्थित मेनिफेस्ट भी शामिल हैं
- वे टीमें जो Xcode में काम करते समय macOS मेनू बार ऐप और नोटिफिकेशन सेंटर अलर्ट चाहती हैं
अनुशंसित सेटअप:
1. `orewatch monitor quickstart /path/to/project --client xcode` चलाएँ।
2. `orewatch monitor ide-bootstrap --client xcode` से API ब्लॉक कॉपी करें।
3. बिल्ड-फेज़ स्क्रिप्ट, हेल्पर प्रक्रिया या कस्टम Xcode एकीकरण से लौटाए गए `baseUrl` और `tokenPath` का उपयोग करें।
4. उपयोगकर्ता-दृश्य अलर्ट के लिए `GET /v1/findings/active` और `GET /v1/notifications` को पोल करें।
5. यदि Xcode वर्कस्पेस में समर्थित गैर-Apple मेनिफेस्ट शामिल हैं, तो अपने वर्कफ़्लो के भाग के रूप में उन फ़ाइलों के लिए `POST /v1/check/manifest` कॉल करें।
वर्तमान एकीकरण स्थिति:
- Claude Code, Codex और Cursor: इस रेपो में प्रथम श्रेणी का MCP ब्रिज शामिल है
- VS Code: स्थानीय API अनुबंध दस्तावेज़ीकृत है, लेकिन अभी तक कोई प्रथम-पक्ष एक्सटेंशन बंडल नहीं किया गया है
- JetBrains / PyCharm: स्थानीय API अनुबंध दस्तावेज़ीकृत है, लेकिन अभी तक कोई प्रथम-पक्ष प्लगइन बंडल नहीं किया गया है
- Xcode: स्थानीय API और मेनू बार एकीकरण दस्तावेज़ीकृत है, लेकिन अभी तक कोई प्रथम-पक्ष Xcode एक्सटेंशन और कोई मूल Apple मेनिफेस्ट पार्सर नहीं है
#### जब OreWatch कुछ ढूँढता है
जब बैकग्राउंड मॉनिटर किसी देखे गए प्रोजेक्ट में एक समझौता किए गए पैकेज या IoC का पता लगाता है, तो OreWatch:
- सिंगलटन मॉनिटर `reports/` निर्देशिका के अंतर्गत मॉनिटर-प्रबंधित JSON और HTML रिपोर्ट लिखता है
- सक्रिय finding को मॉनिटर स्टेट DB में संग्रहीत करता है
- एक कार्रवाई योग्य संदेश के साथ एक नोटिफिकेशन प्रविष्टि संग्रहीत करता है
- यदि टर्मिनल नोटिफिकेशन सक्षम हैं तो एक टर्मिनल चेतावनी उत्सर्जित करता है
- macOS पर, जब वह चल रहा होता है तो पॉपअप चैनल के रूप में सिंगलटन मेनू बार ऐप को प्राथमिकता देता है
- त्वरित समीक्षा के लिए सबसे नया ध्यान देने योग्य अलर्ट को मेनू बार ड्रॉपडाउन के शीर्ष पर पिन रखता है
- अन्यथा, यदि डेस्कटॉप नोटिफिकेशन सक्षम हैं तो सर्वोत्तम-प्रयास वाली प्रत्यक्ष डेस्कटॉप नोटिफिकेशन पर वापस आ जाता है
- दूरस्थ या हेडलेस वातावरण के लिए एक वैकल्पिक वेबहुक नोटिफिकेशन भेज सकता है
उन अलर्टों का निरीक्षण करने के लिए अंतर्निहित CLI समीक्षा सतह का उपयोग करें:```bash
orewatch monitor findings
orewatch monitor findings --project /path/to/project --min-severity high
orewatch monitor notifications
orewatch monitor notifications --project /path/to/project
orewatch monitor package-updates
orewatch monitor package-updates --check
स्थानीय API और MCP ब्रिज IDE और एजेंटों के लिए समान डेटा प्रस्तुत करते हैं:
GET /v1/findings/activeGET /v1/notificationsGET /v1/package-updatesPOST /v1/package-updates/checkorewatch_list_active_findingsorewatch_list_notificationsorewatch_list_package_updatesorewatch_check_package_updatesमूल स्कैन समाप्त होने के बाद पृष्ठभूमि में पाई गई चीज़ों को सामने लाने के लिए यह IDE, MCP क्लाइंट और कोडिंग एजेंटों के लिए समर्थित पथ है।
पैकेज अपडेट सलाहकार सूचनाएँ केवल सूचित करने के लिए हैं। OreWatch देखे जा रहे प्रोजेक्ट निर्भरताओं और स्वयं OreWatch के लिए नए संस्करणों की रिपोर्ट करता है, लेकिन यह मैनिफेस्ट, लॉकफ़ाइल या स्थापित पैकेजों को संशोधित नहीं करता है।
अब OreWatch में एक macOS-मूल मेनू बार ऐप शामिल है, जो उन लोगों के लिए है जो केवल CLI कमांड, MCP पोलिंग या Notification Center के पॉपअप पर निर्भर रहने के बजाय एक दृश्य स्थानीय UI चाहते हैं।
वैकल्पिक Cocoa बाइंडिंग को उसी रनटाइम में स्थापित करें जो orewatch कमांड प्रदान करता है। अपनी स्थापना विधि से मेल खाने वाला कमांड चुनें:```bash
python3.14 -m pip install 'orewatch[mac-menubar]'
pipx inject orewatch pyobjc-framework-Cocoa
brew install rapticore/tap/orewatch
फिर मेनू बार एप्लिकेशन लॉन्च करें:```bash
orewatch monitor menubar
By default, monitor menubar relaunches the app in the background and returns your shell prompt immediately. Use orewatch monitor menubar --foreground only when you explicitly want to keep it attached to the terminal for debugging.
The menu bar app attaches to the same singleton monitor. It does not start a second monitor instance. If the monitor is not already installed and running, the app will install/start it on first launch.
Homebrew installs the Cocoa bindings into OreWatch's isolated libexec
environment. If orewatch monitor menubar reports No module named 'AppKit',
refresh the formula with brew update && brew reinstall rapticore/tap/orewatch.
For pip, pipx, and source installs, the optional bindings still need to be added
to the same Python environment that provides the orewatch command.
When desktop notifications are enabled on macOS, the singleton watcher now keeps one singleton menu bar app alive and uses it as the primary popup surface. That avoids relying only on a detached osascript invocation from the daemon and gives you a persistent native UI for new findings.
The current menu bar build is icon-first. The old OW shorthand and earlier OreWatch icon wording should be treated as legacy references; the app now prefers the bundled branded icon and only falls back to compact text or badges when macOS cannot render the image or needs an alert count.
What the macOS menu bar app gives you:
Add Workspace Folder... action that enrolls a project into the singleton watcher and runs an initial quick scanRecommended Mac flow:
orewatch monitor quickstart /path/to/project --client claude_code once.orewatch.orewatch monitor menubar.For easier rollout, use the focused docs instead of reading the full README end to end:
Recommended adoption order:
monitor quickstart के साथ सिंगलटन मॉनिटर सक्षम करें।orewatch monitor findings और orewatch monitor notifications में दिखाई देते हैं।monitor menubar जोड़ें ताकि उपयोगकर्ताओं को एक स्थायी समीक्षा सतह और पॉपअप वितरण मिल सके।सामान्य परिचालन कमांड:```bash
orewatch monitor start orewatch monitor restart orewatch monitor stop orewatch monitor uninstall
orewatch monitor run
orewatch monitor menubar
orewatch monitor scan-now orewatch monitor scan-now /path/to/project
orewatch monitor findings orewatch monitor notifications
orewatch monitor cleanup orewatch monitor cleanup --keep-backups 5 --staging-max-age-seconds 3600
**मैन्युअल स्नैपशॉट और हस्ताक्षर क्रियाएँ:**```bash
# Generate a signing keypair
orewatch monitor snapshot keygen /tmp/ore-keys
# Build and apply local threat-data snapshots
orewatch monitor snapshot build /tmp/ore-snapshot \
--private-key /tmp/ore-keys/snapshot_signing_private.pem \
--public-key /tmp/ore-keys/snapshot_signing_public.pem
orewatch monitor snapshot apply /tmp/ore-snapshot/manifest.json \
--public-key /tmp/ore-keys/snapshot_signing_public.pem
# Publish a hosted snapshot channel
orewatch monitor snapshot publish /tmp/ore-snapshots \
--base-url https://example.com/ore-snapshots \
--channel stable \
--private-key /tmp/ore-keys/snapshot_signing_private.pem \
--public-key /tmp/ore-keys/snapshot_signing_public.pem
Monitor behavior:
~/.config/orewatch/singleton/ और state डिफ़ॉल्ट रूप से ~/.local/state/orewatch/singleton/ होता है।~/Library/Application Support/OreWatch/singleton/ और state डिफ़ॉल्ट रूप से ~/Library/Application Support/OreWatch/State/singleton/ होता है।threat-data/final-data/ पर रहता है।monitor doctor singleton मॉनिटर के लिए सटीक config_path, state_db, log_file, final_data_dir, और सेवा-टेम्पलेट निर्देशिका प्रिंट करता है।.ore-monitor.yml में संग्रहीत किया जा सकता है।Local integration surface:
127.0.0.1:48736 पर एक केवल-लोकलहोस्ट API उजागर करता है।api.token पर केवल-मालिक अनुमतियों के साथ संग्रहीत प्रति-उपयोगकर्ता bearer टोकन का उपयोग करता है।127.0.0.1:48736 पर Authorization: Bearer <token> के बिना सीधे अनुरोध सही ढंग से 401 Unauthorized लौटाएंगे।orewatch monitor connection-info के माध्यम से monitor की खोज करनी चाहिए, और निर्भरता-जांच अनुरोधों के अंदर उस वास्तविक project_path को भेजना चाहिए जिस पर वे काम कर रहे हैं।orewatch_health, orewatch_check_dependency_add, orewatch_check_manifest, orewatch_override_dependency_add, orewatch_list_active_findings, , , और को उजागर करता है।Optional anomaly-gated live-update config:```yaml live_updates: enabled: true mode: gated bootstrap_from_live: true block_on_core_source_failure: false max_drop_ratio: 0.40 max_drop_absolute: 200 max_removal_ratio: 0.25 max_removal_absolute: 100 warn_growth_ratio: 5.0 warn_growth_absolute: 2000
मुख्य व्यवहार:
- लाइव उम्मीदवार पहले स्टेजिंग एरिया में बनाए जाते हैं; वे संग्रह के दौरान सक्रिय डेटाबेस को ओवरराइट नहीं करते।
- बड़ी गिरावट, इकोसिस्टम रिग्रेशन, खाली इकोसिस्टम और सामूहिक हटाने से प्रमोशन अवरुद्ध हो जाता है।
- कोर-सोर्स आउटेज डिफ़ॉल्ट रूप से ओपन-सोर्स लाइव रिफ्रेश के लिए केवल चेतावनी-भरा होता है; इकोसिस्टम-स्तरीय गिरावट और हटाने अभी भी खराब प्रमोशन को अवरुद्ध करते हैं।
- केवल चेतावनी-भरे विसंगतियाँ स्थिति और रिपोर्ट में दर्ज की जाती हैं लेकिन प्रमोशन को नहीं रोकतीं।
- अस्वीकृत उम्मीदवार अंतिम-ज्ञात-अच्छा डेटासेट को सक्रिय रखते हैं जब एक पहले से मौजूद हो।
- पहली बार बूटस्ट्रैप लाइव फ़ीड से अनुमत है यदि कम से कम एक कोर स्रोत सफल होता है और उम्मीदवार उपयोग योग्य इकोसिस्टम डेटा उत्पन्न करता है।
**वैकल्पिक सूचना वेबहुक कॉन्फ़िग:**```yaml
notifications:
desktop: true
terminal: true
webhook_url: https://hooks.example.com/orewatch
webhook_format: generic
webhook_timeout_ms: 5000
webhook_headers:
Authorization: Bearer change-me
Set webhook_format: slack जब Slack इनकमिंग वेबहुक को लक्षित कर रहे हों तो सेट करें। उस मोड में OreWatch एक साधारण text पेलोड भेजता है।
इस प्रोजेक्ट के अब दो अलग-अलग वितरण सतहें हैं:
इन्हें अलग-अलग वितरित किया जाना चाहिए।
डेवलपर्स के लिए सर्वोत्तम डिफ़ॉल्ट: स्कैनर को एक सामान्य पायथन पैकेज के रूप में PyPI पर प्रकाशित करें और pipx के साथ इंस्टॉलेशन की अनुशंसा करें।
यह सबसे उपयुक्त क्यों है:
pipx डेवलपर्स को प्रोजेक्ट वर्चुअलएन्व को प्रदूषित किए बिना एक पृथक, उपयोगकर्ता-स्तरीय इंस्टॉलेशन देता है।python3.14 -m pip install orewatch==<version> के साथ समान संस्करण स्थापित कर सकता है।अनुशंसित रिलीज़ रूप:
sdist और यूनिवर्सल व्हील आर्टिफैक्ट्स को PyPI पर प्रकाशित करें।orewatch कंसोल एंट्री पॉइंट को उजागर करें।ore-mal-pkg-inspector को अस्थायी संगतता उपनाम के रूप में रखें।pipx install --python python3.14 orewatch का दस्तावेज़ीकरण करें।python3.14 -m pip install orewatch==<version> का दस्तावेज़ीकरण करें।उपलब्ध द्वितीयक चैनल: मैकओएस उपयोगकर्ताओं के लिए होमब्रू टैप अब लाइव है जो ब्रू-प्रबंधित इंस्टॉल पसंद करते हैं:```bash brew install rapticore/tap/orewatch
होमब्रू, प्रकाशित PyPI रिलीज़ पर एक सुविधा परत बना हुआ है, प्राथमिक रिलीज़ आर्टिफैक्ट नहीं।
**योगदानकर्ताओं के लिए सबसे अच्छा विकल्प:** मौजूदा स्रोत-चेकआउट प्रवाह को बनाए रखें:```bash
git clone https://github.com/rapticore/ore-mal-pkg-inspector.git
cd ore-mal-pkg-inspector
python3.14 -m venv .venv
source .venv/bin/activate
python -m pip install -e .
यदि आप Kandji, Jamf Pro, Intune, Munki, या किसी अन्य macOS सॉफ़्टवेयर-वितरण प्रणाली के साथ OreWatch को रोल आउट कर रहे हैं, तो अनुशंसित मॉडल डेवलपर pipx पथ से भिन्न है।
वर्तमान उत्पाद वास्तविकता:
.pkg है जो प्रकाशित OreWatch व्हील के आसपास बनाया गया हैअनुशंसित एंटरप्राइज़ रोलआउट मॉडल:
.pkg तैनात करें जो OreWatch रनटाइम और एक स्थिर orewatch CLI शिम स्थापित करता हैmac-menubar एक्स्ट्रा शामिल करें यदि आप प्रबंधित Macs पर देशी मेनू बार ऐप चाहते हैंorewatch monitor quickstart /path/to/project --client <client> या एक समतुल्य उपयोगकर्ता-संदर्भ बूटस्ट्रैप चलाएंयह विभाजन क्यों मायने रखता है:
प्रबंधित macOS के लिए अनुशंसित पैकेज आकार:
/Library/Application Support/OreWatch/runtime के तहत एक समर्पित रनटाइम/usr/local/bin/orewatchविक्रेता-विशिष्ट मार्गदर्शन:
.pkg) हो.dmg या .zip पर .pkg को प्राथमिकता दें क्योंकि रनटाइम ड्रैग-एंड-ड्रॉप ऐप नहीं है.pkg को एक पैकेज के रूप में अपलोड करें और इसे एक नीति या सेल्फ सर्विस के साथ तैनात करें.pkg के साथ macOS LOB ऐप का उपयोग करें.pkg की अपेक्षा करता है, जो Developer ID Installer प्रमाणपत्र के साथ हस्ताक्षरित हो, और पैकेज में एक पेलोड होना चाहिए.pkg के साथ pkg मेटाडेटा प्रकाशित करें और OreWatch को अन्य प्रबंधित macOS सॉफ़्टवेयर की तरह मानेंपूर्ण रोलआउट प्लेबुक के लिए, docs/managed-rollout.md देखें।
खतरा-डेटा स्नैपशॉट को Python पैकेज के अंदर बंडल नहीं किया जाना चाहिए। वे एक अलग कैडेंस पर बदलते हैं और पहले से ही हस्ताक्षरित होस्टेड आर्टिफैक्ट के रूप में समर्थित हैं।
ओपन-सोर्स/समुदाय डिफ़ॉल्ट: openssf और osv को सीधे anomaly-gated लाइव-अपडेट पथ के माध्यम से उपभोग करें।
एंटरप्राइज़ डिफ़ॉल्ट: स्थिर HTTPS होस्टिंग पर संस्करणित हस्ताक्षरित स्नैपशॉट प्रकाशित करें और क्लाइंट को उन्हें स्वतंत्र रूप से रिफ्रेश करने दें।
अनुशंसित होस्टिंग लक्ष्य:
अनुशंसित स्नैपशॉट लेआउट:
versions/<version>/manifest.jsonversions/<version>/*.dbchannels/stable.jsonअनुशंसित विश्वास मॉडल:
उत्पादन रिलीज़ के लिए, सबसे साफ सेटअप है:
pipx के साथ स्थापित करेंpip के साथ स्थापित करेंडिफ़ॉल्ट रूप से, स्कैनर केवल चेतावनियाँ, त्रुटियाँ और अंतिम सारांश दिखाता है। समस्या निवारण या विस्तृत प्रगति ट्रैकिंग के लिए, लॉगिंग फ़्लैग का उपयोग करें:
प्रगति संदेश और संग्रह आँकड़े देखें:```bash orewatch /path/to/project --verbose
**आउटपुट में शामिल हैं:**
- इकोसिस्टम डिटेक्शन परिणाम
- फ़ाइल पार्सिंग प्रगति
- पैकेज निष्कर्षण गणना
- डेटाबेस क्वेरी विवरण
- IoC स्कैनिंग प्रगति
**उदाहरण:**```
INFO: Detected ecosystems: npm, pypi
INFO: Loaded database for npm: 15234 malicious packages
INFO: Loaded database for pypi: 8421 malicious packages
INFO: Extracted 45 packages from 3 files
INFO: Checking 30 npm packages against database...
INFO: Checking 15 pypi packages against database...
INFO: IoC scan complete: 0 indicators found
समस्या निवारण के लिए विस्तृत निदान जानकारी देखें:```bash orewatch /path/to/project --debug
**आउटपुट में शामिल हैं:**
- सभी INFO लेवल के संदेश
- स्कैन किए जा रहे फ़ाइल पथ
- SQL क्वेरी निष्पादन विवरण
- हैश गणनाएँ
- पैटर्न मिलान परिणाम
- आंतरिक स्थिति जानकारी
**उपयोग के मामले:**
- यह जाँचना कि किसी पैकेज का पता क्यों नहीं चला
- इकोसिस्टम ऑटो-डिटेक्शन समस्याओं को डीबग करना
- विस्तृत संदर्भ के साथ मुद्दों की रिपोर्ट करना
- स्कैनर व्यवहार का ऑडिट करना
### कलेक्टर्स के लिए लॉगिंग
खतरे की खुफिया संग्राहक भी वर्बोज़ और डीबग मोड का समर्थन करते हैं:```bash
cd collectors
# See collection progress
python3 orchestrator.py --verbose
# Debug data source issues
python3 orchestrator.py --debug
नोट: सभी लॉग stderr पर जाते हैं, JSON रिपोर्ट आउटपुट के लिए stdout को साफ रखते हैं। इससे लॉग संदेशों के हस्तक्षेप के बिना स्कैनर परिणामों को अन्य टूल्स पर पाइप करना संभव होता है।
रिपोर्ट्स डिफ़ॉल्ट रूप से scan-output/ निर्देशिका में सहेजी जाती हैं (या --output के साथ कस्टम पथ)। OreWatch एक मशीन-पठनीय JSON रिपोर्ट और उसी बेसनाम के साथ एक स्टाइल किया हुआ HTML सहयोगी रिपोर्ट लिखता है। JSON कलाकृति में खतरा-डेटा उपलब्धता मेटाडेटा शामिल है और पैकेज निष्कर्षों के लिए SARIF-शैली के physicalLocation ऑब्जेक्ट का उपयोग करता है, लेकिन यह पूर्ण SARIF 2.1.0 दस्तावेज़ नहीं है।
उदाहरण रिपोर्ट:```json { "scan_timestamp": "2025-12-31T12:00:00Z", "ecosystem": "npm", "scanned_path": "/path/to/project", "total_packages_scanned": 150, "data_status": "complete", "sources_used": ["openssf", "osv"], "experimental_sources_used": [], "missing_ecosystems": [], "malicious_packages_found": 2, "iocs_found": 3, "malicious_packages": [ { "name": "malicious-pkg", "version": "1.0.0", "severity": "critical", "sources": ["threat-intel-db", "research-community"], "description": "Malicious code executes unauthorized operations", "detected_behaviors": ["malicious_code", "data_exfiltration"] } ], "iocs": [ { "type": "malicious_bundle_js", "path": "node_modules/suspect-pkg/bundle.js", "hash": "46faab8ab153fae6e80e7cca38eab363075bb524edd79e42269217a083628f09", "severity": "CRITICAL", "variant": "original", "description": "Known malicious payload file from Shai-Hulud attack" }, { "type": "malicious_postinstall", "path": "package.json", "pattern": "node bundle.js", "severity": "CRITICAL", "variant": "original", "description": "Malicious postinstall hook executes payload" } ] }
**धमकी डेटा फ़ील्ड्स:**
- `data_status`: `complete`, `partial`, `failed`, या `not_applicable`
- `sources_used`: अनुरोधित इकोसिस्टम के लिए उपयोगी धमकी डेटा प्रदान करने वाले स्रोत
- `experimental_sources_used`: स्कैन डेटा में शामिल प्रायोगिक स्रोत
- `missing_ecosystems`: अनुरोधित इकोसिस्टम जिनके पास कोई उपयोगी पैकेज-धमकी डेटाबेस नहीं था
- `promotion_decision`: मौजूदा-डेटा स्कैन के लिए खाली, अन्यथा `promoted`, `bootstrapped`, या `rejected`
- `kept_last_known_good`: `true` जब कोई लाइव उम्मीदवार अस्वीकार कर दिया गया था लेकिन पिछला सक्रिय डेटासेट उपयोग योग्य रहा
- `anomalies`: लाइव रिफ्रेश प्रयास के दौरान उठाई गई चेतावनी/अवरोध असामान्यताएं
### परिणामों को समझना
**गंभीरता स्तर:**
- **CRITICAL:** सक्रिय शोषण या डेटा बहिर्गमन के साथ ज्ञात दुर्भावनापूर्ण कोड
- **HIGH:** दुर्भावनापूर्ण इरादे या टाइपोस्क्वाटिंग के मजबूत संकेत
- **MEDIUM:** संदिग्ध पैटर्न या संभावित कमजोरियां
- **LOW:** मामूली चिंताएं या सूचनात्मक निष्कर्ष
**अनुशंसित कार्रवाइयाँ:**
1. **गंभीर/उच्च निष्कर्ष:** प्रभावित पैकेजों को तुरंत हटाएं और प्रभाव की जांच करें
2. **IoCs की समीक्षा करें:** जांचें कि क्या दुर्भावनापूर्ण कोड निष्पादित हुआ है (लॉग, नेटवर्क गतिविधि)
3. **निर्भरताएँ अपडेट करें:** दुर्भावनापूर्ण पैकेजों को वैध विकल्पों से बदलें
4. **पुनः स्कैन करें:** अनुवर्ती स्कैन के साथ सुधार की पुष्टि करें
5. **रिपोर्ट करें:** पैकेज रजिस्ट्री अनुरक्षकों को रिपोर्ट करने पर विचार करें
---
## CI/CD एकीकरण
### GitHub Actions
**बुनियादी सुरक्षा स्कैन:**```yaml
name: Security Scan - Malicious Packages
on: [push, pull_request]
jobs:
malicious-package-scan:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.14'
- name: Install OreWatch
run: |
git clone https://github.com/rapticore/ore-mal-pkg-inspector.git scanner
cd scanner
pip install .
- name: Scan for malicious packages
run: |
cd scanner
orewatch ${{ github.workspace }} --latest-data
- name: Upload scan report
uses: actions/upload-artifact@v4
if: always()
with:
name: security-scan-report
path: scanner/scan-output/
पता लगाने पर विफलता के साथ उन्नत:```yaml - name: Scan and fail on malicious packages run: | cd scanner orewatch ${{ github.workspace }} --latest-data --output report.json
# Check if malicious packages were found
MALICIOUS_COUNT=$(jq '.malicious_packages_found' report.json)
IOC_COUNT=$(jq '.iocs_found' report.json)
if [ "$MALICIOUS_COUNT" -gt 0 ] || [ "$IOC_COUNT" -gt 0 ]; then
echo "🚨 SECURITY ALERT: Malicious packages or IoCs detected!"
echo "Malicious packages: $MALICIOUS_COUNT"
echo "IoCs found: $IOC_COUNT"
exit 1
fi
### GitLab CI```yaml
malicious-package-scan:
image: python:3.14
stage: security
before_script:
- git clone https://github.com/rapticore/ore-mal-pkg-inspector.git scanner
- cd scanner && pip install .
script:
- orewatch $CI_PROJECT_DIR --latest-data --strict-data --output scan-report.json
artifacts:
paths:
- scan-report.json
when: always
allow_failure: false
pipeline { agent any
stages {
stage('Setup Scanner') {
steps {
sh '''
git clone https://github.com/rapticore/ore-mal-pkg-inspector.git scanner
cd scanner
python3.14 -m pip install .
'''
}
}
stage('Security Scan') {
steps {
sh '''
cd scanner
orewatch ${WORKSPACE} --latest-data
'''
}
}
}
post {
always {
archiveArtifacts artifacts: 'scanner/scan-output/*.json', fingerprint: true
}
}
}
### प्री-कमिट हुक
`.git/hooks/pre-commit` में जोड़ें:```bash
#!/bin/bash
echo "Running malicious package scan..."
cd /path/to/ore-mal-pkg-inspector
orewatch $PROJECT_DIR --no-summary
if [ $? -ne 0 ]; then
echo "❌ Malicious packages or IoCs detected! Commit blocked."
echo "Review the scan report in scan-output/"
exit 1
fi
echo "✅ Security scan passed"
लक्षण:``` ERROR: No usable threat data available for requested ecosystems: npm
**कारण:** खतरा-डेटा संग्रह विफल रहा, मेटाडेटा अपूर्ण है, या अनुरोधित पारिस्थितिकी तंत्रों के पास अभी तक उपयोग योग्य स्थानीय डेटाबेस नहीं हैं।
**समाधान:**```bash
# Force recollection and require a complete result for the requested ecosystems
orewatch /path/to/project --latest-data --strict-data
नोट: यदि यह बना रहता है, तो नेटवर्क कनेक्टिविटी, फ़ाइलसिस्टम अनुमतियाँ, और यह जाँचें कि क्या आपने जानबूझकर प्रायोगिक स्रोतों का अनुरोध किया था।
लक्षण:``` WARNING: No packages detected in /path/to/project
**संभावित कारण और समाधान:**
1. **गलत निर्देशिका:** सुनिश्चित करें कि आप सही प्रोजेक्ट निर्देशिका स्कैन कर रहे हैं ```bash
ls /path/to/project # Verify package.json or requirements.txt exists
लक्षण:``` ERROR: Error downloading npm: <urlopen error [Errno -3] Temporary failure in name resolution>
**समाधान:**
1. **इंटरनेट कनेक्शन जाँचें:** ```bash
ping google.com
collectors/config.yaml: ```yaml
osv:
timeout: 600 # Increase from default 300
लक्षण:``` ERROR: Error creating directory collectors/raw-data: Permission denied
**समाधान:**```bash
# Ensure proper ownership
sudo chown -R $USER:$USER /path/to/ore-mal-pkg-inspector
# Or run from user-writable location
cd ~/
git clone https://github.com/rapticore/ore-mal-pkg-inspector.git
cd ore-mal-pkg-inspector
लक्षण: ~/Library/Application Support/OreWatch (macOS) या
$XDG_STATE_HOME/orewatch (Linux) दसियों गीगाबाइट तक बढ़ गया है।
कारण (पूर्व-1.2.3): प्रत्येक लाइव-अपडेट प्रमोशन ने बिना प्रतिधारण के पिछले खतरा-डेटा डेटाबेस (~300 MB) की एक पूर्ण प्रतिलिपि संग्रहीत की। एक लंबे समय तक चलने वाला मॉनिटर प्रति चक्र अनिश्चितकाल तक एक स्नैपशॉट जमा करता रहा।
समाधान: 1.2.3 या बाद के संस्करण में अपग्रेड करें। बैकअप अब ~1 KB के SHA-256 मेनिफेस्ट हैं, प्रतिधारण डिफ़ॉल्ट रूप से नवीनतम 30 तक सीमित है, और एक स्पष्ट सफाई कमांड उपलब्ध है:```bash
orewatch monitor cleanup
orewatch monitor cleanup --keep-backups 5 --staging-max-age-seconds 0
#### झूठी सकारात्मकता
**लक्षण:** वैध पैकेज को दुर्भावनापूर्ण के रूप में चिह्नित किया गया।
**चरण:**
1. **परिणाम की पुष्टि करें:** रिपोर्ट के विवरण की समीक्षा करें जिसमें गंभीरता और विवरण शामिल हैं
2. **संस्करण जांचें:** चिह्नित संस्करण विशिष्ट हो सकता है: ```bash
orewatch /path/to/project --verbose
विस्तृत लॉगिंग सक्षम करें:```bash
orewatch /path/to/project --debug 2> debug.log
cd collectors python3 orchestrator.py --debug 2> collector-debug.log
**समीक्षा लॉग:** `debug.log` की जाँच करें विस्तृत निष्पादन ट्रेस के लिए जिसमें शामिल हैं:
- स्कैन की गई फ़ाइल पथ
- निष्पादित SQL क्वेरीज़
- पैटर्न मिलान परिणाम
- त्रुटि स्टैक ट्रेस
---
## सामान्य प्रश्न
### मुझे कितनी बार खतरा खुफिया जानकारी अपडेट करनी चाहिए?
**अनुशंसा:**
- **उत्पादन/CI वातावरण:** दैनिक स्वचालित अपडेट
- **डेवलपमेंट वर्कस्टेशन:** न्यूनतम साप्ताहिक अपडेट
- **सुरक्षा समाचार के बाद:** जब नए खतरे घोषित किए जाएँ तुरंत अपडेट करें
दुर्भावनापूर्ण पैकेज लगातार प्रकाशित होते रहते हैं। दैनिक अपडेट नवीनतम सुरक्षा सुनिश्चित करते हैं।
### मैं खतरा खुफिया डेटा कैसे अपडेट करूं?
स्कैनर को `--latest-data` फ्लैग के साथ चलाएँ एक अपडेट बलपूर्वक करने के लिए:```bash
orewatch /path/to/project --latest-data
CI/CD में स्वचालित अपडेट के लिए, --latest-data फ़्लैग के साथ समय-समय पर स्कैन शेड्यूल करें (जैसे, दैनिक)। --include-experimental-sources केवल तभी जोड़ें जब आप स्पष्ट रूप से रीबिल्ड में फ़ाइलम-व्युत्पन्न डेटा शामिल करना चाहते हैं।
नोट: पहली बार स्कैन स्वचालित रूप से डेटा एकत्र करते हैं, इसलिए मौजूदा डेटाबेस को ताज़ा करने के लिए ही मैन्युअल अपडेट की आवश्यकता होती है।
डिफ़ॉल्ट डेटाबेस प्रोजेक्ट के मुख्य धमकी स्रोतों से बनाए गए हैं:
openssfosvस्कैनर प्रोजेक्ट के प्रायोगिक स्रोत सेट को भी शामिल कर सकता है:
phylum के साथ --include-experimental-sourcessocketdev एक अक्षम प्लेसहोल्डर के रूप में रिपॉजिटरी में मौजूद है और डिफ़ॉल्ट संग्रह पथ का हिस्सा नहीं है।
डेटा स्रोतों, संग्रह और प्रसंस्करण के बारे में तकनीकी विवरण के लिए, ARCHITECTURE.md देखें।
नहीं। OreWatch केवल-पढ़ने के ऑपरेशन करता है। यह:
यह कभी नहीं:
उठाए जाने वाले कदम:
आंशिक रूप से।
ऑफ़लाइन स्कैनिंग: ✅ हाँ, एक बार डेटाबेस आरंभ हो जाने पर```bash
orewatch /path/to/project
orewatch /path/to/project
**Offline updates:** ❌ नहीं, खतरे की खुफिया जानकारी संग्रह करने के लिए सुरक्षा स्रोतों से डेटा लाने हेतु इंटरनेट एक्सेस की आवश्यकता है।
**Airgapped environments:** आप यह कर सकते हैं:
1. इंटरनेट-कनेक्टेड मशीन पर डेटाबेस डाउनलोड करें
2. SQLite फ़ाइलों को `orewatch monitor doctor` द्वारा दिखाए गए एकल `final_data_dir` में ट्रांसफ़र करें
3. संभावित रूप से पुराने डेटा के साथ ऑफ़लाइन स्कैन चलाएँ
### यह npm audit या pip-audit से कैसे तुलना करता है?
**अलग-अलग उद्देश्य:**
**npm audit / pip-audit:**
- ज्ञात CVE कमजोरियों पर ध्यान केंद्रित करते हैं
- पैकेज संस्करणों की सलाहकार डेटाबेस से जांच करते हैं
- पैकेज रजिस्ट्री टीमों द्वारा अनुरक्षित
**OreWatch:**
- दुर्भावनापूर्ण पैकेजों पर ध्यान केंद्रित करता है (सिर्फ कमजोर पैकेज नहीं)
- टाइपोस्क्वॉटिंग, malware, supply chain हमलों का पता लगाता है
- क्रॉस-इकोसिस्टम कवरेज
- सक्रिय खतरों के लिए IoC का पता लगाना
**सर्वोत्तम अभ्यास:** **दोनों** का उपयोग करें:```bash
# Check for vulnerabilities
npm audit
pip-audit
# Check for malicious packages
orewatch /path/to/project
निर्भरता स्कैनिंग: ✅ हाँ, स्कैनर आपकी निर्भरता फ़ाइलों को पढ़ता है, चाहे पैकेज कहीं से भी आएं।
खतरे की खुफिया जानकारी: ⚠️ सीमित। हमारे डेटाबेस सार्वजनिक रजिस्ट्रियों (npmjs.com, pypi.org, आदि) को कवर करते हैं। निजी रजिस्ट्रियों पर दुर्भावनापूर्ण पैकेज तब तक पहचाने नहीं जाएंगे जब तक आप कस्टम खतरे का डेटा नहीं जोड़ते।
कस्टम खतरे का डेटा: आप डेटाबेस को अपनी स्वयं की दुर्भावनापूर्ण पैकेज सूचियों के साथ विस्तारित कर सकते हैं। इस उन्नत उपयोग मामले पर मार्गदर्शन के लिए हमसे संपर्क करें।
स्कैन समय:
कारक:
--no-ioc से अक्षम करें)अनुकूलन युक्तियाँ:```bash
orewatch --file package.json
---
## योगदान
हम योगदान का स्वागत करते हैं! चाहे आप बग रिपोर्ट कर रहे हों, सुविधाएँ सुझा रहे हों, या कोड का योगदान दे रहे हों, आपकी सहायता OreWatch को सभी के लिए बेहतर बनाती है।
**बग रिपोर्ट करें या सुविधाओं का अनुरोध करें:**
- GitHub Issues: https://github.com/rapticore/ore-mal-pkg-inspector/issues
**कोड का योगदान करें:**
- विकास सेटअप, कोड शैली, परीक्षण और पुल अनुरोध प्रक्रिया पर विस्तृत दिशानिर्देशों के लिए [CONTRIBUTING.md](https://github.com/rapticore/ore-mal-pkg-inspector/blob/HEAD/CONTRIBUTING.md) देखें।
**प्रश्न या चर्चाएँ:**
- GitHub Discussions: https://github.com/rapticore/ore-mal-pkg-inspector/discussions
---
## सुरक्षा नीति
सुरक्षा हमारी सर्वोच्च प्राथमिकता है। OreWatch एक सुरक्षा उपकरण है, और हम कमजोरियों को गंभीरता से लेते हैं।
### सुरक्षा कमजोरियों की रिपोर्ट करना
**सुरक्षा कमजोरियों के लिए सार्वजनिक GitHub इश्यू न खोलें।**
इसके बजाय, निजी रूप से रिपोर्ट करें:
**Email:** [email protected]
**शामिल करें:**
- कमजोरी का विवरण
- पुनरुत्पादन के चरण
- संभावित प्रभाव
- सुझाया गया समाधान (यदि लागू हो)
- अनुवर्ती के लिए आपकी संपर्क जानकारी
### प्रतिक्रिया समयरेखा
- **स्वीकृति:** 48 घंटे के भीतर
- **प्रारंभिक मूल्यांकन:** 7 दिनों के भीतर
- **समाधान समयरेखा:** गंभीरता के अनुसार भिन्न
- क्रिटिकल: 7-14 दिन
- उच्च: 14-30 दिन
- मध्यम/निम्न: 30-60 दिन
### सुरक्षा सर्वोत्तम अभ्यास
OreWatch का उपयोग करते समय:
**करें:**
- ✅ न्यूनतम विशेषाधिकार के साथ चलाएँ (रूट/एडमिन आवश्यक नहीं)
- ✅ खतरा खुफिया जानकारी नियमित रूप से अपडेट करें
- ✅ स्कैन रिपोर्ट की तुरंत समीक्षा करें
- ✅ निरंतर सुरक्षा के लिए CI/CD में एकीकृत करें
- ✅ उपकरण को नवीनतम संस्करण में अपडेट रखें
**न करें:**
- ❌ जांच के बिना स्कैन निष्कर्षों को नज़रअंदाज़ करें
- ❌ उत्पादन वातावरण में IoC स्कैनिंग अक्षम करें
- ❌ अविश्वसनीय स्रोतों से डेटाबेस फ़ाइलें साझा करें
- ❌ अनावश्यक रूप से उच्च विशेषाधिकारों के साथ चलाएँ
### कमजोरी प्रकटीकरण
हम समन्वित प्रकटीकरण का पालन करते हैं:
1. कमजोरी की निजी रिपोर्ट
2. समाधान विकसित और परीक्षित
3. सुरक्षा सलाहकार प्रकाशित
4. समाधान उपलब्ध होने के बाद सार्वजनिक प्रकटीकरण
### सुरक्षा हॉल ऑफ फ़ेम
हम उन सुरक्षा शोधकर्ताओं को मान्यता देते हैं जो जिम्मेदारी से कमजोरियों का खुलासा करते हैं:
*रिपोर्ट प्राप्त होने पर सूची बनाए रखी जाएगी*
---
### सामुदायिक अनुरोध
सुविधाओं पर वोट करें या सुझाव दें:
- **GitHub Discussions:** https://github.com/rapticore/ore-mal-pkg-inspector/discussions
- **Feature Requests:** https://github.com/rapticore/ore-mal-pkg-inspector/issues
### रोडमैप में योगदान
हम सुविधाओं को प्राथमिकता देते हैं:
- सुरक्षा प्रभाव
- सामुदायिक मांग
- रखरखाव स्थिरता
- परियोजना लक्ष्यों के साथ संरेखण
रोडमैप को प्रभावित करने के लिए:
1. विस्तृत उपयोग मामले के साथ एक फीचर अनुरोध खोलें
2. चर्चाओं में भाग लें
3. कार्यान्वयन में योगदान दें (PR का स्वागत है!)
---
## रोडमैप
OreWatch आज के लिए उपयोग योग्य है:
- npm, PyPI, Maven, RubyGems, Go और Cargo में स्थानीय CLI स्कैन
- कई परियोजनाओं के लिए प्रति-उपयोगकर्ता एक पृष्ठभूमि मॉनिटर
- Cursor, Claude Code और Codex के लिए MCP एकीकरण
- VS Code, JetBrains / PyCharm और Xcode सहायकों के लिए localhost API एकीकरण
- macOS मेनू बार समीक्षा और पॉपअप सूचनाएँ
निकट अवधि की प्राथमिकताएँ:
- प्रथम-पक्ष VS Code और JetBrains / PyCharm एकीकरण उदाहरण या पतली प्लगइन्स
- स्थानीय पॉपअप से परे मजबूत उपयोगकर्ता-मुखी सूचना कार्यप्रवाह
- CLI और UI से स्पष्ट परियोजना नीति प्रबंधन
- समृद्ध मॉनिटर रिपोर्टिंग और अपनाने के दस्तावेज़
मध्य अवधि की प्राथमिकताएँ:
- मॉनिटर और MCP सतह से व्यापक परियोजना-स्कैन कार्यप्रवाह
- बेहतर संगठन-स्तरीय रोलआउट मार्गदर्शन
- अधिक मजबूत बाहरी अलर्ट वितरण और एस्केलेशन चैनल
- केवल API एकीकरण मार्गदर्शन के बजाय गहरा IDE-विशिष्ट UX
ज्ञात वर्तमान सीमा:
- Xcode एकीकरण वर्तमान में अलर्ट दृश्यता और मिश्रित-भाषा रिपॉजिटरी के लिए सर्वोत्तम है। OreWatch अभी तक `Package.resolved`, `Podfile.lock`, या `Cartfile` जैसे मूल Apple मेनिफेस्ट को पार्स नहीं करता है।
दीर्घकालिक दिशा:
- मूल Apple इकोसिस्टम मेनिफेस्ट समर्थन
- मजबूत प्रथम-पक्ष संपादक एकीकरण
- वर्तमान macOS मेनू बार पथ से परे व्यापक ऑपरेटिंग-सिस्टम UX समानता
अधिक अपनाने-केंद्रित रोडमैप दृश्य के लिए [docs/roadmap.md](https://github.com/rapticore/ore-mal-pkg-inspector/blob/HEAD/docs/roadmap.md) देखें।
---
## लाइसेंस
MIT लाइसेंस
Copyright (c) 2025 Rapticore
इसके द्वारा अनुमति दी जाती है, नि:शुल्क, किसी भी व्यक्ति को जो इस सॉफ्टवेयर और संबंधित दस्तावेज़ फ़ाइलों ("सॉफ्टवेयर") की एक प्रति प्राप्त करता है, बिना किसी प्रतिबंध के सॉफ्टवेयर से निपटने की अनुमति दी जाती है, जिसमें बिना किसी सीमा के सॉफ्टवेयर की प्रतियों का उपयोग, प्रतिलिपि, संशोधन, विलय, प्रकाशन, वितरण, उप-लाइसेंस और/या बेचने का अधिकार शामिल है, और उन व्यक्तियों को ऐसा करने की अनुमति देना जिन्हें सॉफ्टवेयर प्रदान किया गया है, निम्नलिखित शर्तों के अधीन:
उपरोक्त कॉपीराइट नोटिस और यह अनुमति नोटिस सॉफ्टवेयर की सभी प्रतियों या महत्वपूर्ण भागों में शामिल किया जाएगा।
सॉफ्टवेयर "जैसा है" प्रदान किया जाता है, किसी भी प्रकार की वारंटी के बिना, स्पष्ट या निहित, जिसमें व्यापारिकता, किसी विशेष उद्देश्य के लिए उपयुक्तता और उल्लंघन न करने की वारंटी शामिल है लेकिन इन्हीं तक सीमित नहीं है। किसी भी स्थिति में लेखक या कॉपीराइट धारक किसी भी दावे, क्षति या अन्य देयता के लिए उत्तरदायी नहीं होंगे, चाहे वह अनुबंध की कार्रवाई में हो, अपकृत्य में हो या अन्यथा, सॉफ्टवेयर से या सॉफ्टवेयर के उपयोग या अन्य लेन-देन से उत्पन्न हो।
---
## सहायता
### सहायता प्राप्त करना
**दस्तावेज़ीकरण:** आप इसे पढ़ रहे हैं! अधिकांश प्रश्नों के लिए यहीं से शुरू करें।
**GitHub चर्चाएँ:** प्रश्नों, विचारों और सामुदायिक बातचीत के लिए:
- https://github.com/rapticore/ore-mal-pkg-inspector/discussions
**GitHub इश्यू:** बग रिपोर्ट और फीचर अनुरोधों के लिए:
- https://github.com/rapticore/ore-mal-pkg-inspector/issues
**ईमेल:** सुरक्षा कमजोरियों और निजी पूछताछ के लिए:
- [email protected]
### व्यावसायिक सहायता
उन संगठनों के लिए जिन्हें आवश्यकता है:
- कस्टम एकीकरण
- SLA-समर्थित सहायता
- निजी तैनाती सहायता
- कस्टम खतरा खुफिया फ़ीड
Contact: [email protected]
---
## आभार
### परियोजना उत्पत्ति
इस परियोजना को [OreNPMGuard](https://github.com/rapticore/OreNPMGuard) रिपॉजिटरी से निकाला गया था ताकि स्पष्ट परियोजना फोकस बनाए रखते हुए क्षमताओं का विस्तार किया जा सके।
**OreNPMGuard** (दिसंबर 2025) 738+ प्रभावित पैकेजों और गहन IoC विश्लेषण के साथ Shai-Hulud npm हमले का पता लगाने में विशेषज्ञता रखता है। इसके विकास के दौरान, हमने व्यापक बहु-पारिस्थितिकी तंत्र सुरक्षा की आवश्यकता को पहचाना, जिसके परिणामस्वरूप OreWatch को एक स्टैंडअलोन उपकरण के रूप में बनाया गया जो सभी प्रमुख पैकेज पारिस्थितिकी तंत्रों में व्यापक डेवलपर समुदाय की सेवा करता है।
### संबंधित परियोजनाएँ
- **[OreNPMGuard](https://github.com/rapticore/OreNPMGuard)** - विशेष Shai-Hulud npm स्कैनर
---
**Rapticore सुरक्षा अनुसंधान टीम द्वारा निर्मित**
*सॉफ्टवेयर आपूर्ति श्रृंखलाओं की रक्षा करना, एक स्कैन एक बार में।*
| मैं चाहता हूँ... | इस पथ का उपयोग करें | इससे शुरू करें |
|---|
| अभी एक रिपॉजिटरी स्कैन करें | CLI स्कैन | orewatch /path/to/project |
| पृष्ठभूमि में स्थानीय विकास की सुरक्षा करें | सिंगलटन मॉनिटर | orewatch monitor quickstart /path/to/project --client claude_code |
| Cursor, Claude Code, या Codex से OreWatch का उपयोग करें | MCP ब्रिज | orewatch monitor quickstart /path/to/project --client <cursor|claude_code|codex> |
| VS Code, PyCharm, या Xcode के साथ एकीकृत करें | लोकलहोस्ट API | orewatch monitor quickstart /path/to/project --client vscode |
| दृश्यमान macOS अलर्ट और एक मूल समीक्षा सतह प्राप्त करें | मेनू बार ऐप | orewatch monitor menubar |
| CI में बिल्ड को मान्य करें | एक बार का CLI स्कैन | orewatch . --strict-data |
| विकल्प | संक्षिप्त | विवरण | डिफ़ॉल्ट |
|---|
--file | -f | स्कैन करने के लिए विशिष्ट फ़ाइल का पथ (निर्देशिका पहचान छोड़ता है) | कोई नहीं |
--ecosystem | -e | ईकोसिस्टम बल दें: npm, pypi, maven, rubygems, go, cargo | ऑटो-डिटेक्ट |
--output | -o | प्राथमिक JSON रिपोर्ट के लिए कस्टम आउटपुट पथ; OreWatch एक सहोदर HTML रिपोर्ट भी लिखता है | scan-output/malicious_packages_report_{timestamp}.json |
--no-summary | कंसोल पर रिपोर्ट सारांश मुद्रित करना छोड़ें | असत्य | |
--no-ioc | IoC (समझौता संकेतक) स्कैनिंग छोड़ें | असत्य | |
--ioc-only | केवल IoCs के लिए स्कैन करें, पैकेज जाँच छोड़ें | असत्य | |
--latest-data | स्कैनिंग से पहले एक चरणबद्ध लाइव रिफ्रेश और विसंगति-गेटेड प्रमोशन बल दें | असत्य | |
--strict-data | यदि किसी अनुरोधित ईकोसिस्टम में आंशिक या गुम खतरा डेटा है तो विफल हो जाएं | असत्य | |
--include-experimental-sources | खतरा-डेटा रिफ्रेश के दौरान प्रयोगात्मक कलेक्टर शामिल करें | असत्य | |
--list-supported-files | समर्थित निर्भरता मेनिफेस्ट फ़ाइलनामों को सटीक रूप से प्रिंट करें और बाहर निकलें | असत्य | |
--verbose | -v | INFO स्तर के लॉग दिखाएं (प्रगति संदेश) | असत्य |
--debug | DEBUG स्तर के लॉग दिखाएं (विस्तृत निदान) | असत्य |
| क्लाइंट | ट्रांसपोर्ट | बूटस्ट्रैप कमांड | नोट्स |
|---|
| Claude Code | MCP | orewatch monitor ide-bootstrap --client claude_code | प्रथम श्रेणी MCP ब्रिज |
| Codex | MCP | orewatch monitor ide-bootstrap --client codex | प्रथम श्रेणी MCP ब्रिज |
| Cursor | MCP | orewatch monitor ide-bootstrap --client cursor | प्रथम श्रेणी MCP ब्रिज |
| VS Code | Local API | orewatch monitor ide-bootstrap --client vscode | कोई बंडल एक्सटेंशन नहीं; localhost API का उपयोग करें |
| JetBrains / PyCharm | Local API | orewatch monitor ide-bootstrap --client jetbrains | कोई बंडल प्लगइन नहीं; localhost API का उपयोग करें |
| Xcode | Local API | orewatch monitor ide-bootstrap --client xcode | फाइंडिंग/नोटिफिकेशन और मिश्रित-भाषा रिपॉजिटरी के लिए सर्वोत्तम |
monitor install अब उपलब्ध होने पर उपयोगकर्ता-स्तरीय launchd या systemd सेवा स्थापित करता है, और अन्यथा स्थानीय पृष्ठभूमि मोड पर वापस आ जाता है।monitor quickstart /path/to/project --client claude_code स्थानीय LLM एजेंट सेटअप के लिए सबसे आसान पहली-रन फ्लो है।--workspace-root /path/to/workspace अभी भी एक रिलीज़ के लिए deprecated संगतता उपनाम के रूप में स्वीकार किया जाता है, लेकिन यह अब monitor पहचान, टोकन स्थान या सेवा नामकरण नहीं बदलता है।auto मोड में, यदि मूल launchd या systemd सेटअप विफल होता है, तो OreWatch अब सेटअप को रद्द करने के बजाय स्थानीय पृष्ठभूमि मोड पर वापस आ जाता है।monitor install --ide-bootstrap Claude Code, Codex, Cursor, VS Code, JetBrains / PyCharm, और Xcode के लिए कॉपी-पेस्ट बूटस्ट्रैप स्निपेट प्रिंट करता है।monitor connection-info लूपबैक API बेस URL, टोकन पथ, singleton monitor scope/home, और डेमन पहले से चल रहा है या नहीं, प्रिंट करता है।monitor ide-bootstrap कुछ भी पुनः स्थापित किए बिना वर्तमान MCP/API बूटस्ट्रैप स्निपेट को फिर से प्रिंट करता है।monitor mcp एक स्थानीय MCP ब्रिज चलाता है जो OreWatch निर्भरता जांच को Claude Code, Codex, और Cursor को उजागर करता है।monitor findings, monitor notifications, और monitor package-updates पृष्ठभूमि डिटेक्शन और अपडेट सलाहकारों के लिए अंतर्निहित समीक्षा सतह प्रदान करते हैं।monitor menubar singleton monitor और findings store द्वारा समर्थित एक मूल macOS मेनू बार ऐप लॉन्च करता है।monitor mcp एक stdio सर्वर है, इसलिए यह स्टार्टअप के बाद MCP क्लाइंट की प्रतीक्षा करेगा। यह अब readiness और auto-start स्थिति stderr पर लिखता है, stdout पर नहीं।monitor install का उपयोग करें ताकि जब क्लाइंट monitor mcp लॉन्च करे या API कॉल करे तो पृष्ठभूमि डेमन पहले से उपलब्ध हो।make test-e2e-clients सिंथेटिक वर्कस्पेस बूटस्ट्रैप करता है और Claude Code, Codex, और Cursor के लिए क्रॉस-इकोसिस्टम MCP/API क्लाइंट मैट्रिक्स चलाता है।openssf और osv) से विसंगति-गेटेड लाइव अपडेट प्राप्त करते हैं। उम्मीदवार डेटा उपयोगकर्ता-स्वामित्व वाली monitor state निर्देशिका में चरणबद्ध किया जाता है, असामान्य ड्रॉप/हटाने की जाँच की जाती है, और उसके बाद ही सक्रिय डेटाबेस में प्रचारित किया जाता है।snapshots.channel_url या snapshots.manifest_url के माध्यम से कॉन्फ़िगर किए गए हस्ताक्षरित चैनल विवरणक या मैनिफेस्ट का उपयोग कर सकते हैं, और monitor उन्हें snapshots.public_key_path से सत्यापित करता है।openssl की आवश्यकता होती है।orewatch_list_notificationsorewatch_list_package_updatesorewatch_check_package_updates