MCPSeguridadCiberseguridad
NUEVO

MCP OAuth Phishing en VS Code: análisis técnico y contexto Junio 2026

El ataque MCP OAuth phishing explota el flujo de autenticación automática de VS Code. No hay vulnerabilidades — el protocolo funciona exactamente como fue diseñado. Un análisis del PoC, el contexto remoto, y la cascada de hallazgos de Junio 2026.

El Model Context Protocol (MCP) es el estándar abierto que permite a modelos de IA —Claude, GitHub Copilot, Gemini— interactuar con herramientas y servicios externos a través de una interfaz unificada. VS Code lo implementa en su totalidad: tools, prompts, resources, y autenticación OAuth 2.1.

Cuando un servidor MCP requiere autorización, VS Code ejecuta automáticamente todo el flujo de descubrimiento OAuth: lee los metadatos del servidor, descubre el authorization server, se registra dinámicamente, y abre el navegador para que el usuario complete el login. El usuario solo ve un clic en "Allow".

Este comportamiento no es un bug. Es la especificación funcionando exactamente como fue diseñada. Por eso es explotable.


El ataque: paso a paso

El PoC mcp-phish-poc (Hackfluency Labs, 2026) demuestra el ciclo completo del ataque en 342 líneas de TypeScript:

1. Víctima configura servidor MCP en VS Code (localhost o remoto)
2. VS Code envía POST /mcp → servidor responde 401 + WWW-Authenticate
3. VS Code descubre GET /.well-known/oauth-protected-resource
4. VS Code descubre GET /.well-known/oauth-authorization-server
5. VS Code se registra via POST /register (Dynamic Client Registration)
6. Usuario hace clic en "Allow"
7. VS Code abre navegador en GET /authorize → login Microsoft clonado
8. Víctima ingresa credenciales → POST /login → capturadas

La página de login

El servidor malicioso sirve una página de inicio de sesión de Microsoft visualmente indistinguible de la real: logo oficial, campos de correo y contraseña, enlaces a términos de uso y privacidad, favicons.

Página de inicio de sesión de Microsoft clonada por el servidor MCP malicioso
Página de inicio de sesión de Microsoft servida por el servidor MCP malicioso. Visualmente idéntica a la real.

Captura de credenciales

El servidor captura primero el correo electrónico y luego la contraseña en dos pasos separados, replicando el flujo real de Microsoft. Las credenciales se imprimen en la consola del atacante:

Página de contraseña de Microsoft clonada mostrando el email ya capturado
Página de contraseña. El email ya fue capturado en el paso anterior y se muestra al usuario.
████████████████████████████████████████████████████████
█  Email:    [email protected]
█  Password: SuperSecret123!
████████████████████████████████████████████████████████

De localhost a remoto

El PoC se ejecuta en 127.0.0.1:3000 para propósitos de demostración. Pero el mismo flujo funciona exactamente igual con un servidor remoto.

VS Code acepta cualquier URL HTTP en su configuración MCP (mcp.json):

{
  "servers": {
    "servicio-confiable": {
      "type": "http",
      "url": "https://servicio-atacante.com/mcp"
    }
  }
}

No hay verificación de origen. No hay restricción de dominio. No hay validación de que el servidor MCP y el authorization server sean la misma entidad. VS Code sigue el flujo especificado por el protocolo, y el protocolo no exige que el cliente verifique la identidad del authorization server que el servidor MCP le anuncia.

Un atacante puede:

  • Hostear el servidor malicioso en cualquier VPS o servicio cloud
  • Publicar un tutorial, blog post o lista de servidores MCP con su URL
  • Capturar credenciales cuando el flujo OAuth se dispare

No se necesita explotar ninguna vulnerabilidad. No hay CVE. No hay parche. El protocolo funciona exactamente como fue diseñado.


Junio 2026: contexto de seguridad MCP

Los meses anteriores a esta publicación acumularon hallazgos de seguridad en el ecosistema MCP que contextualizan el ataque.

31 Mar 2026 — Axios npm hijacked

Un actor norcoreano (UNC1069) comprometió la cuenta mantenedora del paquete Axios (>100M descargas semanales). Inyectó plain-crypto-js como dependencia maliciosa con un hook post-install que desplegó el backdoor WAVESHAPER.V2. El malware enumeró configuraciones de Claude Code, Claude Desktop, Cursor, VS Code Continue y Windsurf para inyectar servidores MCP maliciosos (Lorikeet Security, 2026).

19 Abr 2026 — mcp-remote RCE (CVSS 9.6)

