Philippe Moreau
Philippe Moreau
Expert en Threat Intelligence
| · 16 min de lecture

OtterCookie : la Coree du Nord utilise la steganographie SVG pour infiltrer les developpeurs via de faux entretiens d'embauche

TL;DR

  • Des acteurs nord-coreens (campagne Contagious Interview) utilisent la steganographie dans des images SVG pour dissimuler des payloads malveillants. Les fragments sont encodes en Base64 dans des commentaires HTML a l'interieur d'images de drapeaux, puis reassembles par un fichier JavaScript. Zero detection antivirus au moment de la decouverte.
  • Les cibles : des developpeurs Next.js, NestJS, PostgreSQL et Auth.js — exactement les profils les plus recrutes en France en 2026. L'attaque se propage via de fausses offres d'emploi et des depots GitHub pieges contenant des tests techniques.
  • Le payload final (OtterCookie) est un arsenal complet : vol d'identifiants navigateur, vol de wallets crypto, exfiltration de fichiers, RAT via Socket.IO, et vol du presse-papiers. Decouverte en mai 2026, rapportee publiquement le 17 juillet 2026 par Elastic Security Labs.

Le 17 juillet 2026, Elastic Security Labs a publie une analyse detaillee d'une campagne d'attaque sophistiquee attribuee a des acteurs nord-coreens : la campagne Contagious Interview. Les attaquants ciblent des developpeurs logiciels — particulierement ceux maitrisant Next.js, NestJS, PostgreSQL et Auth.js — via de fausses offres d'emploi. L'innovation technique : l'utilisation de la steganographie dans des images SVG pour dissimuler un payload multi-etapes totalement indetectable par les antivirus classiques. Le malware final, baptise OtterCookie, constitue un arsenal complet de vol de donnees et de controle a distance.

CHAINE D'ATTAQUE OTTERCOOKIE : DU FAUX ENTRETIEN AU RAT ETAPE 1 Fausse offre Next.js/NestJS sur LinkedIn ETAPE 2 Depot GitHub test technique + images SVG ETAPE 3 Steganographie Base64 dans commentaires SVG ETAPE 4 Reassemblage JS trie les SVG alphabetiquement ETAPE 5 OtterCookie Stealer + RAT Socket.IO C2 PAYLOAD FINAL Browser credential stealer Crypto wallet stealer File stealer + Clipboard Socket.IO RAT (C2) Ingenierie sociale Dissimulation technique Exploitation / Exfiltration

Contagious Interview : une campagne d'ingenierie sociale ciblee sur les developpeurs

La campagne Contagious Interview n'est pas nouvelle dans le paysage des menaces. Attribuee a des acteurs affilies au regime nord-coreen, elle est active depuis au moins 2023. Mais la version decouverte en mai 2026 et documentee le 17 juillet par Elastic Security Labs marque un bond qualitatif considerable dans les techniques de dissimulation employees.

Le mode operatoire de base reste identique : les attaquants creent de faux profils de recruteurs sur LinkedIn et d'autres plateformes, puis contactent des developpeurs avec des offres d'emploi seduisantes. Les annonces sont soigneusement construites pour attirer les profils les plus recherches du marche. Les postes proposes demandent explicitement des competences en Next.js, NestJS, PostgreSQL et Auth.js — un stack technique omnipresent dans les startups et scale-ups francaises et europeennes.

Une fois le contact etabli, le faux recruteur invite le candidat a completer un « test technique » heberge sur un depot GitHub d'apparence professionnelle. Le depot contient un projet front-end apparemment banal, avec une structure de repertoire standard, un package.json classique et des composants React fonctionnels. La subtilite reside dans le dossier d'assets : il contient plusieurs images SVG representant des drapeaux de pays — un choix de design parfaitement credible pour un projet internationalise.

Notre avis d'expert

Cette campagne cible EXACTEMENT les profils que les entreprises francaises recrutent en ce moment : developpeurs Next.js/NestJS avec experience PostgreSQL et Auth.js. Les offres sont calibrees pour matcher les fiches de poste reelles du marche francais. Un developpeur senior en recherche active recevant une proposition attractive d'une « startup en forte croissance » ne va pas spontanement analyser les fichiers SVG du test technique qu'on lui envoie.

