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.5.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.5-py3-none-any.whl (49.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jseye-1.0.5.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.5.tar.gz
Algorithm Hash digest
SHA256 a6971ba2556abea7e65f2cedf340d69cee6509d65a044f0b4c60531e49d0c44d
MD5 ad4635950a1f44cb62ca095e403192c4
BLAKE2b-256 699b49be85eba176e1d2fab57d3160b0653fc4f40a7c1501ab41ddf6d491ec1a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jseye-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 49.1 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ea028f96d01d1a7e2ad6c9b4a0b75d79cc87ce66dd4c17aef7e7bef249121a92
MD5 5508c6c90ff8d54732070a6610241aa4
BLAKE2b-256 2b684b0c3dbcad778bfe4052cdcaf99f897f666e251f4dde3c7e56272703971d

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