Explorer
KNOW-ANT-001

Code steganography - Ne pas dissimuler du code malveillant

Domaine
cybersecu
Type
anti-pattern
Priorité
P2

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