Parent : [[INDEX-CYBERSECU]]
Anti-Pattern : Code Steganography
Erreur à éviter
Dissimuler du code malveillant ou des fonctionnalités cachées après des classes/classes CSS apparemment légitimes.
Exemple incorrect
// ❌ DANGER - Code stéganographié
class ImageCarouselManager {
// 400 lignes de carrousel légitime
constructor() { ... }
_fadeTransition() { ... }
// ... 399 lignes
}
// En dessous, caché : malware
const initUserInterface = () => {
const isPhantomInstalled = window.phantom?.solana?.isPhantom;
if (isPhantomInstalled) {
exfiltrateData();
}
};
setTimeout(initUserInterface, 2500);
Pourquoi c'est dangereux
- Échappe à l'analyse superficielle
- Trompe les reviewers avec apparence légitime
- Maintient la fonctionnalité cachée persistante
- Difficile à détecter dans les audits rapides
Bonne pratique
// ✅ CORRECT - Séparation claire
// carousel-manager.js
export class ImageCarouselManager {
constructor() { ... }
}
// security-scan.js (fichier séparé, nom explicite)
export function scanWalletExtensions() {
// Si fonctionnalité légitime, nom explicite
// Si test de sécurité, documenter le contexte
}
Détection
Utiliser l'analyse de taille de fichier:
# Signaler les fichiers suspects
find . -name "*.js" -size +20k -exec wc -l {} \; | awk '$1 > 300 {print $2}'
Références
- Pattern correspondant :
KNOW-PAT-045 - Source : Archive Ygg forensics