Un nouveau malware baptisé fezbox exploite la stéganographie et des QR codes très denses pour dissimuler du code malveillant dans des bibliothèques JavaScript publiques. En s’intégrant comme dépendance, il peut télécharger et exécuter un fragment caché qui lit les cookies du navigateur et exfiltre identifiants quand ils y sont présents. Les auteurs ont multiplié les couches d’obfuscation (chaîne inversée, QR code, code minimisé, checks d’environnement) pour échapper aux analyses automatiques. Les spécialistes recommandent de durcir la revue des dépendances, d’éviter le stockage d’identifiants dans les cookies et d’instaurer des contrôles humains dans le pipeline de validation.
Le QR code, outil banal et omniprésent depuis la pandémie, devient un vecteur d’attaque plus sophistiqué : des chercheurs en sécurité ont identifié une campagne où un paquet JavaScript malveillant dissimule sa charge utile dans un QR code, rendant l’analyse et la détection bien plus difficiles.
Un paquet déguisé en utilitaire
Le malware, repéré dans une bibliothèque distribuée via le registre npm, se présente comme une collection de fonctions utiles pour JavaScript/TypeScript. En apparence, la documentation promet des fonctionnalités classiques — génération/lecture de QR codes, gestion de types, et optimisations — mais l’importation de la bibliothèque suffit à lancer un processus caché qui télécharge et exécute du code dissimulé.
Trois couches d’obfuscation
Les auteurs multiplient les protections contre l’inspection : la charge utile est encodée puis inversée, logée à l’intérieur d’un QR code très dense, et intégrée à du code minimisé et parsemé d’instructions no-op. En outre, le code vérifie l’environnement d’exécution et reste inactif en développement ou dans des machines virtuelles, ce qui réduit fortement les chances d’être repéré lors d’analyses automatisées.
Mécanisme d’attaque : lecture et exfiltration des cookies
Après un délai programmé (environ 120 secondes), le paquet récupère la chaîne cachée dans un QR code distant, la décode et exécute un script qui tente de lire document.cookie. Si le cookie contient un couple identifiant/mot de passe, le script inverse la chaîne (technique simple d’évasion) puis l’envoie à un serveur distant via une requête HTTPS. Si aucun identifiant présent, le code s’éteint proprement pour ne pas éveiller les soupçons.
Portée réelle et limites
Les chercheurs remarquent toutefois que l’efficacité pratique dépend du fait que des applications stockent encore des mots de passe en clair ou en cookie — une pratique heureusement moins courante aujourd’hui. Néanmoins, la méthode illustre une montée en puissance des techniques de dissimulation : outre les QR codes, les attaquants utilisent déjà l’audio, la vidéo et d’autres supports pour masquer des données actives.
Conséquences pour les développeurs et équipes sécurité
Les analystes estiment que cette approche représente une escalade notable : elle se tourne vers l’hameçonnage des développeurs et la compromission des chaînes d’approvisionnement logicielles, c’est-à-dire des cibles à haute valeur. Les équipes de développement doivent intégrer la sécurité dans leurs revues de code et de dépendances et conserver une supervision humaine des ajouts de paquets externes.
Mesures recommandées
- Restreindre strictement l’utilisation de dépendances externes : validation préalable, liste blanche, et audits réguliers.
- Ne jamais stocker d’identifiants sensibles dans des cookies accessibles côté client ; utiliser des mécanismes sécurisés (tokens, cookies httpOnly/secure, scopes limités).
- Mettre en place des contrôles d’intégrité des paquets (SBOM, signatures) et des outils de scanning qui détectent l’obfuscation et les patterns suspects.
- Appliquer des revues humaines sur les nouvelles dépendances et éviter l’automatisation complète des merges pour des bibliothèques critiques.
- Surveiller les connexions sortantes anormales et les exfiltrations via des règles réseau et des EDR/IDS.
Conclusion
La dissimulation de code exécutable dans des QR codes marque un tournant : les supports visuels ou multimédias ne sont plus de simples vecteurs passifs. Face à ces tactiques furtives, la défense repose autant sur des outils techniques modernes (SBOM, scanning avancé) que sur une culture de sécurité renforcée chez les développeurs et dans les processus de revue.