
CLI उपकरण जो CVEs को सरल अंग्रेजी में समझाता है और repos को प्रभाव के लिए स्कैन करता है। Claude द्वारा संचालित।
"क्या यह CVE मुझे प्रभावित भी करता है?" — सेकंड में उत्तर, घंटों में नहीं।
सेंटिनल एक CVE ID लेता है, NVD, OSV.dev और MITRE से डेटा प्राप्त करता है, फिर Claude का उपयोग करके एक स्पष्ट, कार्रवाई योग्य 5-अनुभागीय भेद्यता ब्रीफिंग तैयार करता है।
cd sentinel/
pip install -e .
# Required: Anthropic API key
sentinel config set api-key sk-ant-...
# Optional: NVD API key (higher rate limits)
sentinel config set nvd-key xxxxxxxx-xxxx-...
# Or use environment variables
export ANTHROPIC_API_KEY=sk-ant-...
export NVD_API_KEY=xxxxxxxx-xxxx-...
# Explain a CVE (5-section report with colored terminal output)
sentinel cve CVE-2024-3094
# Choose output persona (see Personas below)
sentinel cve CVE-2024-3094 --format exec # Executive / CISO summary
sentinel cve CVE-2024-3094 -f engineer # Deep technical advisory
sentinel cve CVE-2024-3094 -f devops # Infrastructure-focused
sentinel cve CVE-2024-3094 -f security # Default 5-section report
# Also works with scan
sentinel scan . --cve CVE-2024-3094 --format exec
# JSON output
sentinel cve CVE-2024-3094 --json
# Markdown output
sentinel cve CVE-2024-3094 --markdown
# Brief one-paragraph summary
sentinel cve CVE-2024-3094 --brief
# Skip cache, fetch fresh data
sentinel cve CVE-2024-3094 --no-cache
# Verbose mode (show timing and source details)
sentinel cve CVE-2024-3094 -v
--format / -f)security (डिफ़ॉल्ट) — सुरक्षा विश्लेषकक्लासिक 5-अनुभागीय भेद्यता ब्रीफिंग:
exec — कार्यकारी / CISOव्यस्त कार्यकारियों के लिए 10-सेकंड का पठन। ट्रैफिक लाइट गंभीरता, व्यावसायिक प्रभाव, एक कार्रवाई आइटम। कोई शब्दजाल नहीं।
🔴 CRITICAL — CVE-2024-3094 (XZ बैकडोर)
एक बैकडोर एक मुख्य Linux संपीड़न लाइब्रेरी में लगाया गया था जो अधिकांश सर्वरों पर उपयोग होती है।
हमलावर xz 5.6.0-5.6.1 चलाने वाले किसी भी सिस्टम पर डेटा को इंटरसेप्ट और संशोधित कर सकते हैं।
तत्काल डाउनग्रेड आवश्यक — प्रति सर्वर 15-30 मिनट अनुमानित, कोई डाउनटाइम अपेक्षित नहीं।
जोखिम: आपूर्ति श्रृंखला समझौता — उच्च गंभीरता, सक्रिय शोषण
प्रभाव: प्रभावित संस्करण चलाने वाला सभी Linux बुनियादी ढांचा
कार्रवाई आवश्यक: xz को 5.4.6 पर डाउनग्रेड करें। `xz --version` से सत्यापित करें।
engineer — सॉफ्टवेयर इंजीनियरसटीक संस्करणों, अपग्रेड कमांड, grep पैटर्न और परीक्षण चरणों के साथ गहन तकनीकी गोता:
devops — DevOps / SREकंटेनरों, K8s, CI/CD, और मॉनिटरिंग के साथ बुनियादी ढाँचा-केंद्रित:
सेंटिनल मोबाइल ऐप बिल्ड कॉन्फ़िग में उन निर्भरताओं का पता लगाता है जो मानक स्कैनर से छूट जाती हैं:
# Scan an Android project
sentinel scan ./my-android-app --cve CVE-2024-XXXX
# Scan an iOS project
sentinel scan ./my-ios-app --cve CVE-2024-XXXX
# Scan a Flutter project
sentinel scan ./my-flutter-app
विशेषताएँ:
gradle.properties और ext {} ब्लॉक से Gradle वेरिएबल संदर्भों ($firebaseBomVersion) को हल करता हैlibs.versions.toml) को पार्स करता हैFirebase/Analytics) को संभालता हैअपने Kubernetes क्लस्टर को कमजोर कंटेनर इमेज के लिए स्कैन करें:
# Scan all namespaces
sentinel scan --k8s
# Scan specific namespace
sentinel scan --k8s --namespace production
# Check specific CVE across cluster
sentinel scan --k8s --cve CVE-2024-3094
# Generate SBOM for all running images
sentinel scan --k8s --sbom
# Scan a specific image (no cluster connection needed)
sentinel scan --k8s --image nginx:1.25
सेंटिनल को केवल-पढ़ने की पहुँच चाहिए। न्यूनतम RBAC मेनिफेस्ट लागू करें:
kubectl apply -f config/k8s-rbac.yaml
यह केवल get और list अनुमतियों वाला एक sentinel-readonly ServiceAccount बनाता है जो pods, namespaces, deployments, replicasets, daemonsets और statefulsets पर है। कोई लिखने की पहुँच नहीं।
निर्धारित करें कि क्या कोई CVE वास्तव में आपके कोड को प्रभावित करता है, यह पता लगाकर कि कमजोर फ़ंक्शन एंट्री पॉइंट से पहुँच योग्य हैं या नहीं:
# Full analysis with Claude interpretation
sentinel scan . --cve CVE-2024-22195 --execution-path
# Local-only (no data sent externally)
sentinel scan . --cve CVE-2024-22195 --execution-path --local-only
निर्णय:
| मोड | बाहरी रूप से भेजा गया डेटा |
|---|---|
--local-only | कुछ नहीं — शुद्ध स्थानीय AST विश्लेषण |
| डिफ़ॉल्ट | केवल स्वच्छित मेटाडेटा: फ़ंक्शन नाम, आयात नाम, कॉल ग्राफ़ किनारे (नोड/एज सूची), CVE विवरण। कभी स्रोत कोड नहीं। |
Claude को भेजा गया सभी डेटा समीक्षा के लिए ~/.sentinel/audit.log में लॉग किया जाता है।
sentinel cache clear # Clear all cached data
कॉन्फ़िग ~/.sentinel/config.json पर संग्रहीत है। कैश ~/.sentinel/cache.db पर।
sentinel config set api-key <key>
sentinel config set nvd-key <key>
sentinel config set model <model-name>
sentinel config get api-key
सेंटिनल में एक FastAPI सर्वर शामिल है जो Slack, Microsoft Teams, Telegram और एक सामान्य REST API से कमांड स्वीकार करता है।
sentinel server start # Default port 8080
sentinel server start --port 9090 # Custom port
sentinel server start --workers 4 # Multiple workers
sentinel server status # Check if running
# Explain a CVE
curl -X POST http://localhost:8080/api/cve \
-H "Content-Type: application/json" \
-d '{"cve_id": "CVE-2024-3094"}'
# Scan a repo
curl -X POST http://localhost:8080/api/scan \
-H "Content-Type: application/json" \
-d '{"repo_url": "https://github.com/user/repo", "cve_id": "CVE-2024-3094"}'
# Health check
curl http://localhost:8080/health
sentinel setup slack # Interactive setup guide
config/slack-manifest.yml का उपयोग करके एक Slack ऐप बनाएँexport SLACK_SIGNING_SECRET=<signing-secret>
export SLACK_BOT_TOKEN=xoxb-<bot-token>
https://<your-domain>/slack/commands पर सेट करेंhttps://<your-domain>/slack/events पर सेट करें/sentinel cve CVE-2024-3094 या @Sentinel cve CVE-2024-3094sentinel setup teams # Interactive setup guide
https://<your-domain>/teams/webhook की ओर इशारा करते हुए एक आउटगोइंग वेबहुक बनाएँexport TEAMS_WEBHOOK_SECRET=<base64-hmac-secret>
@Sentinel cve CVE-2024-3094sentinel setup telegram # Interactive setup guide
export TELEGRAM_BOT_TOKEN=<bot-token>
curl -X POST "https://api.telegram.org/bot<TOKEN>/setWebhook" -d '{"url":"https://<YOUR_DOMAIN>/telegram/webhook"}'/cve CVE-2024-3094, /scan <repo> --cve CVE-XXXXcd docker/
# Set env vars in .env file or export them
docker compose up -d
# With nginx reverse proxy:
docker compose --profile with-nginx up -d
| अनुभाग | यह क्या उत्तर देता है |
|---|
| 🔍 यह क्या है | सरल अंग्रेजी में व्याख्या |
| 💥 कैसे शोषण करें | आक्रमण वेक्टर, PoC सारांश, कठिनाई |
| 🚨 किसे घबराना चाहिए | प्रभावित सॉफ्टवेयर, संस्करण, पारिस्थितिकी तंत्र |
| 🛡️ सुरक्षित रूप से पैच कैसे करें | उपचार कदम, पैच लिंक |
| ✅ क्या परीक्षण करें | पैचिंग के बाद सत्यापन कदम |
| अनुभाग | फोकस |
|---|
| 📦 प्रभावित लाइब्रेरी और संस्करण | सटीक संस्करण श्रेणियाँ, निर्भरता श्रृंखलाएँ |
| 🔧 कोड-स्तरीय उपचार | विशिष्ट अपग्रेड कमांड, कॉन्फ़िगरेशन परिवर्तन |
| 🔍 क्या grep करें | आपके कोडबेस में खोजने के लिए पैटर्न |
| 🧪 फिक्स का परीक्षण कैसे करें | सत्यापन कमांड, रिग्रेशन परीक्षण |
| ⚠️ ब्रेकिंग परिवर्तन | डिप्रीकेशन, व्यवहारिक अंतर |
| अनुभाग | फोकस |
|---|
| 🏗️ प्रभावित बुनियादी ढाँचा | बेस इमेज, कंटेनर, क्लाउड सेवाएँ |
| 🚀 डिप्लॉयमेंट प्रभाव | रोलिंग अपडेट रणनीति, डाउनटाइम मूल्यांकन |
| 🔄 रोलबैक योजना | यदि पैच समस्या उत्पन्न करता है तो कैसे वापस जाएँ |
| 📊 मॉनिटरिंग और डिटेक्शन | लॉग, अलर्ट, शोषण का पता लगाना |
| 🚨 घटना प्रतिक्रिया कदम | यदि सक्रिय रूप से शोषण किया जा रहा है तो चरण-दर-चरण |
| पारिस्थितिकी तंत्र | पार्स की गई फ़ाइलें | लॉक फ़ाइल (पसंदीदा) |
|---|
| Android (Gradle) | build.gradle, build.gradle.kts, gradle/libs.versions.toml | — |
| iOS (CocoaPods) | Podfile | Podfile.lock |
| iOS (Swift PM) | Package.swift | Package.resolved |
| Flutter (Dart) | pubspec.yaml | pubspec.lock |
| एंडपॉइंट | विधि | विवरण |
|---|
/health | GET | स्वास्थ्य जाँच |
/api/cve | POST | REST API — किसी CVE की व्याख्या करें |
/api/scan | POST | REST API — किसी रिपॉजिटरी को स्कैन करें |
/slack/commands | POST | Slack स्लैश कमांड |
/slack/events | POST | Slack ईवेंट API |
/teams/webhook | POST | Teams आउटगोइंग वेबहुक |
/telegram/webhook | POST | Telegram बॉट वेबहुक |