La librería estándar para conectar clientes MCP remotos contenía una vulnerabilidad de command injection en el handshake OAuth. Por primera vez, un exploit MCP atacaba el cliente, no el servidor. El código malicioso se ejecutaba durante el handshake de transporte —antes de que cualquier tool schema existiera para ser analizado (MCPProxy Blog).

12 May 2026 — Claude Code token theft (Mitiga Labs)

El archivo ~/.claude.json almacena tokens OAuth en texto plano junto con la configuración de enrutamiento MCP. Mitiga Labs demostró un ataque en 5 pasos: paquete npm malicioso con hook post-install, reescritura de ~/.claude.json, redirección del tráfico MCP a un proxy atacante, captura de tokens OAuth, y persistencia con auto-recuperación tras rotación de tokens (Mitiga Labs). Anthropic clasificó el reporte como "fuera de alcance". No hay fix disponible.

2 Jun 2026 — CloudSEK: SSRF + LFI + AWS creds via MCP

Un server MCP sin autenticación permitió encadenar Server-Side Request Forgery contra AWS IMDS, Local File Inclusion para leer /proc/self/environ, y exfiltración de credenciales IAM y bases de datos (CloudSEK).

3 Jun 2026 — CVE-2026-41613: VS Code 1-click RCE (Oasis Security)

El diálogo de instalación MCP de VS Code mostraba 5 campos al usuario. Instalaba 5 campos ocultos adicionales, incluyendo variables de entorno y cabeceras HTTP. Un atacante podía inyectar NODE_OPTIONS con --import y una URL de JavaScript inline para ejecutar código arbitrario en la precarga. El payload nunca aparecía en la interfaz (Oasis Security). Misma vulnerabilidad, segundo ataque: cabeceras HTTP ocultas permitían secuestrar la sesión del asistente IA. Microsoft asignó CVE-2026-41613 y parcheó en VS Code 1.119.1.

3-4 Jun 2026 — GitHub zero-day: 3,700 repos exfiltrados

Ammar Askar publicó exploit code para una vulnerabilidad zero-day de VS Code que permite robar tokens OAuth de GitHub con un solo clic. El ataque explota el sistema de message-passing entre webviews sandboxed y el editor principal. El mismo día, TeamPCP utilizó esta técnica contra GitHub. La extensión Nx Console (versión 18.95.0) fue comprometida y publicada en el Visual Studio Marketplace. Ventana de exposición: 18 minutos. Resultado: ~3,800 repositorios internos exfiltrados (OSSPREY).

La línea de tiempo completa

FechaHallazgoTipoCVSSEstado
Mar 31Axios npm hijack (UNC1069)Supply chain MCPActivo
Abr 19mcp-remote RCECommand injection OAuth9.6Parcial
May 12Claude Code token theftConfig hijackSin fix
Jun 2CloudSEK MCP SSRF→LFI→AWSMisconfig chainParcial
Jun 3VS Code install RCE (Oasis)Hidden UI fieldsParcheado
Jun 3GitHub token zero-dayWebview sandbox escapeMitigado
Jun 4TeamPCP breach GitHubSupply chainActivo

Por qué esto ya está ocurriendo

Los números

Un estudio académico publicado en junio 2026 (arXiv:2605.22333) midió la seguridad de 7,973 servidores MCP remotos activos:

  • 40.55% exponen herramientas sin autenticación
  • 96.6% de los servidores OAuth tienen flaws de Dynamic Client Registration
  • 100% de los servidores OAuth probados (119) tenían al menos un flaw
  • 325 flaws identificados en total

Ox Security encontró 7,374 servidores MCP vulnerables accesibles públicamente vía Shodan. GitGuardian detectó 24,008 secretos en archivos de configuración MCP en GitHub público — 2,117 credenciales vivas confirmadas. El primer trimestre de 2026 acumuló 30+ CVEs contra servidores y SDKs MCP, 13 críticos.

El problema de diseño

La raíz del problema es estructural: el protocolo MCP delega en el servidor la responsabilidad de anunciar quién es su authorization server, y el cliente —VS Code, Claude Desktop, Cursor— confía en esa declaración sin verificación cruzada.

Cuando un servidor MCP dice "mi authorization server es https://ejemplo.com", el cliente:

  1. Lee el metadato
  2. Descubre los endpoints
  3. Se registra dinámicamente
  4. Abre el navegador
  5. No verifica que el servidor MCP y el AS sean la misma entidad

