Escudo de Confusión de Audiencia OAuth
detect_oauth_audience_confusion_riskAnaliza el código fuente del VERIFICADOR PROPIO de tokens OAuth/JWT de un servidor con más profundidad que detect_token_passthrough_risk (que solo mira si "audience"/"aud" aparece cerca, una señal superficial): detecta cuando esa validación SÍ existe pero está rota de forma sutil — (1) condicionada a una bandera de configuración (config.checkAudience, options.strictMode) que puede estar desactivada; (2) su rama de "no coincide" solo registra una advertencia en vez de rechazar la petición (throw/return/res.status); o (3) un bloque catch() silencia el error que la librería ya lanzó al detectar la discrepancia — y también detecta (4) la ausencia total de cualquier chequeo de audiencia en el verificador. En los tres primeros casos el código "tiene" una validación que un lector apurado asumiría que funciona, pero que en la práctica deja pasar un token emitido para otro servidor (confused deputy vía audiencia). El mismo patrón detrás de CVE-2026-14541. Es un análisis estático por patrones de texto (no ejecuta el código) — mismo enfoque que detect_token_passthrough_risk y detect_missing_auth_risk. Requiere una llave de acceso válida (usos gratis o créditos) — ver POST /crear-llave.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"codigo": "<codigo>"
},
"name": "detect_oauth_audience_confusion_risk"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| codigo | Yes | El código fuente del verificador de tokens OAuth/JWT del servidor, en texto plano. | |
| lenguaje | No | Solo informativo (ej. "javascript", "python") — la detección ya cubre varios lenguajes a la vez, este campo no cambia el resultado. |