
ऑफ़लाइन ह्यूरिस्टिक विश्लेषक जो संदिग्ध SMS, चैट संदेशों और लिंक को घोटाले और फ़िशिंग संकेतकों के लिए स्कोर करता है, प्रत्येक चेतावनी संकेत को जागरूकता गाइड और एक क्विज़ के साथ समझाता है।
एक साइबर सुरक्षा जागरूकता प्लेटफ़ॉर्म। कोई संदिग्ध SMS, ईमेल, चैट संदेश या लिंक पेस्ट करें और यह आपको बताता है कि इसमें कौन-कौन सी घोटाला तकनीकें पाई गईं, प्रत्येक क्यों मायने रखती है, और आगे क्या करना चाहिए।
लाइव डेमो: https://threatripper.onrender.com (Render मुफ़्त टियर — निष्क्रियता के बाद पहली विज़िट को जागने में एक मिनट लग सकता है।)
यह एक शिक्षण उपकरण है, सुरक्षा उत्पाद नहीं। इसमें कोई एंटीवायरस इंजन, कोई मैलवेयर स्कैनिंग, कोई प्रेषक सत्यापन और कोई डोमेन प्रतिष्ठा सेवा नहीं है। लिंक कभी नहीं खोले जाते।
उद्देश्य और दायरा। Threatripper टेक्स्ट में घोटाले के संकेतकों का पता लगाने के लिए एक रक्षात्मक, शैक्षिक उपकरण है। इसमें मैलवेयर, एक्सप्लॉइट कोड, फ़िशिंग किट, क्रेडेंशियल सूचियाँ या कोई आक्रामक क्षमता नहीं है, और यह कभी भी नेटवर्क अनुरोध नहीं करता। रिपॉज़िटरी में सभी उदाहरण संदेश और डोमेन काल्पनिक, आरक्षित
.exampleनामों का उपयोग करते हैं और केवल पहचान लॉजिक प्रदर्शित करने के लिए मौजूद हैं।इसका उपयोग केवल स्वयं और दूसरों की सुरक्षा के लिए करें। दुरुपयोग परियोजना के उद्देश्य के विरुद्ध है; धोखाधड़ी की रिपोर्ट आधिकारिक चैनलों के माध्यम से करें (देखें सीमाएँ)।
चार पेज, कोई बिल्ड चरण नहीं, कोई JavaScript फ़्रेमवर्क नहीं, कोई CDN नहीं:
| पेज | पथ | उद्देश्य |
|---|---|---|
| विश्लेषण | / | कोई संदेश या लिंक पेस्ट करें, स्कोर किया गया, व्याख्या सहित निर्णय प्राप्त करें |
| जागरूकता | /awareness.html | सात घोटाला-प्रकार गाइड और रिपोर्टिंग सलाह |
| क्विज़ | /quiz.html | बारह परिदृश्य, सर्वर-साइड पर व्याख्याओं सहित ग्रेड किए गए |
| इतिहास | /history.html | आपके हाल के विश्लेषण, पहचानकर्ता पहले से ही संपादित |
विश्लेषण जानबूझकर आधिकारिक होने के बजाय व्याख्यायोग्य है। पैमाने का प्रत्येक बिंदु गंभीरता, विश्वास और यह समझाने वाले वाक्य के साथ एक नामित नियम से जुड़ा है कि यह क्यों मायने रखता है। इंटरफ़ेस पूरी गणना दिखाता है, जिसमें संयोजन बोनस भी शामिल हैं, ताकि आउटपुट पर केवल भरोसा न किया जाए बल्कि उससे बहस भी की जा सके।
यह क्या नहीं करता:
Python 3.11 या नया आवश्यक है।
git clone <your-repo-url> threatripper
cd threatripper
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# Use "python3 -m pip", not a bare "pip": on a hardened distro (Kali, Debian,
# Fedora) pip may be an externally managed system binary that is blocked by
# PEP 668, and a bare "pip" will not resolve to the venv.
python3 -m pip install -r requirements.txt
python3 -m uvicorn backend.main:app --reload
http://127.0.0.1:8000 खोलें।
पूरा उत्पाद — API, नियम सूची, डेटाबेस और वेब इंटरफ़ेस — उसी एक प्रक्रिया से एक ही ओरिजिन पर चलता है। इंटरैक्टिव API दस्तावेज़ /docs पर हैं, और कच्चा OpenAPI स्कीमा /openapi.json पर।
परीक्षण चलाने के लिए:
python3 -m pip install -r requirements-dev.txt
python3 -m pytest
वही विश्लेषण टर्मिनल से भी चलता है। यह एक दूसरा फ्रंट एंड है, दूसरा
कार्यान्वयन नहीं: हर नियम, स्कोर, व्याख्या और अनुशंसित कार्रवाई उसी
AnalysisService से आती है जिसका उपयोग वेब ऐप करता है, इसलिए दोनों इस बात पर
असहमत नहीं हो सकते कि क्या खतरनाक है।
कोई सर्वर नहीं, कोई पोर्ट नहीं, कोई नेटवर्क नहीं — यह तब उपयोगी है जब आप जिस संदेश को देख रहे हैं वह स्वयं घटना हो।
# Analyse a pasted message
./threatripper.sh "URGENT: your account will be closed, share the OTP"
# Or pipe it in, which is the natural way to use it
pbpaste | ./threatripper.sh
# A bare link
./threatripper.sh "http://verify-account.example/login"
# The API payload, for scripts
./threatripper.sh "share your OTP" --json | jq .result.risk_level
# Only fail when it is serious
./threatripper.sh --fail-on critical "see you tomorrow" ; echo $? # 0
./threatripper.sh --fail-on critical "your bank account will be suspended in 24 hours, verify at http://bank-verify.example/login and share the OTP" ; echo $? # 1
# Stored history, shared with the web app
./threatripper.sh history
./threatripper.sh history --level critical --json
# Analyse without keeping any record
./threatripper.sh "share your OTP" --no-store
एक इंटरैक्टिव रन की शुरुआत में एक लाल THREATRIPPER बैनर प्रिंट होता है, जो
ANSI Shadow फ़ेस में बनाया गया है। यह stderr पर जाता है और --json के लिए तथा
जब भी आउटपुट पाइप या रीडायरेक्ट किया जाता है, छोड़ दिया जाता है, इसलिए यह कभी किसी लॉग में नहीं जाता और किसी
पाइपलाइन को नहीं तोड़ता। --no-color बैनर को बनाए रखता है लेकिन रंग हटा देता है।
ANSI Shadow में हर ग्लिफ़ एक पूर्वी एशियाई अस्पष्ट-चौड़ाई वाला अक्षर है, इसलिए कुछ
टर्मिनलों पर — आम तौर पर किसी CJK लोकेल में, या 78 कॉलम से संकरी विंडो में —
पंक्तियाँ अलग-अलग चौड़ाई में रेंडर होती हैं और अक्षर बिखर जाते हैं। उस स्थिति में
बैनर चुपचाप एक शुद्ध-ASCII फ़ेस पर वापस चला जाता है। चयन को
--banner shadow|ascii|none से ओवरराइड करें:
./threatripper.sh --banner shadow "message" # force the block letters
./threatripper.sh --banner ascii "message" # force the terminal-safe face
./threatripper.sh --banner none "message" # no banner at all
वेब ऐप की तरह, एक विश्लेषण डिफ़ॉल्ट रूप से साझा इतिहास में जोड़ा जाता है —
वही रिडैक्टेड प्रीव्यू, कभी भी मूल टेक्स्ट नहीं। रिकॉर्ड रखे बिना विश्लेषण करने के लिए
--no-store पास करें।
./threatripper.sh analyze --help और ./threatripper.sh history --help हर विकल्प की सूची दिखाते हैं।
लॉन्चर प्रोजेक्ट के .venv इंटरप्रेटर को प्राथमिकता देता है और अपना
स्थान स्वयं हल करता है, इसलिए यह किसी भी डायरेक्टरी से और virtualenv सक्रिय हो या न हो,
दोनों स्थितियों में काम करता है। python3 -m backend.cli समतुल्य है।
टर्मिनल टूल का उपयोग स्क्रिप्ट में किया जाता है, इसलिए "क्या इसने कुछ ढूँढा?" का उत्तर गद्य को पार्स किए बिना दिया जाना चाहिए।
| कोड | अर्थ |
|---|---|
0 | कुछ नहीं मिला, --fail-on थ्रेशोल्ड पर या उससे नीचे |
1 | थ्रेशोल्ड पर या उससे ऊपर कुछ मिला |
2 | कमांड लाइन गलत थी |
3 | विश्लेषण करने के लिए कुछ नहीं था, या विश्लेषण नहीं चल सका |
थ्रेशोल्ड डिफ़ॉल्ट रूप से suspicious है। इसे बदलने के लिए किसी भी बैंड
(low, suspicious, medium, high, critical) के साथ --fail-on पास करें।
# Fail a deploy pipeline only on a serious finding
./threatripper.sh --fail-on critical "$MESSAGE" || echo "review this message"
एक उपयोग त्रुटि जानबूझकर कभी भी किसी निष्कर्ष के साथ कोड साझा नहीं करती, ताकि कोई स्क्रिप्ट "यह संदेश खतरनाक है" और "आपने फ़्लैग गलत टाइप किया" के बीच अंतर बता सके। एक अपरिचित जोखिम बैंड भी गैर-शून्य के साथ बाहर निकलता है, बजाय सब ठीक होने की रिपोर्ट करने के।