← ClaudeAtlas

web-api-securitylisted

Metodología de pentest de APIs (REST/GraphQL) mapeada al OWASP API Security Top 10 (2023) — BOLA, broken auth, BOPLA, consumo de recursos, BFLA, abuso de flujos de negocio, SSRF, misconfiguration, inventario impropio y consumo inseguro de terceros. Úsala cuando el activo en scope exponga una API, rutas /api, swagger/openapi.json, un endpoint GraphQL o el backend de una app móvil. La usan los agentes api-recon (inventario) y api-exploit (explotación).
devPruebaDataunix/Data-Attack-Offensive-Tools · ★ 3 · API & Backend · score 66
Install: claude install-skill devPruebaDataunix/Data-Attack-Offensive-Tools
# Seguridad ofensiva de APIs (REST / GraphQL) — OWASP API Top 10 (2023) Las APIs son hoy el vector #1: el fallo casi nunca es la inyección clásica, sino la **autorización a nivel de objeto y de función**. Su prueba corroborable exige **múltiples identidades** (testing diferencial). Esta skill es la metodología; la ejecutan `api-recon` (inventario) y `api-exploit` (explotación). ## Cuándo usarla Tras descubrir una API en scope: rutas `/api`, `/v1`, `graphql`, `swagger`/`openapi.json`, `.well-known/`, cabeceras `Authorization: Bearer`, `Content-Type: application/json`, o el backend que consume una app móvil. Confirma alcance en `contracts/scope.json` antes de tocar nada. ## Fase 0 — Inventario (api-recon): la spec es el mapa Sin inventario no hay corroboración. Cosecha la spec publicada (`openapi.json`, `/v3/api-docs`, `swagger-ui`) o reconstrúyela desde tráfico (patrón `mitmproxy2swagger`/`APIClarity`). Enumera **todas las versiones** (`/v1` vs `/v2`, `/internal`, staging, backend-móvil → API9). GraphQL: fingerprint (`graphw00f`), introspección (`__schema`) o reconstrucción si está desactivada (`clairvoyance`, InQL). Deja endpoints/métodos/parámetros/esquema/tipo-de-auth estructurados en el target. ## Fase 1 — Identidades de prueba (el arnés diferencial) BOLA/BFLA/BOPLA **solo se corroboran con ≥2 identidades** que el programa autorice. Cárgalas en `identities[]` del engagement (referenciadas: el token/cookie va a `engagements/<id>/loot/`, nunca en claro — lo imponen `memo