AfterPack ब्लॉग
announcementsecurity

AfterPack साइट सिक्योरिटी स्कैनर का परिचय

द्वारा Nikita Savchenko6 मिनट पढ़ने का समय

आज हम AfterPack साइट सिक्योरिटी स्कैनर लॉन्च कर रहे हैं — एक मुफ्त टूल जो एक रियल ब्राउज़र से आपकी वेबसाइट को क्रॉल करता है और आपको बताता है कि आप दुनिया के सामने क्या एक्सपोज़ कर रहे हैं। इसे ब्राउज़र में आज़माएं या टर्मिनल से npx afterpack audit <url> चलाएं।

आपकी वेबसाइट सबको क्या दिखा रही है

यहां एक बात है जिसके बारे में ज़्यादातर डेवलपर्स नहीं सोचते: आपकी हर JavaScript फ़ाइल जो आप शिप करते हैं वह पब्लिक है। हर इनलाइन स्क्रिप्ट, हर थर्ड-पार्टी टैग, हर सोर्स मैप जो आपका बिल्ड टूल चुपचाप जेनरेट करता है। यह सब वहां है, पढ़े जाने के इंतज़ार में।

और यह सिर्फ पढ़ने योग्य नहीं है — यह सर्च करने योग्य है। ऑटोमेटेड स्कैनर लगातार वेब को खंगालते हैं, क्लाइंट बंडल्स में छोड़ी गई API keys, सोर्स मैप्स जो आपके पूरे प्रोजेक्ट ट्री को सर्व करते हैं, असुरक्षित बिज़नेस लॉजिक जिसे कोई कॉम्पिटिटर एक दोपहर में स्टडी कर सकता है — यह सब खोज रहे हैं। AI मॉडल अब मिनिफाइड कोड को सेकंडों में समरीज़ और एक्सप्लेन कर सकते हैं, जिससे "ऑब्स्क्योरिटी से सिक्योरिटी" शून्य सिक्योरिटी बन जाती है।

हमने प्रोडक्शन बंडल्स में AWS keys देखी हैं। ऑथेंटिकेशन फ्लो में हार्डकोडेड JWT टोकन। क्लाइंट-साइड कॉन्फ़िग फ़ाइलों में एम्बेडेड डेटाबेस कनेक्शन स्ट्रिंग्स। पूरे सोर्स मैप्स जो ओरिजिनल फ़ाइलनेम, डायरेक्टरी स्ट्रक्चर और कमेंट्स एक्सपोज़ करते हैं जो कभी बिल्ड सर्वर से बाहर नहीं जाने चाहिए थे।

आपको शायद पता न हो कि यह आपकी साइट पर हो रहा है। हमने एक टूल बनाया है ताकि आप पता कर सकें।

स्कैनर क्या चेक करता है

स्कैनर आपकी साइट का सात आयामों में विश्लेषण करता है, प्रत्येक सिवेरिटी रेटिंग के साथ विशिष्ट फाइंडिंग्स प्रोड्यूस करता है। यहां बताया गया है कि प्रत्येक मॉड्यूल क्या खोजता है — रियल फाइंडिंग्स के उदाहरणों के साथ।

सीक्रेट्स डिटेक्शन

हर JavaScript फ़ाइल और सोर्स मैप को एक्सपोज़्ड क्रेडेंशियल्स के लिए स्कैन करता है — AWS एक्सेस keys, Stripe सीक्रेट्स, GitHub टोकन, डेटाबेस URLs, JWTs, और 18 अन्य पैटर्न टाइप्स। फाइंडिंग्स ऑटोमैटिकली रिडैक्ट की जाती हैं ताकि रिज़ल्ट शेयर करना सुरक्षित हो।

critical
AWS Access Key Detected
https://example.com/_next/static/chunks/app/page-a3f8.js
high
Stripe Secret Key
https://example.com/assets/checkout-d41f.js
high
JWT Token
https://example.com/static/js/auth-7cb2.js
critical
Database Connection String
sourcemap://src/lib/config.ts

प्रोटेक्शन लेवल

