🔌 Honey API Endpoint
Fake REST/GraphQL endpoints on API Gateway.
What it is
An undocumented API route, such as an admin-looking or debug-looking path, that no legitimate client calls. Attackers probe APIs for hidden endpoints that skip normal checks. The route is backed by no real system, and any request to it is recorded in the API's access log.
Implementation requirements
- Add an undocumented route to a real API (an admin-looking or debug-looking path, or a decoy GraphQL field) that no legitimate client calls
- Back it with no real system: an API Gateway mock integration or a stub handler that returns a plausible 401 or fake data
- Monitoring: API Gateway access logs, Azure API Management gateway logs, or the application's own request log. Any request to the route alerts. WAF logs give a second, independent record
- Breadcrumbs (D040) such as a stale OpenAPI file or a client-side reference make the route discoverable
- Safety: no backend integration, and rate limits in place. OPSEC: headers, timing and error format identical to real routes
- Rollback: Remove the route and its mock integration. Remove breadcrumbs that point to it.
- Upkeep: Keep it in the API's deployment pipeline, so a redeploy does not silently drop it. Monthly proof-of-life request.
Technologies
ATT&CK coverage 10
| Technique | Tactic | Status | Confidence | Tier |
|---|---|---|---|---|
| T1105 Ingress Tool Transfer |
Command & Control | confirmed | strong | T2 |
| ↳ Detection point: seen once the attacker is working inside a high-fidelity decoy | ||||
↳ Evidence (2 sources)
| ||||
| T1526 Cloud Service Discovery |
Discovery | theoretical | moderate | T1 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (3 sources)
Moderate: discovering that a service exists does not necessarily touch a decoy resource in it. | ||||
| T1648 Serverless Execution |
Execution | theoretical | moderate | T2 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (2 sources)
Lambda Invoke is a data event: the decoy only fires if data-event logging is on for it. | ||||
| T1567 Exfiltration Over Web Service |
Exfiltration | theoretical | weak | T3 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (2 sources)
No evidence attackers exfiltrate to a webhook found in code; they use services they control. | ||||
| T1491 Defacement |
Impact | theoretical | weak | T2 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (2 sources)
Defacing decoy routes needs write access that would already have alerted. | ||||
| T1491.002 External Defacement |
Impact | theoretical | weak | T2 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (1 source)
Defacing a decoy property needs access that would already have alerted. | ||||
| T1499 Endpoint Denial of Service |
Impact | theoretical | weak | T1 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (1 source)
DoS against a decoy endpoint covers no real endpoint. | ||||
| T1133 External Remote Services |
Initial Access | confirmed | strong | T2 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (4 sources)
| ||||
| T1190 Exploit Public-Facing Application |
Initial Access | confirmed | strong | T2 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (5 sources)
| ||||
| T1671 Cloud Application Integration |
Persistence | theoretical | moderate | T3 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (2 sources)
Direct only when the attacker consents to, or adds credentials to, an existing decoy application; registering a new app touches no decoy. | ||||
Evidence
- Decoy Network Resource (D3-DNR) — MITRE D3FEND standard
- Application Layer Cyber Deception without Developer Interaction — Kahlhofer, M.; Rass, S., ADnD 2024 (arXiv:2405.12852) 2024 peer-reviewed
- MITRE Engage — adversary engagement matrix and ATT&CK mapping — MITRE 2022 standard
- MITRE ATT&CK Enterprise v20.0 — MITRE 2026 standard