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

एक मुफ्त टूल जो आपको दिखाता है कि आपकी वेबसाइट वास्तव में क्या एक्सपोज़ कर रही है — लीक हुए सीक्रेट्स, असुरक्षित सोर्स कोड, और बहुत कुछ। किसी भी साइट को सेकंडों में स्कैन करें।

Source: https://www.afterpack.dev/hi/blog/announcing-site-scanner

Published: 2026-03-01 · Author: Nikita Savchenko · Tags: announcement, security

आज हम [AfterPack साइट सिक्योरिटी स्कैनर](https://www.afterpack.dev/security-scanner) लॉन्च कर रहे हैं — एक मुफ्त टूल जो एक रियल ब्राउज़र से आपकी वेबसाइट को क्रॉल करता है और आपको बताता है कि आप दुनिया के सामने क्या एक्सपोज़ कर रहे हैं। इसे ब्राउज़र में आज़माएं या टर्मिनल से [`npx afterpack audit <url>`](https://www.npmjs.com/package/afterpack) चलाएं।

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

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

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

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

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

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

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

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

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

- **AWS Access Key Detected** (secrets, critical) — An AWS access key was found in the JavaScript bundle. Value: `AKIA...............7X9Q`. Found in: https://example.com/_next/static/chunks/app/page-a3f8.js
- **Stripe Secret Key** (secrets, high) — A Stripe API key was found in the JavaScript bundle. Value: `sk_live_51N...............8dFq`. Found in: https://example.com/assets/checkout-d41f.js
- **JWT Token** (secrets, high) — A JWT token was found hardcoded in the source. Value: `eyJh..........................E2MjN9`. Found in: https://example.com/static/js/auth-7cb2.js
- **Database Connection String** (secrets, critical) — A database URL was found in the JavaScript bundle. Value: `postgres://admin:...@db.internal:5432/prod`. Found in: sourcemap://src/lib/config.ts

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

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

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

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

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

[eval()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval) के उपयोग, `Function()` कंस्ट्रक्टर्स, `document.write()`, डायरेक्ट `innerHTML` असाइनमेंट, और अन्य पैटर्न को फ्लैग करता है जो आपकी अटैक सरफेस को बढ़ाते हैं। साथ ही पब्लिकली एक्सेसिबल सोर्स मैप्स और एक्सपोज़्ड कॉन्फ़िग फ़ाइलों का भी पता लगाता है।

- **Source Map Publicly Accessible** (patterns, critical) — A source map file is publicly accessible, exposing original source code. Value: `https://example.com/assets/app.js.map`. Found in: https://example.com/assets/app-8f2a.js
- **eval() Usage Detected** (patterns, high) — Use of eval() allows arbitrary code execution. Value: `eval(atob(config.payload))`. Found in: https://example.com/static/js/main-3dc1.js
- **Exposed Configuration File** (patterns, critical) — A .env file is publicly accessible on the server. Value: `https://example.com/.env`. Found in: https://example.com/.env
- **innerHTML Assignment** (patterns, medium) — Direct innerHTML assignment can lead to XSS vulnerabilities. Value: `el.innerHTML = userContent`. Found in: https://example.com/static/js/render-f19a.js

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

फ्रेमवर्क और लाइब्रेरीज़ की पहचान करता है — [React](https://react.dev), [Angular](https://angular.dev), [Vue](https://vuejs.org), [Next.js](https://nextjs.org), [jQuery](https://jquery.com), और बहुत कुछ — जहां संभव हो वर्शन नंबर सहित। यह जानना कि आप क्या चला रहे हैं पहला कदम है; यह जानना कि _बाकी सब भी_ देख सकते हैं कि आप क्या चला रहे हैं — यह दूसरा कदम है।

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

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

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

बंडल की गई लाइब्रेरीज़ का पता लगाता है और ज्ञात [CVEs](https://cve.mitre.org) की जांच करता है। अगर आप jQuery या lodash का कोई ऐसा वर्शन शिप कर रहे हैं जिसमें पब्लिश्ड वल्नरेबिलिटी है, तो स्कैनर इसे फ्लैग करेगा।

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

यह कोई स्टैटिक एनालाइज़र नहीं है जो आपका HTML फ़ेच करके अपना काम पूरा मान ले। स्कैनर [Cloudflare Browser Rendering](https://developers.cloudflare.com/browser-rendering/) का उपयोग करता है ताकि आपकी साइट को एक रियल ब्राउज़र में लोड किया जा सके, JavaScript एक्ज़ीक्यूट किया जा सके, और लोड होने वाले हर रिसोर्स को कैप्चर किया जा सके — जिसमें डायनामिकली इंजेक्ट की गई स्क्रिप्ट्स और लेज़ी-लोडेड बंडल्स शामिल हैं।

रिज़ल्ट [SSE](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events) के माध्यम से रियल टाइम में स्ट्रीम होते हैं। जैसे-जैसे प्रत्येक मॉड्यूल अपना एनालिसिस पूरा करता है, आपको फाइंडिंग्स दिखाई देंगी, साथ ही एक रनिंग सिक्योरिटी स्कोर जो प्रोग्रेसिवली 0 से 100 तक अपडेट होता है। पूरी रिपोर्ट जेनरेट होने का इंतज़ार नहीं — आप स्कैन को लाइव होते देख रहे हैं।

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

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

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

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

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

```bash
npx afterpack audit https://example.com
```

```
  AfterPack v0.3.0 — Security Analyzer

  Scanning https://example.com ...

  ✓ Fetching page
  ✓ Rendering JavaScript
  ✓ Analyzing resources

  ⚠  CRITICAL: AWS Access Key Detected
  ⚠  HIGH: Source Map Publicly Accessible

  ┌─────────────────────────────────────────────┐
  │ Score: 38/100                                                          │
  │                                                                        │
  │ Resources      12 found (4 unprotected, 2 source exposed)              │
  │ Findings       7 issues (1 critical, 2 high, 4 medium)                 │
  │ Tech Stack     React, Next.js, Webpack                                 │
  │ Readability    74/100                                                  │
  └─────────────────────────────────────────────┘

  ⚠  1 critical finding:
     AWS Access Key Detected (AKIA...7X9Q in app/page-a3f8.js)

  Full report: https://afterpack.dev/security-scanner/abc123
```

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

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

सच में — ब्राउज़र में [जाकर आज़माएं](https://www.afterpack.dev/security-scanner), या टर्मिनल में `npx afterpack audit <your-url>` चलाएं। सीक्रेट्स टैब चेक करें। अपने प्रोटेक्शन लेवल देखें। देखें कि कितने थर्ड-पार्टी डोमेन आपके पेजों पर स्क्रिप्ट्स लोड कर रहे हैं।

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

अगर आपको जो दिखता है वह पसंद नहीं आता — तो इसीलिए हमने [AfterPack](https://afterpack.dev) बनाया है। स्कैनर आपको समस्या दिखाता है। सोर्स-कोड वाले हिस्से का समाधान AfterPack है: यह आपके बंडल को इस तरह फिर से लिखता है कि उसे पढ़ना, कॉपी करना, या किसी मॉडल को खिलाना आज की तुलना में कहीं ज़्यादा महंगा हो जाए। डिफ़ॉल्ट प्रीसेट पर gzip के बाद बंडल अपने मूल आकार का लगभग 1.9 से 2.4 गुना हो जाता है; मापे गए आंकड़े [परफॉर्मेंस पेज](https://www.afterpack.dev/docs/performance) पर हैं।

---

स्कैनर अभी [afterpack.dev/security-scanner](https://www.afterpack.dev/security-scanner) पर लाइव है। या किसी भी टर्मिनल से `npx afterpack audit <url>` चलाएं — यह [npm](https://www.npmjs.com/package/afterpack) पर उपलब्ध है।

अगर आप उसे प्रोटेक्ट करना चाहते हैं जो स्कैनर ढूंढता है, तो AfterPack अब लाइव है: [क्विकस्टार्ट](https://www.afterpack.dev/docs/quickstart) से शुरू करें।

— [Nikita](https://nikitaeverywhere.com)
