hunt-broken-function-level-auth

Detect broken function-level authorization via HTTP verb drift, route shadowing, and transport gaps.

6|Updated Jan 31, 2026
One-click install
npx skills add https://github.com/Wyl-cmd/kxns-cli --skill hunt-broken-function-level-auth-wyl-cmd
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: hunt-broken-function-level-auth
Source: https://github.com/Wyl-cmd/kxns-cli/tree/main/src/kxns_cli/skills/hunt-broken-function-level-auth
Command: npx skills add https://github.com/Wyl-cmd/kxns-cli --skill hunt-broken-function-level-auth-wyl-cmd

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? APIs often enforce authorization at the controller or middleware level, leaving admin actions exposed through alternate HTTP methods, legacy routes, or non-REST transports. This Skill provides a systematic procedure to find endpoints where low-privilege users can invoke admin-only functions. ## Core Features & Use Cases - HTTP Verb Drift Testing: Probe admin endpoints with GET, POST, PUT, PATCH, DELETE, and custom methods like PURGE or DEBUG to find methods lacking role checks. - Route Shadowing & Feature Flag Discovery: Enumerate legacy, beta, and versioned route prefixes with curl and ffuf, and test feature-flag headers that may unlock admin functionality. - Transport Protocol Inconsistency Checks: Compare authorization enforcement across REST, GraphQL mutations, WebSocket messages, and gRPC reflection. - Use Case: During an authorized API penetration test, a tester discovers that DELETE on /api/admin/users returns 403 for normal users, but the same action via a GraphQL mutation succeeds, revealing a function-level authorization flaw. ## Quick Start Test the target API's admin endpoints for broken function-level authorization by probing alternate HTTP methods, legacy routes, and GraphQL mutations with a low-privilege account.

Frequently Asked Questions about hunt-broken-function-level-auth

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

FAQPage Schema
How do I test for broken function-level authorization in an API?

Send requests to admin endpoints using every HTTP method (GET, POST, PUT, PATCH, DELETE) with a low-privilege account and compare status codes. A method that performs the admin action instead of returning 403 indicates missing function-level authorization.

What is the difference between BFLA and IDOR?

BFLA targets action-level authorization, where a user invokes admin functions despite lacking the admin role. IDOR targets object-level authorization, where a user accesses another user's data. A GraphQL deleteUser mutation on other users' objects is IDOR, not BFLA.

What tools are needed to test HTTP verb drift?

Verb drift testing requires curl to send requests with different HTTP methods including custom ones like PURGE or DEBUG. Route shadowing discovery additionally uses ffuf with a wordlist of route prefixes to enumerate legacy or hidden API paths.

Does a 405 Method Not Allowed response indicate an authorization flaw?

No, a 405 response means the method does not exist on that endpoint and is not a finding. The method must exist and actually perform the privileged action without proper role checks to qualify as broken function-level authorization.

Can GraphQL and WebSocket endpoints bypass REST authorization middleware?

Yes, GraphQL mutations, WebSocket messages, and gRPC methods may skip REST middleware authorization checks. Verify by performing the same privileged action over both transports and confirming the non-REST path succeeds while REST returns 403.