La steganographie SVG : une technique d'evasion a zero detection

La veritable innovation de cette campagne reside dans sa methode de dissimulation du payload. Plutot que d'integrer du code malveillant directement dans les fichiers JavaScript — ce qui serait detecte par les scanners de securite classiques — les attaquants utilisent une technique de steganographie appliquee aux fichiers SVG.

Le mecanisme est a la fois elegant et redoutable. Les images SVG, qui representent des drapeaux nationaux parfaitement fonctionnels et visuellement normaux, contiennent des commentaires HTML dissimulant des fragments de code encodes en Base64. Chaque image de drapeau contient un fragment different du payload total. Le format SVG etant base sur XML, les commentaires HTML (<!-- ... -->) sont parfaitement valides et n'affectent en rien le rendu visuel de l'image.

Le fichier JavaScript qui orchestre le reassemblage est lui aussi dissimule dans un script d'apparence anodine — typiquement un utilitaire de localisation ou un helper d'internationalisation. Ce script lit les fichiers SVG des drapeaux, extrait les commentaires HTML, trie les fragments par ordre alphabetique des noms de fichiers (les drapeaux sont nommes par code pays : ar.svg, br.svg, ca.svg...), puis concatene et decode les fragments Base64 pour reconstituer le payload executable complet.

TECHNIQUE DE STEGANOGRAPHIE SVG : DISSIMULATION EN FRAGMENTS BASE64 FICHIERS SVG ar.svg (Drapeau) br.svg (Drapeau) ca.svg (Drapeau) de.svg (Drapeau) fr.svg (Drapeau) CONTENU DISSIMULE (dans chaque SVG) <svg viewBox="0 0 900 600"> <rect fill="#006233" .../> <rect fill="#FFFFFF" .../> <!-- SGVsbG8gV29ybGQ= --> <!-- YXR0YWNrX3BheWxv --> <!-- YWRfZnJhZ21lbnQ9 --> <circle fill="#D21034" .../> </svg> Fragments Base64 dans commentaires HTML JS ASSEMBLER 1. Lire tous les SVG 2. Extraire commentaires 3. Trier alphabetiquement 4. Concatener + decode B64 5. eval() du resultat OTTERCOOKIE Payload reconstruit complet 0 DETECTION ANTIVIRUS Aucun fragment individuel n'est malveillant = evasion totale

Ce qui rend cette approche particulierement efficace, c'est que aucun fichier individuel n'est malveillant en soi. Un fichier SVG contenant des commentaires HTML avec du texte en Base64 est parfaitement legal et ne declenche aucune alerte antivirus. Le fichier JavaScript qui lit des SVG et decodera du Base64 peut etre interprete comme un utilitaire de traitement d'images. C'est uniquement la combinaison de tous ces elements qui produit un payload malveillant — et cette combinaison n'est visible qu'a l'execution, pas a l'analyse statique.

Au moment de la publication de l'analyse par Elastic Security Labs, le taux de detection sur VirusTotal etait de zero sur 70+ moteurs antivirus. Ni les scans statiques, ni les analyses heuristiques, ni les sandboxes automatisees n'ont reussi a identifier le depot comme malveillant. Cette performance illustre les limites fondamentales des approches de detection basees sur les signatures et les patterns connus.

Notre avis d'expert

Le zero-detection montre que les antivirus classiques sont obsoletes face aux attaques par steganographie. Quand le payload est fragmente dans des fichiers anodins individuellement et ne s'assemble qu'a l'execution, la detection par signature est impossible par definition. Seule une analyse comportementale post-execution ou un audit humain du code source peut identifier ce type de menace. Les equipes SOC doivent integrer cette realite dans leurs modeles de detection.

OtterCookie : un arsenal de vol en quatre etapes

