exploiting-excessive-data-exposure-in-api

Detects excessive data exposure in API responses by scanning for sensitive fields and PII patterns.

4|Updated Apr 28, 2026
One-click install
npx skills add https://github.com/braydos-h/BreachPilot --skill exploiting-excessive-data-exposure-in-api-braydos-h
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: exploiting-excessive-data-exposure-in-api
Source: https://github.com/braydos-h/BreachPilot/tree/main/skills/exploiting-excessive-data-exposure-in-api
Command: npx skills add https://github.com/braydos-h/BreachPilot --skill exploiting-excessive-data-exposure-in-api-braydos-h

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires requests, and includes scripts (resource) and references (resource) components.

What problem does it solve? APIs often return more data than the client needs, relying on frontend filtering to hide sensitive fields like SSNs, password hashes, or internal identifiers. This Skill identifies those leaked fields by intercepting and analyzing API responses, mapping findings to OWASP API3:2023 Broken Object Property Level Authorization. ## Core Features & Use Cases - Sensitive Field Detection: Recursively scans JSON responses for sensitive field names (passwords, tokens, SSNs, credit cards) and PII regex patterns (emails, phone numbers, AWS keys, JWTs). - UI vs API Comparison: Diffs fields displayed in the frontend against fields actually returned by the API to surface excess data. - GraphQL & Debug Leak Testing: Probes GraphQL introspection for sensitive fields and checks error responses and headers for stack traces and internal data. - Use Case: During an authorized assessment of a mobile banking API, intercept responses with mitmproxy, run the analysis script against captured endpoints, and discover that /accounts returns routing numbers and SSN fragments never shown in the UI. ## Quick Start Run the agent script against an authorized API endpoint with a bearer token to scan its JSON response for sensitive fields and PII exposure.

Frequently Asked Questions about exploiting-excessive-data-exposure-in-api

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

FAQPage Schema
How do I test an API for excessive data exposure?▼

Intercept API responses with a proxy like Burp Suite or mitmproxy, then compare returned fields against what the UI displays. Scan responses for sensitive field names and PII regex patterns such as SSNs, credit cards, and password hashes.

What is OWASP API3:2023 Broken Object Property Level Authorization?▼

It is an OWASP API Security Top 10 category covering cases where APIs expose object properties users should not access. Excessive data exposure occurs when endpoints return full database objects and rely on client-side filtering instead of server-side field restriction.

Can this detect sensitive data in GraphQL APIs?▼

Yes. The workflow includes GraphQL introspection queries to enumerate all fields on types like User, then attempts to query sensitive fields such as passwordHash and mfaSecret to verify whether field-level authorization is enforced.

What tools are needed for API data leakage testing?▼

You need an intercepting proxy (Burp Suite Professional or mitmproxy), Python 3.10+ with the requests library, and two test accounts at different privilege levels. An OpenAPI specification helps compare documented versus actual response schemas.

Does HTTPS encryption prevent excessive data exposure?▼

No. HTTPS protects data in transit but not from the authenticated client itself. Any user with a valid session can intercept their own API traffic and read every field the server returns, including sensitive fields the UI hides.

When should I not use this testing approach?▼

Do not use it without written authorization specifying target endpoints and scope, since testing involves capturing potentially sensitive personal data. It also does not cover server-side authorization logic flaws like BOLA, which require separate object-level testing.