Falsa oferta de trabajo: un ZIP ejecuta malware con git status
Un falso reclutador de Cryptic Heaven envió a un desarrollador un ZIP con la carpeta .git manipulada. Un simple git status puede descargar código malicioso.

A un desarrollador le escribió por LinkedIn un reclutador de Cryptic Heaven, empresa que supuestamente crea un sistema financiero para tarjetas de crédito cripto. La oferta parecía normal. El ZIP que vino después, no: un simple git status en la carpeta equivocada puede activar la trampa.
Tras pedir detalles, el reclutador le mandó un enlace a un contrato, una descripción del puesto y un proyecto. Llevaba a Contract-2026.zip, con un README.md, un contract.docx y un directorio .git completo, con historial, varias ramas y ajustes locales. El README pedía revisar tres ramas en orden: la vacante, el contrato y el código. El contrato era una plantilla vacía, sin entidad legal, pago ni jurisdicción. La oferta de Smart Contract Developer también estaba casi en blanco.
¿Cómo funciona la trampa de Git?
Git puede ejecutar programas externos, y el atacante preparó dos disparadores. El primero es core.hooksPath en .git/config, que apunta a otra carpeta de hooks (scripts que se ejecutan ante ciertos eventos). Allí había un script post-checkout, que corre tras cambiar de rama. De ahí que el README pidiera saltar entre ramas.
El segundo es un filtro «clean» propio llamado ltr, con el que Git transforma el contenido de los archivos antes de guardarlos. Una regla de atributos con comodín lo asignaba a todos los archivos. Para saber si algo cambió, git status puede pasar los archivos por ese filtro. Así, un git status normal, que algunos editores lanzan solos, puede ejecutar el script .git/ltr.
El autor lo comprobó en un repositorio de prueba inocuo: git status llamó al filtro y un cambio de rama activó además post-checkout.
¿Qué hace el script?
Es un script de shell con debounce: cada llamada al filtro actualiza una marca de tiempo, y un proceso en segundo plano espera a que pasen dos segundos sin novedades para actuar una sola vez. Un directorio creado con mkdir hace de bloqueo. Luego detecta el sistema operativo, descarga código de un subdominio de vercelscript.vercel.app y lo ejecuta, con sh en Linux y macOS o con PowerShell en Windows. La salida y los errores van a /dev/null, así que el usuario puede no notar nada.
Qué hace el código descargado no se puede saber solo con el ZIP. Podría ser un cargador de una segunda fase, robo de datos u otra cosa.
La lección práctica: un repositorio enviado como archivo con su carpeta .git no es lo mismo que un clon desde GitHub o GitLab, y abrirlo en un IDE puede ser arriesgado.
Apps que merecen la pena
Toca las casillas correctas, suma y alcanza el objetivo. Fácil de aprender, difícil de dominar. Gratis, para todas las edades.
Conversa con un compañero de IA; cada frase vuelve corregida y explicada en tu idioma. 9 idiomas, de A1 a C2.
Abre mensajes EDIFACT y X12, cada segmento explicado, conversión a JSON/XML, exportación a PDF y Excel. Funciona en local, sin subir nada.
Elige para quién es, la ocasión y su personalidad. El buscador lee las descripciones de tiendas locales y ordena lo que encaja. Gratis, sin registro.
Más de este día
Ver todas →
AMD Adrenalin 26.11.1 corrige las escrituras excesivas en SSD

Apple Support Community cierra tras 28 años de historia

Nāpōwawāʻenakaulua: dos quasares gigantes que nacieron demasiado pronto

Rechazar un contador Linky: el tribunal de la UE y Starship 15
Más en: Seguridad
Ver todas →
Cyber Security Cloud: filtración en GitHub podría exponer datos de clientes

wfx-loot: atacan 61.000 repositorios de GitHub para robar secretos

SignDrop: un zero-day de Windows vuelve Defender contra sí mismo
