gateway-layer-attribution

Determines whether API responses originate from the gateway or the upstream application.

7|4|Updated Jun 22, 2026
One-click install
npx skills add https://github.com/dbx0/skills --skill gateway-layer-attribution-dbx0
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gateway-layer-attribution
Source: https://github.com/dbx0/skills/tree/main/skills/methodology/triage/gateway-layer-attribution
Command: npx skills add https://github.com/dbx0/skills --skill gateway-layer-attribution-dbx0

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When testing APIs behind gateways like Kong, Envoy, or AWS API Gateway, identical-looking 401/403/404 responses can come from either the gateway or the upstream app, leading to opposite conclusions about whether a route exists, is protected, or is vulnerable. This Skill provides a methodology to attribute each response to the correct layer before interpreting it. ## Core Features & Use Cases - Layer signature identification: Recognize gateway-authored error bodies (Kong, Envoy, AWS API Gateway) versus application responses using body patterns, timing headers like x-kong-upstream-latency, and response timing. - Ungated route detection: Identify routes missing auth plugins by pairing suspected-ungated routes with known-gated control routes on the same prefix. - False-positive avoidance: Interpret application-layer 400/500 responses as proof of reach rather than rejection, and avoid misreading AWS API Gateway's "Missing Authentication Token" as an auth finding. - Use Case: During an authorized API assessment, you receive a 404 on a candidate endpoint. Use this Skill to determine whether the gateway has no such route or the app returned the 404, then decide whether to fuzz, recover parameters, or report an ungated route. ## Quick Start Analyze these captured API responses and tell me whether each came from the gateway or the upstream application, and whether any route is ungated.

Frequently Asked Questions about gateway-layer-attribution

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

FAQPage Schema
How do I tell if a 404 came from the API gateway or the application?

Check the error body and headers. Gateway 404s use terse uniform bodies like Kong's "no Route matched with those values" and lack upstream timing headers, while application 404s include app-specific error formats and headers like x-kong-upstream-latency proving the request was proxied upstream.

How to detect API routes missing authentication behind Kong or Envoy?

Probe candidate routes unauthenticated and look for application-layer responses with upstream timing headers such as x-kong-upstream-latency or x-envoy-upstream-service-time. Pair each suspected-ungated route with a known-gated route on the same prefix as a control to prove the auth plugin is absent rather than the endpoint being intentionally public.

What does "Missing Authentication Token" mean in AWS API Gateway?

It is AWS API Gateway's 404 response, not an authentication finding. It means no route matched the request, so it should not be reported as evidence that an endpoint exists or is protected.

Does a 400 or 500 error mean the API request was blocked?

No. An application-layer 400, 422, or 500 proves the gateway forwarded the request upstream, since only an app that received it can reject malformed input. Recover the real parameters from the client bundle or OpenAPI spec and retry to confirm the ungated route.

Why is fuzzing paths on a gateway-fronted API often wasted effort?

Gateways answer non-routes cheaply and uniformly, so wordlist fuzzing mostly measures the gateway rather than discovering app routes. Recovering the route list from the front-end bundle or mobile app first, then attributing each route, yields far more results.