Une fois le payload reassemble et execute, OtterCookie deploie un arsenal sophistique en quatre modules distincts, chacun concu pour maximiser l'exfiltration de donnees sensibles tout en maintenant un acces persistant au systeme compromis.

Module 1 : Browser Credential Stealer. Ce composant cible les navigateurs Chromium (Chrome, Edge, Brave) et Firefox. Il extrait les cookies de session, les mots de passe enregistres, les tokens d'authentification et l'historique de navigation. Les cookies de session sont particulierement precieux car ils permettent de contourner l'authentification a deux facteurs en reprenant directement les sessions actives de la victime sur les plateformes SaaS, les consoles cloud (AWS, GCP, Azure) et les services bancaires.

Module 2 : Crypto Wallet Stealer. Le second module scanne le systeme a la recherche d'extensions de navigateur et d'applications de portefeuilles de cryptomonnaies : MetaMask, Phantom, Exodus, Ledger Live, entre autres. Il extrait les cles privees, les seed phrases et les fichiers de configuration des wallets. Etant donne que les developpeurs sont statistiquement plus susceptibles de posseder des cryptomonnaies que la population generale, ce ciblage est strategiquement pertinent.

Module 3 : File Stealer + Clipboard Monitor. Ce module recherche sur le disque les fichiers correspondant a des patterns sensibles : fichiers .env, cles SSH (id_rsa, id_ed25519), fichiers de configuration cloud (.aws/credentials), tokens d'API et fichiers de configuration de bases de donnees. En parallele, un intercepteur de presse-papiers capture en continu tout ce qui est copie — adresses crypto, mots de passe, tokens — et peut meme substituer les adresses crypto copiees par des adresses controlees par les attaquants.

Module 4 : Socket.IO RAT. Le dernier composant etablit une connexion persistante avec un serveur de commande et controle (C2) via le protocole WebSocket, encapsule dans la librairie Socket.IO. Ce choix technique est astucieux : Socket.IO est une dependance extremement courante dans les projets Node.js, et le trafic WebSocket est rarement inspecte par les pare-feux d'entreprise. Le RAT (Remote Access Trojan) permet aux operateurs nord-coreens d'executer des commandes arbitraires, de telecharger des modules supplementaires et de pivoter lateralement dans le reseau de l'entreprise si le poste du developpeur est connecte a un VPN corporate.

Caracteristique OtterCookie (2026) InvisibleFerret BeaverTail
Vecteur initial Steganographie SVG npm malveillant Trojanized app
Detection AV 0/70+ 12/70 8/70
Cibles Developpeurs JS/TS Developpeurs Python Crypto traders
Protocole C2 Socket.IO (WebSocket) HTTP/S standard DNS over HTTPS
Persistence Node.js service Cron job LaunchAgent
Attribution DPRK / Lazarus sub DPRK / Lazarus sub DPRK / Lazarus sub

Notre avis d'expert

Toute entreprise qui fait passer des tests techniques de recrutement via GitHub doit auditer ses processus IMMEDIATEMENT. Si vos candidats recoivent des liens vers des depots GitHub dans le cadre de vos recrutements, les attaquants peuvent usurper votre identite et envoyer de faux tests techniques contenant des payloads OtterCookie. La verification d'identite du recruteur AVANT l'execution de tout code doit devenir un reflexe systematique.

Ce que ca signifie pour votre entreprise

L'impact de cette campagne depasse largement le poste de travail individuel du developpeur cible. Voici les scenarios de risque concrets pour les entreprises francaises :

Compromission de la supply chain logicielle. Un developpeur infecte qui a acces aux depots de code de votre entreprise peut involontairement — ou l'attaquant peut deliberement — injecter du code malveillant dans vos propres produits. Les cles SSH volees permettent de pousser du code directement sur vos branches de production. Les tokens GitHub/GitLab exfiltres donnent un acces complet a votre code source proprietary.

Acces lateral au reseau corporate. Si le developpeur utilise un VPN d'entreprise, le RAT Socket.IO offre aux attaquants un point d'entree direct dans votre reseau interne. De la, ils peuvent pivoter vers les bases de donnees clients, les systemes de facturation, les serveurs de production et les environnements cloud. Le mouvement lateral est facilite par les fichiers .env et les credentials cloud voles sur le poste du developpeur.

