hunt-spa-api

Extract backend API routes from SPA JavaScript bundles and test them for missing authentication.

Updated Sep 6, 2026
One-click install
npx skills add https://github.com/inventashif/helpful-code-sidekick --skill hunt-spa-api-inventashif
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: hunt-spa-api
Source: https://github.com/inventashif/helpful-code-sidekick/tree/main/scripts/hackerai/skills/bughunter/hunt-spa-api
Command: npx skills add https://github.com/inventashif/helpful-code-sidekick --skill hunt-spa-api-inventashif

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Single-page applications ship their entire backend API route map to the browser inside JavaScript bundles, and the APIs behind them frequently lack the authentication that the login page implies. This Skill guides you through discovering those hidden routes and testing them for broken access control during authorized security engagements. ## Core Features & Use Cases - Bundle Harvesting: Download and grep React, Vue, Angular, and Next.js bundles (including lazy-loaded async chunks) for API hosts, versioned route strings, and leaked secrets. - Unauthenticated Route Testing: Establish a gated control endpoint, then test every discovered route without an Authorization header to detect missing auth middleware, verbose errors, and client-supplied privilege flags like is_admin. - Use Case: During an authorized engagement against console.target.com, you pull the JS bundles, extract routes like account/payment/list, and find that api.target.com returns data with no token — proving an unauthenticated financial API that automated scanners missed. ## Quick Start Analyze the JavaScript bundles of the target SPA at console.target.com, extract its backend API routes, and test each route unauthenticated for broken access control.

Frequently Asked Questions about hunt-spa-api

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find hidden API endpoints in a React or Next.js app?

Download the JavaScript bundles referenced in the HTML shell and grep them for route strings, API hosts, and versioned paths like /api/v2. Minified bundles store routes as quoted string segments such as account/payment/list, so grep for resource-word patterns rather than full URLs.

How do I test an API for missing authentication?

Send each discovered route a request with no Authorization header and compare the response to a known gated control endpoint. A 200 with data, or a 400 reaching business-logic validation, indicates the route lacks an auth check.

Why does grepping for /api/v1 in JS bundles return nothing?

Minifiers store routes as concatenated string segments, not full URLs, so a naive /api/v* grep misses them. Grep for quoted resource-word strings like login or order/list and prepend the base path yourself.

Does a protected SSO login page mean the API is secure?

No. Frontend login enforcement says nothing about whether the backend API validates tokens on every route. Route groups frequently miss the auth middleware, so always test the API directly and unauthenticated.

What are the limits of SPA bundle API testing?

It only applies to authorized engagements and should stop at minimal proof of the missing auth check, never full data extraction. Found secrets like AIza keys must be validated before claiming impact, and write endpoints should never be used as proof.