jxscout-security-research · git:20260529.8f6ea0e · 2026-05-29 · sha256 a02e45a32a1657cb
jxscout-security-research git:20260529.8f6ea0eA
Immutable. This exact content is served forever at /api/v1/blob/a02e45a32a1657cb.
--- name: jxscout-security-research description: Holistic guide for using jxscout capabilities together for vulnerability assessment -- routes to specific jxscout-* skills for static analysis, findings, bookmarks, repeater, custom analyzers, relationships, and setup. Use when starting a new target assessment, planning attack surface mapping, or understanding how jxscout tools fit together. license: proprietary metadata: source: jxscout-pro-v2 author: francisconeves97 origin: ported from jxscout-pro-v2 agent skills --- jxscout is a JS security analysis proxy -- intercepts traffic, ingests JS/HTML, runs static analyzers, reverses source maps, and maps client-side attack surface. Prerequisites: `JXSCOUT_PROJECT_NAME` env var must be set (from project `.env`). All CLI commands use `jxscout-pro-v2 -c` (client mode). ## Routing Table | Need | Skill | Key command | |---|---|---| | Query static analysis matches | `jxscout-static-analysis` | `jxscout-pro-v2 -c get-matches --match-kind <type>` | | Document a finding | `jxscout-findings` | `jxscout-pro-v2 -c create-finding` | | Bookmark interesting code | `jxscout-bookmarks` | `jxscout-pro-v2 -c bookmark create` | | Send/replay HTTP requests | `jxscout-repeater` | `jxscout-pro-v2 -c repeater <path>` | | Create custom analyzers | `jxscout-custom-analyzers` | edit `settings.jsonc` analyzer section | | Map asset relationships | `jxscout-relationships` | `jxscout-pro-v2 -c get-loaded-js-files <url>` | | Setup, settings, hooks | `jxscout-setup` | `jxscout-pro-v2 -c print-full-project-settings` | ## Research Workflow ### 1. Orient ```bash # Understand what traffic was captured ls http_requests/ # Check project settings jxscout-pro-v2 -c print-full-project-settings ``` ### 2. Enumerate attack surface ```bash # List all match kinds available jxscout-pro-v2 -c list-match-kinds --json # Get high-value matches jxscout-pro-v2 -c get-matches --match-kind secret --json --show-only-unseen jxscout-pro-v2 -c get-matches --match-kind onmessage --json --show-only-unseen jxscout-pro-v2 -c get-matches --match-kind path --json --show-only-unseen ``` **Checkpoint:** Record total unseen match counts per kind. Prioritize: secrets > sinks > onmessage > paths. ### 3. Triage matches For each match: read surrounding code, trace data flow, assess exploitability. - Sink with attacker-controlled input -> potential vulnerability, bookmark and investigate - Interesting pattern but no clear exploit -> bookmark as gadget for later chaining - False positive -> mark as seen: `jxscout-pro-v2 -c mark-matches-seen --match-ids 1,2,3` ### 4. Deep-dive interesting files ```bash # What JS runs on a specific page? jxscout-pro-v2 -c get-loaded-js-files https://target.com/app --json # Which pages load a vulnerable script? jxscout-pro-v2 -c get-js-file-loader-page /path/to/vulnerable.js --json ``` ### 5. Test and validate Use `jxscout-repeater` to replay/modify requests. Confirm findings with working PoCs. ### 6. Document Log confirmed findings via `jxscout-findings`. Bookmark key code patterns via `jxscout-bookmarks`. ### 7. Automate patterns If you spot a recurring pattern, create a custom analyzer via `jxscout-custom-analyzers`. Then retrigger: `jxscout-pro-v2 -c retrigger-events --subscriber analyzer` **Checkpoint:** After each investigation round, verify all reviewed matches are marked seen (`--show-only-unseen` should return only new/unreviewed items).