Vol de propriete intellectuelle. Les developpeurs ont naturellement acces aux algorithmes, aux architectures systemes et aux donnees metier les plus sensibles de l'entreprise. Le file stealer d'OtterCookie est specifiquement configure pour exfiltrer les fichiers de configuration, les schemas de base de donnees et les documents techniques.

ARBRE DE DECISION : DETECTION ET DEFENSE CONTRE OTTERCOOKIE VOTRE ENTREPRISE RECRUTE-T-ELLE? OUI Tests techniques via GitHub/GitLab ? OUI RISQUE ELEVE Auditer les depots de test Sandboxer l'execution candidate NON RISQUE MOYEN Sensibiliser les equipes dev Verifier identite recruteurs NON Developpeurs en recherche d'emploi ? OUI RISQUE MOYEN Formation sensibilisation Politique BYOD + EDR NON RISQUE FAIBLE Veille sur menaces NK Revue periodique processus MESURES UNIVERSELLES (QUEL QUE SOIT LE RISQUE) 1. EDR sur tous les postes developpeurs 2. Segmentation reseau (dev != prod) 3. Monitoring connexions WebSocket/Socket.IO sortantes 4. Rotation reguliere des secrets (cles SSH, tokens API) 5. Politique d'execution code tiers en sandbox 6. Analyse SVG/images en CI/CD pipeline 7. Formation phishing specifique developpeurs 8. Audit processus de recrutement technique

Votre processus de recrutement est-il securise contre ce type d'attaque ?

Les experts WebGuard Agency auditent vos processus de recrutement technique, forment vos equipes de developpement aux menaces actuelles et deploient les contre-mesures adaptees. Premier audit gratuit et sans engagement.

Audit de securite gratuit →

Notre avis d'expert

Le vecteur Socket.IO pour le C2 est brillant du point de vue de l'attaquant. Dans un environnement de developpement Node.js, des connexions WebSocket permanentes vers des serveurs externes sont parfaitement normales — c'est le fonctionnement standard de nombreux outils de developpement (hot reload, live preview, debug distant). Distinguer une connexion C2 OtterCookie d'une connexion legitimate de developpement necessite une analyse fine des domaines contactes et des patterns de trafic que la plupart des SOC ne monitorent pas encore.

Recommandations de protection immediates

Face a cette menace, les entreprises francaises doivent mettre en place une strategie de defense en profondeur combinant sensibilisation humaine et controles techniques. Voici les mesures prioritaires :

Pour les equipes RH et recrutement : informez vos candidats que vos tests techniques sont exclusivement heberges sur votre domaine officiel ou un espace specifique. N'envoyez jamais de liens vers des depots GitHub personnels ou d'organisations inconnues. Integrez un avertissement explicite dans vos communications de recrutement, mentionnant que vous ne demanderez jamais d'executer du code provenant de sources tierces dans le cadre du processus de selection.

Pour les equipes de developpement : executez tout code provenant de sources externes dans un environnement sandbox isole (machine virtuelle, conteneur Docker dedie, ou service cloud ephemere). N'executez jamais de npm install ou de yarn install sur votre poste de travail principal pour du code que vous ne connaissez pas intimement. Verifiez systematiquement l'identite du recruteur via un canal independant avant d'interagir avec tout materiel technique.

Pour les equipes securite et SOC : implementez des regles de monitoring specifiques pour les connexions Socket.IO vers des domaines non repertories. Analysez les fichiers SVG dans vos pipelines CI/CD pour detecter les commentaires HTML contenant du Base64. Deployez un processus de detection des malwares steganographiques dans votre politique de securite. Mettez en place une rotation reguliere des secrets sur les postes developpeurs et auditez les connexions sortantes suspectes.