Alibaba Cloud Security (Issue #544 del spec MCP, mayo 2025) lo identificó primero: "insuficiente diseño de seguridad que incrementa el riesgo de ataques de phishing generalizados." Obsidian Security fue más lejos (nov 2025): descubrió RCE, LFE y ATO en todos los clientes MCP principales. La especificación evolucionó —CIMD, RFC 9728, RFC 8707— pero los clientes existentes arrastran implementaciones incompletas.

La respuesta de Anthropic a Mitiga Labs (mayo 2026) clasificó el hallazgo como "out of scope". En la práctica, esto significa que el protocolo permite que el servidor MCP especifique su propio AS, los clientes ejecutan el flujo automáticamente, y los ataques resultantes se consideran fuera del alcance de la especificación.

Este problema de confianza sin verificación es el mismo vacío que aborda ZTMAS (Zero Trust Multi-Agent Systems), nuestra nota de arquitectura sobre diseño de sistemas multi-agente con verificación cruzada de identidad. Donde el protocolo MCP asume que el servidor dice la verdad sobre su authorization server, ZTMAS parte del principio opuesto: ningún agente es confiable por defecto. → ZTMAS: Zero Trust Multi-Agent Systems

Probabilidad de explotación

Hasta la fecha de esta publicación, no se ha reportado públicamente un caso de MCP OAuth phishing contra una organización real. Sin embargo, las condiciones técnicas para su explotación están presentes:

  • El 96.6% de los servidores OAuth MCP tienen flaws explotables
  • Desarrolladores son un objetivo de alto valor (acceso a producción, credenciales cloud, repositorios privados)
  • No se requiere exploit técnico — solo ingeniería social para que alguien agregue una URL
  • No hay indicadores visibles de compromiso: el tráfico es OAuth legítimo, los endpoints son .well-known estándar, y el servidor MCP puede estar en cualquier VPS

Mitigaciones

El MCP OAuth phishing no se resuelve con un parche. Es un problema de diseño del protocolo. Mientras la especificación madura, las organizaciones pueden:

  1. Auditar configuraciones MCP existentes en los entornos de desarrollo
  2. Monitorear cambios en archivos de configuración (mcp.json, ~/.claude.json, claude_desktop_config.json)
  3. Restringir servidores MCP a una lista aprobada
  4. Evaluar la postura de seguridad LLM de la organización

Hackfluency Research ha desarrollado el LLM Behavioral Security Assessment Tool, un cuestionario estructurado de 50+ preguntas en 8 dominios de seguridad que permite a las organizaciones identificar brechas en sus despliegues de IA —incluyendo integraciones MCP, manejo de credenciales, y exposición a vectores de phishing como el descrito en este artículo.

hackfluency.com/research/security-qa/


Referencias

  1. Hackfluency Labs. "MCP OAuth Phishing — PoC." GitHub, 2026. github.com/HackfluencyLabs/mcp-phish-poc
  2. Alibaba Cloud Security. "The MCP protocol exhibits insufficient security design." Issue #544, modelcontextprotocol/modelcontextprotocol, 18 May 2025. github.com/modelcontextprotocol/modelcontextprotocol/issues/544
  3. Obsidian Security. "When MCP Meets OAuth: Common Pitfalls Leading to One-Click Account Takeover." Feb 2026. obsidiansecurity.webflow.io
  4. Obsidian Security. "From well-known to Well-Pwned: Common Vulnerabilities in AI Agents." Nov 2025.
  5. Oasis Security. "One-Click Attack on VS Code Exposes Developer Machines." 3 Jun 2026. CVE-2026-41613. oasis.security
  6. Mitiga Labs. "Stealing MCP Tokens in Claude Code: A Man-in-the-Middle Attack Chain." 12 May 2026. mitiga.io
  7. Ammar Askar. "VS Code zero-day: GitHub OAuth token theft." Jun 2026.
  8. Lorikeet Security. "MCP Is the New Supply Chain: 30 CVEs, a North Korean npm Hijack, and 7,000 Exposed Servers." 16 Apr 2026. lorikeetsecurity.com
  9. OSSPREY. "The Complete TeamPCP Campaign." 21 May 2026. ossprey.com
  10. CloudSEK. "How an Unauthenticated MCP Server Led to SSRF, LFI, and AWS Credential Theft." 2 Jun 2026. cloudsek.com
  11. MCPProxy Blog. "The First MCP Vulnerability That Hacks Your Laptop (Not the Server)." 19 Apr 2026. mcpproxy.app
  12. arXiv:2605.22333. "A First Measurement Study on Authentication Security in Real-World Remote MCP Servers." Jun 2026. arxiv.org
  13. OX Security. "The Mother of All AI Supply Chains." 2026.
  14. GitGuardian. "24,008 Secrets in MCP Configuration Files." 2026.
  15. Anthropic. "Model Context Protocol Authorization Specification." Nov 2025. modelcontextprotocol.io
0 destellos