प्रत्येक स्क्रिप्ट को ऑब्फस्केटेड, मिनिफाइड, अनप्रोटेक्टेड, या सोर्स-एक्सपोज़्ड के रूप में क्लासिफाई करता है। अगर आपका बिल्ड ओरिजिनल वेरिएबल नामों के साथ पढ़ने योग्य कोड शिप कर रहा है, तो आपको यह यहां दिखेगा।

कोड रीडेबिलिटी

मापता है कि AI कितनी आसानी से आपका कोड समझ सकता है, जो कीवर्ड डेंसिटी, स्ट्रिंग एक्सपोज़र, आइडेंटिफायर रीडेबिलिटी, स्ट्रक्चरल क्लैरिटी, और फॉर्मेटिंग सिग्नल्स के आधार पर स्कोर करता है। उच्च रीडेबिलिटी स्कोर का मतलब है कि आपका लॉजिक एक खुली किताब है।

डेंजरस पैटर्न

eval() के उपयोग, Function() कंस्ट्रक्टर्स, document.write(), डायरेक्ट innerHTML असाइनमेंट, और अन्य पैटर्न को फ्लैग करता है जो आपकी अटैक सरफेस को बढ़ाते हैं। साथ ही पब्लिकली एक्सेसिबल सोर्स मैप्स और एक्सपोज़्ड कॉन्फ़िग फ़ाइलों का भी पता लगाता है।

critical
Source Map Publicly Accessible
https://example.com/assets/app-8f2a.js
high
eval() Usage Detected
https://example.com/static/js/main-3dc1.js
critical
Exposed Configuration File
https://example.com/.env
medium
innerHTML Assignment
https://example.com/static/js/render-f19a.js

टेक स्टैक डिटेक्शन

फ्रेमवर्क और लाइब्रेरीज़ की पहचान करता है — React, Angular, Vue, Next.js, jQuery, और बहुत कुछ — जहां संभव हो वर्शन नंबर सहित। यह जानना कि आप क्या चला रहे हैं पहला कदम है; यह जानना कि बाकी सब भी देख सकते हैं कि आप क्या चला रहे हैं — यह दूसरा कदम है।

थर्ड-पार्टी एनालिसिस

आपकी साइट जिन सभी एक्सटर्नल डोमेन से रिसोर्सेज़ लोड करती है उनका मैप बनाता है — स्क्रिप्ट्स, फॉन्ट्स, स्टाइलशीट्स, ट्रैकिंग पिक्सल, API एंडपॉइंट्स। इनमें से हर एक ऐसी डिपेंडेंसी है जो आपने नहीं लिखी और जिसे आप कंट्रोल नहीं कर सकते।

बंडल कंपोज़िशन

बंडल की गई लाइब्रेरीज़ का पता लगाता है और ज्ञात CVEs की जांच करता है। अगर आप jQuery या lodash का कोई ऐसा वर्शन शिप कर रहे हैं जिसमें पब्लिश्ड वल्नरेबिलिटी है, तो स्कैनर इसे फ्लैग करेगा।

यह कैसे काम करता है

यह कोई स्टैटिक एनालाइज़र नहीं है जो आपका HTML फ़ेच करके अपना काम पूरा मान ले। स्कैनर Cloudflare Browser Rendering का उपयोग करता है ताकि आपकी साइट को एक रियल ब्राउज़र में लोड किया जा सके, JavaScript एक्ज़ीक्यूट किया जा सके, और लोड होने वाले हर रिसोर्स को कैप्चर किया जा सके — जिसमें डायनामिकली इंजेक्ट की गई स्क्रिप्ट्स और लेज़ी-लोडेड बंडल्स शामिल हैं।

रिज़ल्ट SSE के माध्यम से रियल टाइम में स्ट्रीम होते हैं। जैसे-जैसे प्रत्येक मॉड्यूल अपना एनालिसिस पूरा करता है, आपको फाइंडिंग्स दिखाई देंगी, साथ ही एक रनिंग सिक्योरिटी स्कोर जो प्रोग्रेसिवली 0 से 100 तक अपडेट होता है। पूरी रिपोर्ट जेनरेट होने का इंतज़ार नहीं — आप स्कैन को लाइव होते देख रहे हैं।

