SOC Prime Bias: Critique

12 Jun 2026 18:47 UTC

Solana FakeFix : 25 packages npm et PyPI malveillants se font passer pour des versions stables

Author Photo
SOC Prime Team linkedin icon Suivre
Solana FakeFix : 25 packages npm et PyPI malveillants se font passer pour des versions stables
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Une campagne de paquets malveillants cible les développeurs Solana à travers des bibliothèques npm et PyPI typosquattées, promues comme des correctifs de construction stable. Le malware exploite l’exécution du cycle de vie des paquets et les hooks d’importation pour voler les secrets des portefeuilles, les identifiants de cloud, et les clés SSH des environnements infectés. Certains échantillons vont au-delà du vol en agissant comme des portes dérobées complètes via un commandement et un contrôle basé sur Telegram ou en déployant des chargeurs axés sur Windows construits autour de Deno.

Enquête

Des chercheurs en sécurité de JFrog ont découvert deux opérations distinctes mais liées. La première, suivie sous le nom de Solana FakeFix, utilisait des paquets de style SDK contrefaits pour collecter des secrets sensibles auprès des développeurs et des systèmes de construction. La seconde utilisait des paquets npm thématiques CMS pour charger des exécutables Windows. Leur analyse a montré que le code malveillant était souvent ajouté à des bibliothèques qui semblaient fonctionnelles pour aider les paquets à paraître légitimes tout en récupérant discrètement des charges utiles de deuxième étape de manière dynamique via Deno.

Atténuation

Les organisations devraient supprimer tous les paquets affectés des stations de travail des développeurs, des pipelines CI/CD et des caches de paquets internes. Toute identification potentiellement exposée devrait être immédiatement renouvelée, y compris les clés de portefeuilles Solana, les clés SSH, les identifiants AWS, et les jetons GitHub. Les équipes de sécurité devraient également auditer les hôtes pour les méthodes de persistance telles que les clés de registre Run, les tâches planifiées et les modifications des profils shell.

Réponse

Les défenseurs devraient désinstaller les paquets malveillants identifiés et examiner les fichiers de verrouillage des dépendances pour des bibliothèques non autorisées ou inattendues. Tous les secrets exposés doivent être renouvelés immédiatement, et toute cryptomonnaie stockée dans des portefeuilles potentiellement compromis doit être transférée vers de nouvelles adresses de confiance. Les systèmes de CI et ceux des développeurs doivent ensuite être reconstruits à partir d’images propres pour s’assurer qu’aucune porte dérobée cachée ou mécanisme de persistance ne subsiste.

Flux d’attaque

Exécution de simulation

Préalable : la vérification préliminaire de la télémétrie et des bases de référence doit avoir été réussie.

Raisonnement : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le récit DOIVENT refléter directement les TTPs identifiés et visent à générer la télémétrie exacte attendue par la logique de détection. Des exemples abstraits ou non liés conduiront à un mauvais diagnostic.

  • Narratif de l’Attaque & Commandes : L’attaquant a obtenu un accès initial et a l’intention de maintenir une présence. Il décide d’utiliser une charge utile basée sur Deno. Pour masquer l’exécution du terminal, il utilise le --headless flag pour conhost.exe. Il exécute une commande qui modifie la clé de registre HKCUSoftwareMicrosoftWindowsCurrentVersionRun , ajoutant une valeur nommée DenoUpdater qui exécute conhost.exe --headless deno.exe [malicious_script]. Cela garantira que la charge utile s’exécute silencieusement en arrière-plan lors de la connexion utilisateur.

  • Script de Test de Régression :

    # Simulation de persistance basée sur Deno via la clé Run du registre
    $RegistryPath = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun"
    $Name = "DenoUpdater"
    $Value = "C:WindowsSystem32conhost.exe --headless C:UsersPublicdeno.exe malicious_payload.js"
    
    Write-Host "[*] Simulation du mécanisme de persistance..."
    New-ItemProperty -Path $RegistryPath -Name $Name -Value $Value -PropertyType String -Force
    Write-Host "[+] Clé de registre créée. Vérifiez l'alerte dans le SIEM."
  • Commandes de Nettoyage :

    # Nettoyer la persistance simulée
    $RegistryPath = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun"
    $Name = "DenoUpdater"
    
    if (Get-ItemProperty -Path $RegistryPath -Name $Name -ErrorAction SilentlyContinue) {
        Remove-ItemProperty -Path $RegistryPath -Name $Name -Force
        Write-Host "[+] Nettoyage terminé. Clé de registre supprimée."
    } else {
        Write-Host "[-] Échec du nettoyage : Clé de registre non trouvée."
    }