
jshunter एक कमांड-लाइन टूल है जो JavaScript फ़ाइलों का विश्लेषण करने और endpoints निकालने के लिए डिज़ाइन किया गया है। यह टूल संवेदनशील डेटा, जैसे कि API endpoints और संभावित सुरक्षा कमजोरियों की पहचान करने में विशेषज्ञता रखता है, जिससे यह बग बाउंटी शिकारियों और सुरक्षा शोधकर्ताओं के लिए एक आवश्यक संसाधन बन जाता है।
पेशेवर JavaScript सुरक्षा विश्लेषण उपकरण
सुरक्षा पेशेवरों के लिए संपूर्ण एंडपॉइंट खोज, संवेदनशील डेटा पहचान, और उन्नत कोड विश्लेषण
JSHunter JavaScript सुरक्षा विश्लेषण और एंडपॉइंट खोज के लिए एक व्यापक कमांड-लाइन उपकरण है। सुरक्षा पेशेवरों, पेनेट्रेशन टेस्टर्स और डेवलपर्स के लिए निर्मित, यह उच्च-सटीकता पहचान एल्गोरिदम और पेशेवर रिपोर्टिंग सुविधाओं के साथ एंटरप्राइज़-ग्रेड विश्लेषण क्षमताएँ प्रदान करता है।
https://github.com/user-attachments/assets/5a5f60fa-f8dc-4aac-bd06-2e93779f9af4
JSHunter कार्य में — CLI का वास्तविक टर्मिनल कैप्चर (दिखाया गया हर सीक्रेट नकली परीक्षण डेटा है)
उन्नत विश्लेषण एल्गोरिदम के साथ एंटरप्राइज़-ग्रेड सटीकता
प्रमाणीकरण और हेडर:
-H): दोहराने योग्य प्रमाणीकरण हेडर और कस्टम अनुरोध हेडर-c): संरक्षित संसाधनों तक पहुँच के लिए सत्र कुकीज़-U): स्टील्थ के लिए कस्टम UA स्ट्रिंग या फ़ाइल-आधारित रोटेशनप्रदर्शन और विश्वसनीयता:
-R): पहचान से बचने के लिए कॉन्फ़िगर करने योग्य अनुरोध विलंब (मिलीसेकंड)-T): विभिन्न नेटवर्क स्थितियों के लिए कस्टम टाइमआउट सेटिंग्स-y): असफल अनुरोधों के लिए एक्सपोनेंशियल बैकऑफ़ के साथ स्वचालित पुनःप्रयास तंत्रपेशेवर एकीकरण:
-p): पूर्ण Burp Suite और कस्टम प्रॉक्सी एकीकरण (HTTP/HTTPS/SOCKS5)-k): परीक्षण वातावरण के लिए वैकल्पिक प्रमाणपत्र सत्यापन बायपास-t): इष्टतम प्रदर्शन के लिए कॉन्फ़िगर करने योग्य समवर्ती अनुरोध हैंडलिंगमुख्य विश्लेषण उपकरण:
-d): गहन विश्लेषण के लिए मिनिफ़ाइड और ऑबफस्केटेड JavaScript को अनपैक करता है-m): सोर्स मैप से मूल सोर्स कोड निकालता और विश्लेषण करता है-z): ऑबफस्केशन तकनीकों और पैटर्न की पहचान और वर्गीकरण करता हैगतिशील विश्लेषण:
-e): गतिशील कोड निष्पादन (eval(), Function(), रनटाइम जनरेशन) का विश्लेषण करता हैकोड इंटेलिजेंस:
पेशेवर उपयोग: अधिकतम कवरेज के लिए विश्लेषण उपकरणों को सुरक्षा पहचान के साथ संयोजित करें उदाहरण:
jshunter -u target.js -d -m -e -s -g(पूर्ण डीऑबफस्केशन + सुरक्षा विश्लेषण)
मुख्य सुरक्षा पहचान:
-s): API कुंजियाँ, एक्सेस टोकन, पासवर्ड और हार्डकोडेड क्रेडेंशियल-x): प्रमाणीकरण टोकन निष्कर्षण, सत्यापन और पेलोड निरीक्षण-F): कॉन्फ़िगरेशन विश्लेषण, API कुंजियाँ और डेटाबेस URL पहचानउन्नत विश्लेषण:
-P): छिपे फॉर्म पैरामीटर, चर और कॉन्फ़िगरेशन कुंजियाँ-PU): पूर्ण URL संदर्भ के साथ उन्नत पैरामीटर विश्लेषण-g): स्कीमा पहचान, क्वेरी निष्कर्षण और एंडपॉइंट खोज-B): सुरक्षा बायपास पैटर्न और परिहार तकनीकेंदायरा और संदर्भ:
-i): निजी/आंतरिक संसाधन पहचान और वर्गीकरण-L): व्यापक URL निष्कर्षण और संबंध मानचित्रण: व्यापक विश्लेषण के लिए फ़्लैग संयोजित करें (जैसे, )
मुख्य आउटपुट प्रारूप:
-o): व्यापक परिणाम कस्टम फ़ाइल स्थानों पर सहेजें-j): स्वचालन और प्रोग्रामेटिक प्रोसेसिंग के लिए संरचित डेटा प्रारूप-C): कार्यकारी रिपोर्टिंग और विश्लेषण के लिए स्प्रेडशीट-संगत प्रारूपपेशेवर एकीकरण:
-n): तत्काल परीक्षण के लिए Burp Suite Professional के साथ सीधा एकीकरण-r): लक्षित परिणाम फ़िल्टरिंग के लिए कस्टम पैटर्न मिलान-v): डिबगिंग जानकारी और संदर्भ के साथ विस्तृत विश्लेषण आउटपुटपरिणाम प्रबंधन:
--found-only): केंद्रित सुरक्षा रिपोर्टिंग के लिए खाली परिणाम छिपाएँ-q): स्वचालित स्क्रिप्टिंग और CI/CD एकीकरण के लिए बैनर दबाएँरिपोर्टिंग वर्कफ़्लो: स्वचालन के लिए JSON, प्रबंधन रिपोर्ट के लिए CSV, तत्काल परीक्षण के लिए Burp निर्यात का उपयोग करें : (संरचित सुरक्षा रिपोर्ट)
go install -v github.com/cc1a2b/jshunter/cmd/jshunter@latest
jshunter --help
### स्रोत से बिल्ड करें```bash
git clone https://github.com/cc1a2b/jshunter.git
cd jshunter
go build -o jshunter ./cmd/jshunter
jshunter -u "https://example.com/app.js"
jshunter -l urls.txt
jshunter -f app.js
### पूर्ण सुरक्षा विश्लेषण```bash
# Find API keys, secrets, and credentials
jshunter -u "https://target.com/app.js" -s
# Full analysis with deobfuscation, GraphQL, and Firebase detection
jshunter -u "https://target.com/app.js" -d -s -g -F -x -L
# Professional security assessment with all tools
jshunter -u "https://target.com/app.js" -d -m -e -s -x -P -g -F -B -L
# Export comprehensive results for reporting
jshunter -l targets.txt -s -g -F -j -o security_findings.json
---```bash
jshunter -u "https://example.com/app.js"
jshunter -l urls.txt
cat urls.txt | grep ".js" | jshunter
jshunter -u "https://example.com/app.js" -s -x -F
jshunter -u "https://target.com/app.js" -d -m -e -s -x -P -g -F -B -L
jshunter -u "https://target.com/bundle.js" -d -m -s -g -F
jshunter -l targets.txt -s -x -F -g -j -o security_findings.json
jshunter -l targets.txt -p 127.0.0.1:8080 -s -g -F -n -o burp_findings.txt
jshunter -l targets.txt -p socks5://127.0.0.1:9050 -s -x -F
jshunter -l urls.txt -R 2000 -H "Authorization: Bearer token" -s -x -F -g -q
jshunter -l urls.txt -ep -P -PU -L -w 2
jshunter -f obfuscated.js -d -z -e -s -v
---
## कमांड संदर्भ
किसी भी समय `jshunter --help` के साथ पूरी सहायता प्राप्त करें```
Usage:
-u, --url URL Input a URL
-l, --list FILE.txt Input a file with URLs (.txt)
-f, --file FILE.js Path to JavaScript file
--har FILE Ingest a Chrome DevTools HAR archive
Basic Options:
-t, --threads INT Number of concurrent threads (default: 5)
-c, --cookies <cookies> Authentication cookies for protected resources
-p, --proxy host:port HTTP/SOCKS5 proxy (e.g., 127.0.0.1:8080 for Burp Suite)
-q, --quiet Suppress ASCII art output
--no-color Disable ANSI color (auto-off when not a TTY)
-o, --output FILENAME Output file path
-r, --regex <pattern> RegEx for filtering results
--update, --up Update the tool to latest version
-ep, --end-point Extract endpoints from JavaScript files
-k, --skip-tls Skip TLS certificate verification
-fo, --found-only Only show results when sensitive data is found
HTTP Configuration:
-H, --header "Key: Value" Custom HTTP headers (repeatable, including Auth)
-U, --user-agent UA Custom User-Agent string or file path
-R, --rate-limit MS Request rate limiting delay (milliseconds)
-T, --timeout SEC HTTP request timeout (seconds)
-y, --retry INT Retry attempts for failed requests (default: 2)
--per-host INT Per-host outbound concurrency cap (default: 4)
--max-bytes N Cap response body read in bytes (default: 32MiB)
--allow-internal Permit localhost / RFC1918 / link-local targets
--cache-dir DIR Persist responses on disk; revalidate via ETag
JavaScript Analysis:
-d, --deobfuscate Deobfuscate minified and obfuscated JavaScript
-m, --sourcemap Fetch and parse source maps + sourcesContent[]
-e, --eval Analyze dynamic code execution (eval, Function)
-z, --obfs-detect Detect code obfuscation patterns and techniques
--inline-html Scan inline <script> tags + SRI/CSP in HTML responses
--csp-origins Emit CSP-allowed origins as candidate endpoints
Security Analysis:
-s, --secrets Detect API keys, tokens, and credentials
-x, --tokens Extract JWT and authentication tokens
-P, --params Discover hidden parameters and variables
-PU, --param-urls Advanced parameter extraction with URL context
-i, --internal Filter for internal/private endpoints
-g, --graphql Analyze GraphQL endpoints and queries
-B, --bypass Detect WAF bypass patterns and techniques
-F, --firebase Analyze Firebase configurations and keys
-L, --links Extract and analyze all embedded links
Detection Tuning:
-mc, --min-confidence FLOAT Minimum confidence (0.0-1.0) for a finding (default: 0.50)
-sc, --show-confidence Print [conf=X.XX] alongside each finding
--no-fp-filter Disable the false-positive filter (debug)
--ignore-file FILE Permanent suppressions (.jshunterignore)
--diff PREVIOUS.json Report only NEW findings vs previous JSON envelope
--rules-file FILE.json Load an external JSON rule pack
--only-rules id,glob Run only matching rules (supports * glob)
--disable-rule id,glob Disable matching rules (supports * glob)
Verification:
--verify Probe findings against provider read-only endpoints
--verify-timeout SEC Timeout per verification probe (default: 10)
--verify-workers INT Concurrent verifier worker pool (default: 8)
Scope & Discovery:
-w, --crawl DEPTH Recursive JavaScript discovery depth (default: 1)
-D, --domain DOMAIN Limit analysis to specific domain
-E, --ext Filter by JavaScript file extensions
--robots Fetch /robots.txt for each input host and exit
Output Formats:
-j, --json Structured JSON output (schema_version 2)
--ndjson Newline-delimited JSON (jq / SIEM streaming)
--sarif SARIF 2.1.0 (GitHub code-scanning compatible)
-C, --csv CSV format for spreadsheet analysis
-v, --verbose Detailed analysis and debug output
-n, --burp Burp Suite compatible export format
--stats Per-stage counters on stderr at end of run
Registry:
--list-rules Print the rule registry as a table and exit
--explain RULE_ID Print full rule details and exit
--self-test Run rule registry against built-in TP/FP fixtures
-h, --help Display this help message
हर सीक्रेट-क्लास मैच को [0.0, 1.0] में स्कोर किया जाता है। स्कोर प्रति-नियम पूर्व (prior) से शुरू होता है और इसे निम्न द्वारा समायोजित किया जाता है:
डिफ़ॉल्ट --min-confidence 0.50 केवल-पैटर्न मैचों की लंबी पूंछ को फ़िल्टर कर देता है। उच्च-परिशुद्धता ट्राइएज के लिए --min-confidence 0.80 उपयोग करें, कच्चे, अनफ़िल्टर्ड आउटपुट के लिए --no-fp-filter उपयोग करें।
वैलिडेटर एक प्रति-नियम स्थिरता जांच है जो रेगेक्स मैच के बाद चलती है।
यह झूठी सकारात्मकता के खिलाफ सबसे मजबूत सुरक्षा है: एक यादृच्छिक स्ट्रिंग जो
आकार में फिट हो जाती है, उसे रिपोर्ट किए जाने से पहले चेकसम, संरचनात्मक डिकोड,
या लंबाई/कैरेक्टरसेट प्रमाण से गुजरना ही पड़ता है (और पास करने पर +0.10 जुड़ता है)।
क्यूरेटेड रजिस्ट्री 85+ डिटेक्टर के साथ आती है जो क्लाउड और सीक्रेट मैनेजर
(AWS, Azure, GCP/PKCS#8, HashiCorp Vault, Terraform, Fly.io, Tailscale), वर्ज़न
कंट्रोल और CI/CD (GitHub, GitLab, Docker Hub, Atlassian, Sentry, CircleCI,
Buildkite), भुगतान (Stripe, Square, Braintree, Plaid), AI/LLM प्रदाता
(OpenAI, Anthropic, Groq, Perplexity, Replicate, OpenRouter, Fireworks,
HuggingFace), मैसेजिंग (Slack, Discord, Telegram, Twilio, Intercom, SendGrid,
Mailgun), SaaS और डेटाबेस (Notion, Airtable, Figma, Postman, Databricks,
PlanetScale, Grafana, New Relic, Dropbox, RubyGems, Supabase), और PKI सामग्री
(RSA/EC/DSA/OpenSSH/PGP/PKCS#8 प्राइवेट की, PuTTY .ppk, डेटाबेस कनेक्शन
URI) को कवर करती है। प्रामाणिक तालिका के लिए jshunter --list-rules चलाएँ और
किसी भी एक नियम के पैटर्न, वैलिडेटर और फिक्स्चर के लिए
jshunter --explain <rule_id> चलाएँ। प्रीफ़िक्स-रहित "बेयर हैश" आकार केवल तभी
शामिल किए जाते हैं जब कोई संरचनात्मक वैलिडेटर या अनिवार्य संदर्भ गेट उन्हें
झूठी-सकारात्मकता-मुक्त रख सके।
jshunter -l targets.txt -d -m -e -z -s -x -P -PU -g -F -B -L -j -v -o complete_assessment.json
jshunter -l targets.txt -d -m -z -e -s -g -F --found-only -o deobfuscated_findings.json
jshunter -l targets.txt -R 2000 -U "Mozilla/5.0..." -H "X-Forwarded-For: 1.1.1.1" -s -x -F -q
jshunter -l targets.txt -p 127.0.0.1:8080 -s -x -g -F -B -n -o burp_comprehensive.txt
jshunter -l targets.txt -ep -P -PU -L -w 3 -i -j -o endpoint_discovery.json
### एंटरप्राइज़ और ऑटोमेशन एकीकरण```bash
# CI/CD Security Pipeline Integration
jshunter -f dist/bundle.js -d -s -x -F -j --found-only > security-scan.json
# Comprehensive automated security reporting
jshunter -l production-js.txt -d -s -x -P -g -F -B -C -o enterprise-security-report.csv
# Source map analysis for development security
jshunter -f app.js -m -s -x -F -v -o sourcemap-analysis.json
# Firebase and GraphQL focused assessment
jshunter -l targets.txt -g -F -L -j -o api_security_findings.json
हम योगदान का स्वागत करते हैं! आप इस प्रकार मदद कर सकते हैं:
git clone https://github.com/cc1a2b/jshunter.git cd jshunter go mod tidy go build -o jshunter ./cmd/jshunter
## लाइसेंस
JSHunter **MIT लाइसेंस** के अंतर्गत जारी किया गया है। विवरण के लिए [LICENSE](https://github.com/cc1a2b/jshunter/blob/master/LICENSE) देखें।```
Copyright (c) 2024-2026 Hussain Alsharman
Licensed under MIT License - free for commercial and personal use
यदि JSHunter आपके सुरक्षा अनुसंधान या पेशेवर कार्य में सहायक है:
इस रिपॉजिटरी को स्टार करें • @cc1a2b को फॉलो करें • दूसरों के साथ साझा करें
JSHunter - पेशेवर JavaScript सुरक्षा विश्लेषण
सुरक्षा समुदाय के लिए cc1a2b द्वारा निर्मित
सुरक्षा पेशेवर सुविधाएँ: पेनेट्रेशन परीक्षण और सुरक्षा मूल्यांकन के लिए डिज़ाइन किया गया उदाहरण:
jshunter -l targets.txt -p 127.0.0.1:8080 -H "Authorization: Bearer token" -R 1000
jshunter -u target.js -s -x -F -gjshunter -l targets.txt -s -j -o security-findings.json| सिग्नल | प्रभाव |
|---|
| स्रोत पथ वेंडर/चंक बंडल जैसा दिखता है | −0.15 |
| आस-पास का संदर्भ फिक्स्चर शब्दावली रखता है | −0.30 |
| प्रदाता-विशिष्ट वैलिडेटर पास हुआ | +0.10 |
| आवश्यक संदर्भ कीवर्ड मौजूद (जेनेरिक नियम) | +0.05 |
| शैनन एन्ट्रॉपी ≥ 4.5 | +0.05 |
| कैरेक्टर-क्लास विविधता ≥ 3 | +0.05 |
| वेंडर-नॉइज़ डेनीलिस्ट में मैच | स्कोरिंग से पहले हटा दिया गया |
| लंबाई / एन्ट्रॉपी नियम की निचली सीमा से नीचे | स्कोरिंग से पहले हटा दिया गया |
पंक्ति //# sourceMappingURL= मार्कर है | स्कोरिंग से पहले हटा दिया गया |
| प्रदाता | वैलिडेटर |
|---|
| AWS | प्रीफ़िक्स फ़ैमिली (AKIA/ASIA/A3T…) + 16-कैरेक्टर base32 बॉडी |
| Stripe | की फ़ैमिली (sk/rk/pk_live/test_) और whsec_ वेबहुक base62 बॉडी |
| GitHub | CRC32 base62 चेकसम यादृच्छिक बॉडी के खिलाफ सत्यापित |
| OpenAI | फ़ैमिली प्रीफ़िक्स + लंबाई विंडो (sk-/sk-proj-/sk-svcacct-) |
| Slack | हाइफ़न-सेगमेंट आकार (संख्यात्मक आंतरिक सेगमेंट, अल्फ़ान्यूमेरिक टेल) |
| JWT | base64url-डिकोडेड JSON हेडर alg फ़ील्ड के साथ + JSON पेलोड |
| Twilio | 32-हेक्स बॉडी + एन्ट्रॉपी गेट |
| Azure | AccountKey= base64 बॉडी ठीक 64 बाइट्स में डिकोड होती है; AD …<digit>Q~… |
| Telegram | <8-10 अंक id>:AA… विभाजन, base64url सीक्रेट + एन्ट्रॉपी गेट |
| Intercom | base64 tok:-प्रीफ़िक्स्ड पेलोड में डिकोड होता है |
| Sentry | sntrys_ ऑर्ग टोकन पेलोड base64-डिकोड होकर url क्लेम वाले JSON में |
| Terraform | <14>.atlasv1.<60-70> तीन-सेगमेंट संरचना |
| Square | sq0atp-/sq0csp-/sq0idp- फ़ैमिली + सटीक बॉडी लंबाई + एन्ट्रॉपी |
| Braintree | access_token$<env>$<16 base36>$<32 hex> चार-सेगमेंट संरचना |
| Airtable | pat<14>.<64 hex> दो-सेगमेंट विभाजन |
| Postman | PMAK-<24 hex>-<34 hex> सेगमेंट लंबाई + एन्ट्रॉपी |
| Database | कनेक्शन-URI पासवर्ड अस्वीकृत यदि टेम्पलेटेड/डिफ़ॉल्ट/कम-एन्ट्रॉपी |