यह मुफ्त है। कोई साइनअप नहीं।

एक URL डालें। रिज़ल्ट पाएं। बस इतना ही।

कोई अकाउंट नहीं, कोई ईमेल नहीं, कोई API key नहीं। स्कैनर पूरी तरह मुफ्त है। हमने इसे इसलिए बनाया क्योंकि हमारा मानना है कि हर डेवलपर को यह देख पाना चाहिए कि उनकी साइट क्या एक्सपोज़ करती है — बिना किसी बाधा के।

या CLI का उपयोग करें

टर्मिनल पसंद करते हैं? afterpack CLI में वही स्कैनर शामिल है — एक कमांड, कोई ब्राउज़र ज़रूरी नहीं। आपको Node.js इंस्टॉल होना चाहिए (npx इसके साथ आता है):

npx afterpack audit https://example.com
1 AfterPack v0.3.0 — Security Analyzer
2
3 Scanning https://example.com ...
4
5 ✓ Fetching page
6 ✓ Rendering JavaScript
7 ✓ Analyzing resources
8
9 ⚠ CRITICAL: AWS Access Key Detected
10 ⚠ HIGH: Source Map Publicly Accessible
11
12 ┌─────────────────────────────────────────────┐
13 │ Score: 38/100 │
14 │ │
15 │ Resources 12 found (4 unprotected, 2 source exposed) │
16 │ Findings 7 issues (1 critical, 2 high, 4 medium) │
17 │ Tech Stack React, Next.js, Webpack │
18 │ Readability 74/100 │
19 └─────────────────────────────────────────────┘
20
21 ⚠ 1 critical finding:
22 AWS Access Key Detected (AKIA...7X9Q in app/page-a3f8.js)
23
24 Full report: https://afterpack.dev/security-scanner/abc123

इसे CI में डालें या हर डिप्लॉय से पहले चलाएं — एक्सपोज़्ड सीक्रेट्स को शिप होने से पहले पकड़ें।

अपनी साइट स्कैन करें

सच में — ब्राउज़र में जाकर आज़माएं, या टर्मिनल में npx afterpack audit <your-url> चलाएं। सीक्रेट्स टैब चेक करें। अपने प्रोटेक्शन लेवल देखें। देखें कि कितने थर्ड-पार्टी डोमेन आपके पेजों पर स्क्रिप्ट्स लोड कर रहे हैं।

अगर सब कुछ साफ दिखता है, बढ़िया। आप ज़्यादातर लोगों से आगे हैं।

अगर आपको जो दिखता है वह पसंद नहीं आता — तो इसीलिए हमने AfterPack बनाया है। स्कैनर आपको समस्या दिखाता है। सोर्स-कोड वाले हिस्से का समाधान AfterPack है: यह आपके बंडल को इस तरह फिर से लिखता है कि उसे पढ़ना, कॉपी करना, या किसी मॉडल को खिलाना आज की तुलना में कहीं ज़्यादा महंगा हो जाए, और यह वह टेक स्टैक व बिज़नेस लॉजिक छुपा देता है जो स्कैनर ने अभी आपको दिखाया। सबसे हल्का प्रीसेट सिर्फ़ थोड़ा-सा बंडल ओवरहेड जोड़ता है; मापे गए आंकड़े परफॉर्मेंस पेज पर हैं।


स्कैनर अभी afterpack.dev/security-scanner पर लाइव है। या किसी भी टर्मिनल से npx afterpack audit <url> चलाएं — यह npm पर उपलब्ध है।

अगर आप उसे प्रोटेक्ट करना चाहते हैं जो स्कैनर ढूंढता है, तो AfterPack अब लाइव है: क्विकस्टार्ट से शुरू करें।

Nikita

अपडेट रहें

रिलीज़ नोट्स और लेखों के लिए AfterPack को फॉलो करें।