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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ค Author
Lakshmikanthan K (letchupkt)
- GitHub: @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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jseye-1.0.3.tar.gz.
File metadata
- Download URL: jseye-1.0.3.tar.gz
- Upload date:
- Size: 45.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6886e8e707b7056acdcf1c22d567d6541a05c82185c40985a0d12b6a154f1838
|
|
| MD5 |
407257b0fb43894e42f364e9537f643c
|
|
| BLAKE2b-256 |
41f2ffc119785570fcbacb27ab5ed340411bc048aea3c949376e17516e7f98ed
|
File details
Details for the file jseye-1.0.3-py3-none-any.whl.
File metadata
- Download URL: jseye-1.0.3-py3-none-any.whl
- Upload date:
- Size: 48.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3013a1e11ebeb41742298b985264e5e896ac7b1fd636cd28e51abb6a4ed544f9
|
|
| MD5 |
04e6bafeb9672f52e4fffbf63e058061
|
|
| BLAKE2b-256 |
17ce5318623eb350b1a9bffcdeb6337ed5472a358e45be1c41a5dc818d249ec6
|