Retrieve JavaScript code from a list of URLs while preserving its original location structure. When available, extract sourcemaps to obtain non-minified code, then beautify and deobfuscate all code. Analyze the code to discover hidden endpoints, generate custom path and parameter brute-force wordlists based on script content, and scan for vulnerabilities by identifying outdated dependencies, insecure code patterns, and exposed secrets.
Prepares code for manual review by downloading all files to a single location, extracting sourcemaps when available to obtain original, non-minified code.
Simplifies code review by beautifying and deobfuscating code, and applying transformations such as unpacking arrays and removing redundant proxy functions.
Extracts hidden endpoints and paths from the code, including parameters and request methods.
Generates a custom wordlist for path discovery based on identified endpoints.
Creates a custom wordlist for parameter discovery using found endpoints and variable names.
Checks for outdated dependencies and identifies associated CVEs when available.
Scans for a wide range of exposed secrets.
Analyzes code for insecure patterns and client-side vulnerabilities.
{"finding": "Potential exposed secret: URI","location": "https://cdn.example.com/assets/app.min.js","severity": "unknown","hostname": "cdn.example.com","domain_name": "example.com","method": "GET","matches": ["http://admin:password@example.com"]}{"finding": "Outdated JavaScript component: jquery 2.2.3","location": "https://example.com/script.js","severity": "medium","hostname": "example.com","domain_name": "example.com","method": "GET","matches": ["CVE-2015-9251","CVE-2019-11358","CVE-2020-11023","CVE-2020-11022"]}{"finding": "DOM Based XSS","location": "https://another-example.com/js/main.js","severity": "medium","description": "Detected possible DOM-based XSS. This occurs because a portion of the URL is being used to construct an element added directly to the page. For example, a malicious actor could send someone a link like this: http://www.some.site/page.html?default=<script>alert(document.cookie)</script> which would add the script to the page. Consider allowlisting appropriate values or using an approach which does not involve the URL.","hostname": "another-example.com","domain_name": "another-example.com","method": "GET","matches": ["line 27"]}
endpoints: JSONLines records of endpoint details, including parameters and request methods
path-wordlist: List of possible paths derived from identified endpoints
Copy
api/login/api/usersDashboard
parameter-wordlist: List of possible parameters derived from identified endpoints and variable names within the code
Copy
usernamepasswordidurlrole
code: Folder containing the downloaded and analyzed code, with files beautified, deobfuscated, simplified, and sourcemaps resolved where available.
Copy
code/├── example.com/│ └── app.js # Original source from resolved sourcemap├── cdn.example.com/│ ├── script.js # Beautified and deobfuscated version of the original minified script└── another-example.com/ └── main.js