Definición
API Discovery es el proceso continuo de identificar todos los endpoints API que existen en la infraestructura de una organización, estén documentados o no. Responde a la pregunta fundamental: “¿Qué APIs tenemos realmente ejecutándose en producción?”
El descubrimiento es crítico porque las organizaciones rara vez tienen inventarios precisos de sus APIs. Según investigación de la industria, el 50% de las organizaciones no saben cuántas APIs tienen en producción. Esta brecha entre APIs documentadas y APIs realmente desplegadas crea puntos ciegos de seguridad, riesgos de cumplimiento y confusión arquitectónica.
API Discovery usa tres enfoques complementarios: análisis de tráfico (observando requests de red), escaneo de código (analizando código fuente e infraestructura), y escaneo de infraestructura (examinando recursos desplegados). Juntas, estas técnicas revelan Shadow APIs, APIs Zombie y endpoints olvidados que eluden la documentación oficial.
Ejemplo
La Auditoría de la Plataforma de Salud
Una empresa de salud creía que tenían 127 APIs documentadas. Durante un ejercicio de API Discovery:
Análisis de Tráfico: Los logs del API Gateway revelaron 189 endpoints únicos recibiendo requests Escaneo de Código: El análisis del repositorio de GitHub encontró 214 rutas API definidas en código Escaneo de Infraestructura: El escaneo de Kubernetes y Lambda descubrió 231 funciones desplegadas
Resultado: Realmente tenían 231 APIs, incluyendo:
- 47 Shadow APIs (nunca documentadas)
- 23 APIs Zombie (documentadas pero propietarios se fueron)
- 34 endpoints de debug/internos expuestos accidentalmente
Sin API Discovery, estas 104 APIs no documentadas representaban superficie de ataque desconocida y violaciones de cumplimiento (procesando datos de pacientes sin logging de HIPAA).
Analogía
La Inspección Arqueológica: Imagina inspeccionar una ciudad antigua. Tienes mapas viejos (documentación), pero no sabes si son precisos. Así que usas tres técnicas:
- Fotografía aérea (análisis de tráfico) - Ver qué caminos realmente tienen huellas
- Radar de suelo (escaneo de código) - Detectar cimientos enterrados de edificios
- Excavación física (infraestructura) - Desenterrar lo que realmente está ahí
Descubres calles que no están en los mapas, edificios que los mapas dicen que existen pero no, y ruinas que nadie conocía. API Discovery hace lo mismo para tu infraestructura.
El Censo: Los gobiernos no confían en datos de población autorreportados—conducen censos reales, yendo puerta a puerta contando residentes. API Discovery es el censo para tu infraestructura, contando activamente lo que existe en lugar de confiar en la documentación.
Código de Ejemplo
1. Enfoque de Análisis de Tráfico:
# Analizar logs de API Gateway para encontrar todos los endpoints accedidos
cat api-gateway.log | grep "HTTP/1.1" | awk '{print $7}' | sort -u > actual-endpoints.txt
# Comparar con APIs documentadas
comm -23 actual-endpoints.txt documented-endpoints.txt > shadow-apis.txt
# Resultado: 47 endpoints en shadow-apis.txt no en documentación
2. Enfoque de Escaneo de Código:
# Encontrar todas las definiciones de rutas Express en el código
grep -r "app\.get\|app\.post\|app\.put\|app\.delete" --include="*.js" . \
| grep -oP '["'\'']\/api\/[^"'\'']+' \
| sort -u > code-endpoints.txt
# Encontrar decoradores de ruta de FastAPI
grep -r "@app\.\(get\|post\|put\|delete\)" --include="*.py" . \
| grep -oP '["'\'']\/api\/[^"'\'']+' \
| sort -u >> code-endpoints.txt
# Comparar con endpoints documentados
comm -23 code-endpoints.txt documented-endpoints.txt > undocumented-in-code.txt
3. Enfoque de Escaneo de Infraestructura:
# Escanear servicios de Kubernetes por puertos expuestos
kubectl get services -A -o json \
| jq -r '.items[] | select(.spec.type=="LoadBalancer" or .spec.type=="NodePort")
| "\(.metadata.name):\(.spec.ports[].port)"' > k8s-exposed.txt
# Escanear funciones Lambda de AWS
aws lambda list-functions \
| jq -r '.Functions[] | select(.Environment.Variables.API_ENDPOINT)
| .FunctionName' > lambda-apis.txt
# Escanear servicios de Google Cloud Run
gcloud run services list --format="value(name,url)" > cloudrun-apis.txt
Diagrama
graph TB
A[API Discovery] --> B[Análisis de Tráfico]
A --> C[Escaneo de Código]
A --> D[Escaneo de Infraestructura]
B --> B1[Logs de API Gateway]
B --> B2[Logs de Load Balancer]
B --> B3[Logs de WAF]
C --> C1[Repositorios Git]
C --> C2[Código Fuente]
C --> C3[Templates IaC]
D --> D1[Kubernetes]
D --> D2[Lambda/Cloud Functions]
D --> D3[Servicios Cloud]
B1 --> E[Inventario Consolidado]
B2 --> E
B3 --> E
C1 --> E
C2 --> E
C3 --> E
D1 --> E
D2 --> E
D3 --> E
E --> F[Comparar con Documentación]
F --> G[Encontrar Shadow APIs]
F --> H[Encontrar APIs Zombie]
F --> I[Encontrar APIs Huérfanas]
style A fill:#bbdefb
style E fill:#c8e6c9
style F fill:#fff9c4
style G fill:#ffcdd2
style H fill:#ffcdd2
style I fill:#ffcdd2
Notas de Seguridad
CRÍTICO - API Discovery es la base de la seguridad de APIs. No puedes asegurar lo que no sabes que existe.
Por Qué el Descubrimiento Importa para Seguridad:
- Mapeo de superficie de ataque: Entender todos los puntos de entrada que los atacantes pueden apuntar
- Gestión de vulnerabilidades: No puedes parchear endpoints que no conoces
- Auditoría de cumplimiento: GDPR, HIPAA, SOC2 requieren saber qué datos procesan las APIs
- Respuesta a incidentes: Durante brechas, necesitas inventario completo de APIs inmediatamente
- Implementación Zero Trust: “No confiar en nada” requiere conocer todo lo que existe
El Descubrimiento Revela:
- APIs sin autenticación (riesgo crítico inmediato)
- APIs procesando PII sin logging apropiado (violación de cumplimiento)
- APIs deprecadas que siguen recibiendo tráfico (vulnerabilidades potenciales)
- SDKs de terceros haciendo llamadas externas no autorizadas (fuga de datos)
Mejor Práctica: Ejecutar API Discovery continuamente (diario o semanalmente), no solo durante auditorías. Las APIs aparecen constantemente en entornos modernos de CI/CD.
Comparación de Enfoques de Descubrimiento
| Enfoque | Pros | Contras | Mejor Para |
|---|---|---|---|
| Análisis de Tráfico | Ve uso real, encuentra endpoints expuestos | Pierde APIs sin usar, requiere acceso a logs | Sistemas de producción con buen logging |
| Escaneo de Código | Encuentra APIs antes del despliegue | Pierde endpoints generados en runtime | Organizaciones con acceso a todos los repos |
| Infraestructura | Vista completa de despliegues | Se necesitan herramientas específicas de cloud | Entornos multi-cloud |
| Combinado | Más completo | Más complejo de implementar | Organizaciones críticas en seguridad |
Errores Comunes
Error 1: Descubrimiento de una sola vez Las APIs se crean diariamente en entornos modernos. Una auditoría de una sola vez encuentra lo que existía ese día. El descubrimiento debe ser continuo para ser efectivo.
Error 2: Depender de un solo método El análisis de tráfico pierde APIs sin usar. El escaneo de código pierde rutas generadas dinámicamente. El escaneo de infraestructura pierde APIs detrás de proxies. Usa los tres enfoques.
Error 3: Sin proceso de seguimiento Descubrir 50 Shadow APIs es inútil sin un proceso de triage: ¿Cuáles son de alto riesgo? ¿Quién las posee? ¿Cuál es el plan de remediación?
Error 4: Asumir que los desarrolladores se auto-reportarán “Por favor registra tus APIs en el catálogo” no funciona. El descubrimiento debe ser automatizado y forzado, no voluntario.
Herramientas de Descubrimiento
Open Source:
- Akto: Análisis de tráfico y descubrimiento de APIs desde logs
- OWASP ZAP: Escaneo activo para descubrir endpoints
- Nuclei: Escaneo basado en plantillas para endpoints API
- Spectral: Escaneo de código para definiciones de APIs y secretos
Empresariales:
- Salt Security: Descubrimiento continuo de APIs vía análisis de tráfico
- 42Crunch: Plataforma de seguridad de APIs con funciones de descubrimiento
- Traceable AI: Descubrimiento de APIs y evaluación de riesgo con ML
- Noname Security: Descubrimiento e inventario de APIs en tiempo real
Cloud-Native:
- Azure API Center: Inventario y gobernanza de APIs de Microsoft
- AWS API Gateway: Logging y analytics integrados
- Google Apigee: Gestión de APIs con funciones de descubrimiento
Enfoque DIY:
- Agregación de logs: ELK Stack, Splunk, Datadog para análisis de tráfico
- Escaneo de código: Scripts personalizados con grep/ripgrep
- Escaneo IaC: Parsear Terraform, CloudFormation, YAML de Kubernetes
Hoja de Ruta de Implementación
Fase 1: Descubrimiento Base (Semana 1-2)
- Exportar APIs documentadas de herramientas actuales (Swagger, Postman)
- Ejecutar análisis de tráfico en logs de API Gateway (últimos 30 días)
- Escanear repositorios de código principales por definiciones de rutas
- Documentar hallazgos: X documentadas, Y descubiertas, Z brecha
Fase 2: Mapeo de Infraestructura (Semana 3-4)
- Escanear clusters de Kubernetes por servicios expuestos
- Listar todas las funciones Lambda/Cloud con triggers HTTP
- Auditar load balancers y API gateways en la nube
- Cruzar referencias con hallazgos de Fase 1
Fase 3: Automatización (Semana 5-8)
- Configurar análisis automático de logs (ejecuciones diarias)
- Integrar escaneo de código en pipeline de CI/CD
- Programar escaneos de infraestructura (semanalmente)
- Crear dashboard mostrando: APIs documentadas vs descubiertas
Fase 4: Gobernanza (Mes 3+)
- Establecer proceso de triage para APIs recién descubiertas
- Asignar propietarios a todas las APIs (incluyendo Shadow APIs)
- Implementar requisitos de registro de APIs en CI/CD
- Monitorear nuevas Shadow APIs continuamente
Mejores Prácticas
- Automatizar todo: El descubrimiento manual no escala y queda desactualizado inmediatamente
- Combinar enfoques: Tráfico + Código + Infraestructura da imagen completa
- Ejecutar continuamente: Diario o semanal, no trimestral
- Triage por riesgo: No todas las Shadow APIs son iguales—priorizar por sensibilidad de datos y tráfico
- Arreglar la causa raíz: Descubrir Shadow APIs es paso 1; prevenir nuevas es paso 2
- Documentar todo: Mantener inventario vivo, no reportes estáticos
Herramienta de Evaluación
Comienza Aquí: Usa la Herramienta de Detección de Shadow APIs para:
- Evaluar la madurez de descubrimiento de APIs de tu organización
- Obtener enfoques de descubrimiento recomendados para tu arquitectura
- Estimar el esfuerzo requerido para inventario completo de APIs
- Identificar victorias rápidas para proyecto inicial de descubrimiento
Lectura Adicional
📚 Libro: “Cómo Identificar Shadow APIs Con Herramientas Open Source”
Guía completa para API Discovery con detalles prácticos de implementación:
Capítulos clave:
- Capítulo 3: Análisis de Tráfico para Descubrimiento de APIs (Akto, scripts personalizados)
- Capítulo 4: Estrategias de Escaneo de Código (GitHub, GitLab, Bitbucket)
- Capítulo 5: Escaneo de Infraestructura (Kubernetes, AWS, Azure, GCP)
- Capítulo 7: Construcción de un Pipeline Automatizado de Descubrimiento
- Capítulo 9: Matriz de Comparación de Herramientas (20+ herramientas evaluadas)