Skip to main content

JavaScript Intelligence & Attack Surface Discovery Tool

Project description

JSEye ๐Ÿ‘๏ธ

See What JavaScript Hides

JSEye is a production-grade Python reconnaissance framework for deep JavaScript intelligence and attack surface discovery. Built for bug bounty hunters and security researchers who need comprehensive JavaScript analysis with minimal noise.

๐Ÿš€ Features

  • Fully Automatic: Default mode runs complete pipeline with zero configuration
  • Modular Design: Control execution with granular flags
  • Multi-Tool Integration: Orchestrates gau, waybackurls, hakrawler, katana, subjs, linkfinder, and mantra
  • Smart Prioritization: AI-powered JavaScript file ranking
  • Correlation Engine: Connects findings across multiple sources
  • Clean Terminal UX: Rich progress indicators and polished output
  • Linux-First: Optimized for Linux environments

๐Ÿ“ฆ Installation

From PyPI (Recommended)

pip install jseye

From Source

git clone https://github.com/letchupkt/jseye.git
cd jseye
pip install -e .

๐Ÿ› ๏ธ Requirements

JSEye automatically installs required tools on first run:

  • Go (for gau, waybackurls, hakrawler, katana, subjs, mantra)
  • Node.js (for AST analysis)
  • Python 3.10+ (for linkfinder and core functionality)

๐ŸŽฏ Usage

Default Mode (Full Pipeline)

# Run everything - this is the default behavior
jseye -i subdomains.txt -o output

Module Control Flags

# Stop after JavaScript discovery
jseye -i subs.txt -o output --js-only

# Skip secrets detection
jseye -i subs.txt -o output --no-secrets

# Only regex analysis (skip AST)
jseye -i subs.txt -o output --regex-only

# Skip AST analysis
jseye -i subs.txt -o output --skip-ast

# Skip sink detection
jseye -i subs.txt -o output --no-sinks

# Skip correlation engine
jseye -i subs.txt -o output --no-correlate

# Don't auto-install tools
jseye -i subs.txt -o output --no-install

Information Commands

# List available modules
jseye --list-modules

๐Ÿ”„ Pipeline

JSEye executes a comprehensive analysis pipeline:

subdomains.txt
    โ†“
๐Ÿ“ก URL Harvesting (gau, waybackurls, hakrawler, katana)
    โ†“
๐Ÿ” JavaScript Filtering & Prioritization
    โ†“
๐Ÿ“ฅ JavaScript Download
    โ†“
๐Ÿง  Regex Analysis
    โ†“
๐ŸŒณ AST Analysis
    โ†“
๐Ÿ”— LinkFinder Integration
    โ†“
๐Ÿ” Secrets Detection (mantra)
    โ†“
๐ŸŽฏ Sink Detection
    โ†“
๐Ÿ”„ Intelligence Correlation
    โ†“
๐Ÿ“Š Final Report

๐Ÿ“ Output Structure

output/
โ”œโ”€โ”€ harvested_urls.txt              # All discovered URLs
โ”œโ”€โ”€ js_files_all.txt               # All JavaScript files
โ”œโ”€โ”€ js_files_high_priority.txt     # High-value JS files
โ”œโ”€โ”€ js_files_medium_priority.txt   # Medium-value JS files
โ”œโ”€โ”€ js_files_low_priority.txt      # Low-value JS files
โ”œโ”€โ”€ js_files_detailed.json         # Detailed JS analysis
โ”œโ”€โ”€ endpoints.json                 # Discovered endpoints
โ”œโ”€โ”€ secrets.json                   # Found secrets
โ”œโ”€โ”€ sinks.json                     # Detected sinks
โ”œโ”€โ”€ correlation_report.json        # Correlated intelligence
โ””โ”€โ”€ jseye_summary.json            # Final summary

๐ŸŽจ Terminal Output

JSEye provides beautiful, informative terminal output:

โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—
โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ•šโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•
โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—   โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ• โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  
โ–ˆโ–ˆ   โ–ˆโ–ˆโ•‘โ•šโ•โ•โ•โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•    โ•šโ–ˆโ–ˆโ•”โ•  โ–ˆโ–ˆโ•”โ•โ•โ•  
โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—
 โ•šโ•โ•โ•โ•โ• โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•   โ•šโ•โ•   โ•šโ•โ•โ•โ•โ•โ•โ•

        JSEye โ€” See What JavaScript Hides
       Author: Lakshmikanthan K (letchupkt)

[+] Loading domains from subdomains.txt
[+] Harvesting URLs (gau, waybackurls, katana)
[+] Extracted 1,482 JavaScript files
[+] Prioritized 214 high-value JS files
[+] Analyzing JavaScript (regex + AST)
[+] Found 37 endpoints, 4 secrets, 9 sinks
[+] Correlating intelligence
[โœ“] Results saved to output/

โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ JSEye Summary โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
JS Files Analyzed : 214
Endpoints Found   : 37
Secrets Found     : 4
Sinks Found       : 9
High Confidence   : 11
Output Directory  : output/
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

๐Ÿง  Smart Features

JavaScript Prioritization

JSEye intelligently prioritizes JavaScript files based on:

  • High-value indicators: admin, api, auth, config, dashboard, login
  • File characteristics: non-minified, shorter paths, custom code
  • Vendor detection: deprioritizes common libraries and CDN files

Correlation Engine

Connects findings across multiple sources to reduce false positives and highlight high-confidence discoveries.

Auto-Installation

Automatically detects and installs missing tools on first run, with graceful fallbacks and clear error messages.

๐Ÿ”ง Advanced Configuration

Custom Regex Patterns

Edit jseye/data/regex.yaml to customize detection patterns for:

  • API endpoints
  • Secrets and tokens
  • DOM sinks
  • Custom patterns

Vendor Blacklist

Modify jseye/data/vendor_blacklist.txt to customize which JavaScript libraries are deprioritized.

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ‘ค Author

Lakshmikanthan K (letchupkt)

๐Ÿ™ Acknowledgments

  • Thanks to all the tool authors: gau, waybackurls, hakrawler, katana, subjs, linkfinder, mantra
  • Inspired by the bug bounty and security research community

JSEye - See what JavaScript hides. ๐Ÿ‘๏ธ

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jseye-1.0.6.tar.gz (45.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jseye-1.0.6-py3-none-any.whl (49.2 kB view details)

Uploaded Python 3

File details

Details for the file jseye-1.0.6.tar.gz.

File metadata

  • Download URL: jseye-1.0.6.tar.gz
  • Upload date:
  • Size: 45.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for jseye-1.0.6.tar.gz
Algorithm Hash digest
SHA256 03248884cfb4cc2242d74dc10bb319ee2466b9a046af3d7b159446a8e0c38e01
MD5 5e33d2035e918aae3d02e798533e488b
BLAKE2b-256 9035ff0541437896bd1bb0ff75d18ca5eac31df90c4f51d939328d267affae40

See more details on using hashes here.

File details

Details for the file jseye-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: jseye-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 49.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for jseye-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 38789cfa615078b859d46153d8b8ba4a59efaf7049daa5d378579b1092f22ca1
MD5 7b581a6c012181ff59997fb176a612b1
BLAKE2b-256 f06123f3021f38dab654928dc2e5c4118985ec23362b8fef13a57299069a0219

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page