Fausse offre d'emploi : un ZIP lance un malware via git status
Un faux recruteur de Cryptic Heaven a envoyé à un développeur un ZIP au dossier .git piégé. Un simple git status peut suffire à télécharger du code malveillant.

Un développeur a reçu sur LinkedIn un message d'un recruteur de Cryptic Heaven, société censée bâtir un système financier pour les cartes de crédit crypto. L'offre semblait banale. L'archive ZIP qui suivait l'était beaucoup moins : un simple git status dans le mauvais dossier peut déclencher le piège.
Après sa demande de précisions, le recruteur a envoyé un lien vers un contrat, une fiche de poste et un projet. Il menait à Contract-2026.zip, qui contenait un README.md, un contract.docx et un répertoire .git complet, avec historique, plusieurs branches et réglages locaux. Le README invitait à parcourir trois branches dans l'ordre : le poste, le contrat, puis le code. Le contrat était un modèle vide, sans entité juridique, rémunération ni juridiction. L'annonce de Smart Contract Developer était elle aussi largement incomplète.
Comment fonctionne le piège Git ?
Git peut lancer des programmes externes, et l'attaquant a préparé deux déclencheurs. D'abord, core.hooksPath dans .git/config désigne un autre dossier pour les hooks (des scripts exécutés lors d'événements). Il contenait un script post-checkout, lancé après un changement de branche. D'où la consigne du README de passer d'une branche à l'autre.
Ensuite, un filtre « clean » personnalisé nommé ltr, que Git utilise pour transformer le contenu des fichiers avant de les stocker. Une règle d'attributs avec un joker l'applique à tous les fichiers. Pour savoir si des fichiers ont changé, git status peut les faire passer par ce filtre. Un git status ordinaire, que certains éditeurs exécutent seuls, peut donc lancer le script .git/ltr.
L'auteur l'a vérifié sur un dépôt de test inoffensif : git status a bien appelé le filtre, et un changement de branche a aussi appelé post-checkout.
Que fait le script ?
C'est un script shell avec un mécanisme de debounce : chaque appel du filtre met à jour un horodatage, et un processus en arrière-plan attend deux secondes sans nouvel appel pour n'agir qu'une fois. Un répertoire créé avec mkdir sert de verrou. Le script détecte ensuite le système, télécharge du code depuis un sous-domaine de vercelscript.vercel.app et l'exécute, via sh sous Linux et macOS ou PowerShell sous Windows. Sorties et erreurs partent dans /dev/null, l'utilisateur peut ne rien remarquer.
Ce que fait le code téléchargé reste impossible à établir avec le seul ZIP. Il pourrait s'agir d'un chargeur d'étape suivante, d'un vol de données ou d'autre chose.
À retenir : un dépôt reçu en archive avec son dossier .git n'équivaut pas à un clone depuis GitHub ou GitLab, et l'ouvrir dans un IDE peut être risqué.
Des apps à découvrir
Touche les bonnes cases, additionne, atteins l'objectif. Facile à apprendre, difficile à maîtriser. Gratuit, pour tous les âges.
Discutez avec un partenaire IA ; chaque phrase revient corrigée et expliquée dans votre langue. 9 langues, de A1 à C2.
Ouvrez des messages EDIFACT et X12, chaque segment expliqué, conversion JSON/XML, export PDF et Excel. Fonctionne en local, sans envoi.
Choisissez pour qui, l'occasion et la personnalité. Le moteur lit les descriptions de produits de boutiques locales et classe ce qui convient. Gratuit, sans inscription.
Plus d'actus de ce jour
Tout voir →
AMD Adrenalin 26.11.1 corrige les écritures excessives sur SSD

Apple Support Community ferme après 28 ans d’existence

Nāpōwawāʻenakaulua : deux quasars géants nés trop tôt

Refuser un compteur Linky : la CJUE tranche, Starship vol 15
Plus dans: Sécurité
Tout voir →
Cyber Security Cloud : un accès GitHub fuité, des données clients exposées ?

wfx-loot : 61 000 dépôts GitHub visés pour voler des secrets

SignDrop : une faille Windows retourne Defender contre lui-même