Les entreprises francaises, particulierement celles basees a Paris, Lyon et Marseille ou le marche du recrutement tech est le plus actif, doivent traiter cette menace comme prioritaire. Le volume de recrutements en cours et la tension sur les profils Next.js/NestJS creent un terrain particulierement favorable pour les attaquants nord-coreens.

Conclusion

La campagne Contagious Interview et le malware OtterCookie representent une evolution significative des tactiques offensives nord-coreennes. L'utilisation de la steganographie SVG pour atteindre un zero-detection antivirus, combinee a un pretexte d'ingenierie sociale parfaitement calibre sur le marche du recrutement tech, en font l'une des menaces les plus sophistiquees et les plus pertinentes pour les entreprises technologiques francaises en 2026.

La defense contre ce type d'attaque ne peut pas reposer uniquement sur des outils techniques. Elle necessite une combinaison de sensibilisation des equipes, de processus de verification rigoureux et de controles de securite adaptes au contexte specifique du developpement logiciel. Les entreprises qui integrent des developpeurs dans leur strategie de cybersecurite globale — plutot que de les considerer comme de simples utilisateurs — seront les mieux preparees a faire face a cette menace et aux suivantes.

Protegez vos developpeurs et votre supply chain logicielle

WebGuard Agency accompagne les entreprises technologiques dans la securisation de leurs processus de developpement, la formation de leurs equipes aux menaces APT et le deploiement de solutions de detection avancees. Premier audit gratuit.

Contactez nos experts →
19 juillet 2026 · 🕑 16 min
FAQ

Questions frequentes

Contagious Interview est une campagne d'attaque attribuee a des acteurs nord-coreens qui ciblent les developpeurs logiciels via de faux processus de recrutement. OtterCookie est la famille de malwares deployee dans cette campagne, capable de voler des identifiants navigateur, des portefeuilles de cryptomonnaies, des fichiers sensibles et d'etablir un acces distant via Socket.IO. La campagne a ete decouverte en mai 2026 et documentee publiquement le 17 juillet 2026 par Elastic Security Labs.
Les attaquants dissimulent des fragments de payload encodes en Base64 dans des commentaires HTML a l'interieur d'images SVG representant des drapeaux nationaux. Un fichier JavaScript du projet lit ces SVG, extrait les commentaires, trie les fragments alphabetiquement par nom de fichier, puis les concatene et les decode pour reconstituer le malware complet. Cette technique est indetectable par les antivirus car aucun fichier individuel n'est malveillant.
Oui, les developpeurs francais sont directement concernes. Les offres d'emploi frauduleuses ciblent specifiquement les competences Next.js, NestJS, PostgreSQL et Auth.js, qui sont parmi les plus demandees en France. Toute entreprise technologique qui recrute des developpeurs ou utilise des tests techniques via GitHub dans son processus de recrutement est potentiellement exposee a cette menace.
Implementez une politique de sandboxing pour tout code provenant de sources externes. Analysez les commentaires HTML et les attributs data inhabituels dans les fichiers SVG de vos projets. Verifiez systematiquement l'authenticite des recruteurs avant d'executer du code tiers. Deployez des solutions EDR capables de detecter les comportements post-exploitation comme les connexions Socket.IO non autorisees vers des domaines inconnus. Formez vos equipes de developpement aux techniques d'ingenierie sociale specifiques a leur metier.

Vous ne trouvez pas la reponse a votre question ?

Certifications & accreditations
PASSI (ANSSI)
ISO 27001
CEH Certified
OSCP
CISSP
SOC 2 Type II
Newsletter

Veille cybersecurite

Recevez chaque semaine les dernieres menaces, vulnerabilites et bonnes pratiques directement dans votre boite mail.

Pas de spam. Desinscription en un clic. Environ 1 email par semaine.

Pret a renforcer votre cybersecurite ?

Rejoignez les entreprises qui font confiance a WebGuard Agency pour proteger leurs actifs numeriques. Premier audit offert.

Voir nos tarifs
200+
Audits realises
99,9%
Disponibilite SOC
< 4h
Temps de reponse

🛡️ Audit de sécurité gratuit — réponse en 24h, sans engagement

Obtenir mon audit gratuit →