How portswigger/js-link-finder works
BurpJSLinkFinder is a Burp Suite passive-scanning extension that examines eligible JavaScript responses, extracts endpoint-like links, displays them in its tab, and reports an informational scan issue. The README also documents excluding selected JS URLs and exporting the log. The source excerpt confirms scanner registration, filtering, UI setup, and issue creation; the extraction routine is truncated, so its internal response-to-parser wiring is shown only where supported.
Main entry points: FransLinkfinder.py JS URL filter
Components 12
Passive scanning
- Extension callbacks
FransLinkfinder.py - JS URL filter
FransLinkfinder.py
Link analysis
- URL analyser
FransLinkfinder.py - Regex parser
FransLinkfinder.py - Extracted links
UI and reporting
- Extension tab
FransLinkfinder.py - Results log
FransLinkfinder.py - Scan issue
FransLinkfinder.py
Other components
- Burp Suite
- HTTP response
- Extension user
- Exported text file
Connections 15
- Burp Suite → Extension callbacks: registers scanner
- Burp Suite → JS URL filter: submits response
- JS URL filter → URL analyser: accepts eligible JS
- JS URL filter → HTTP response: checks URL
- URL analyser → HTTP response: reads response
- URL analyser → Regex parser
- Regex parser → Extracted links: extracts links
- JS URL filter → Results log: appends results
- URL analyser → Results log: returns links
- JS URL filter → Scan issue: creates issue
- Scan issue → Burp Suite: returns issue
- Extension callbacks → Extension tab: adds suite tab
- Extension user → Extension tab: uses controls
- Extension user → Results log: requests export
- Results log → Exported text file: exports log