<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>SANDWORM_MODE on CyberVeille</title>
    <link>https://cyberveille.ch/tags/sandworm_mode/</link>
    <description>Recent content in SANDWORM_MODE on CyberVeille</description>
    <generator>Hugo -- 0.146.0</generator>
    <language>fr-fr</language>
    <copyright>Cyberveille CC BY-NC-SA 4.0</copyright>
    <lastBuildDate>Thu, 21 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://cyberveille.ch/tags/sandworm_mode/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Mini Shai-Hulud : ver auto-propagant compromet 170&#43; packages npm/PyPI via TeamPCP</title>
      <link>https://cyberveille.ch/posts/2026-05-21-mini-shai-hulud-ver-auto-propagant-compromet-170-packages-npm-pypi-via-teampcp/</link>
      <pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate>
      <guid>https://cyberveille.ch/posts/2026-05-21-mini-shai-hulud-ver-auto-propagant-compromet-170-packages-npm-pypi-via-teampcp/</guid>
      <description>&lt;h2 id=&#34;-contexte&#34;&gt;🎯 Contexte&lt;/h2&gt;
&lt;p&gt;Source : Tenable Research Special Operations (RSO), publiée le 21 mai 2026.
L&amp;rsquo;article présente une FAQ détaillée sur la campagne &lt;strong&gt;Mini Shai-Hulud&lt;/strong&gt;, quatrième génération d&amp;rsquo;un ver auto-propagant opéré par le groupe &lt;strong&gt;TeamPCP&lt;/strong&gt;, actif depuis septembre 2025 dans les écosystèmes &lt;strong&gt;npm&lt;/strong&gt; et &lt;strong&gt;PyPI&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&#34;-évolution-du-ver-shai-hulud&#34;&gt;🐛 Évolution du ver Shai-Hulud&lt;/h2&gt;
&lt;p&gt;Quatre générations ont été identifiées :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Shai-Hulud&lt;/strong&gt; (septembre 2025) : premier malware auto-réplicant observé dans npm, vol de tokens mainteneur&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SHA1-Hulud&lt;/strong&gt; (novembre 2025) : fonctionnalité wiper et collecte de credentials améliorée&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SANDWORM_MODE&lt;/strong&gt; (mars 2026) : ciblage adaptatif avec énumération des pipelines CI/CD&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mini Shai-Hulud&lt;/strong&gt; (avril 2026) : variante la plus destructrice, active au moment de la publication&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;-capacités-techniques-de-mini-shai-hulud&#34;&gt;⚙️ Capacités techniques de Mini Shai-Hulud&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Contournement des attestations SLSA Build Level 3&lt;/strong&gt; via Sigstore (première mondiale)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Extraction de tokens OIDC&lt;/strong&gt; depuis la mémoire du processus GitHub Actions runner&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hooks de persistance&lt;/strong&gt; ciblant les agents de codage IA et les IDEs développeurs&lt;/li&gt;
&lt;li&gt;Propagation &lt;strong&gt;cross-écosystème&lt;/strong&gt; (npm et PyPI)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Triple exfiltration redondante&lt;/strong&gt; : serveur C2 dédié, réseau Session (décentralisé), dead drops via GitHub API&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;-trois-chaînes-dattaque&#34;&gt;🔗 Trois chaînes d&amp;rsquo;attaque&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Vol de token + publication automatisée massive&lt;/strong&gt; : hook preinstall téléchargeant le runtime Bun pour exécuter un payload obfusqué&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hijack OIDC avec contournement de provenance&lt;/strong&gt; (utilisé dans la vague TanStack) : extraction de token OIDC depuis la mémoire du runner, publication via le pipeline légitime avec attestation cryptographique valide&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Injection PyPI&lt;/strong&gt; : dropper injecté dans le fichier d&amp;rsquo;initialisation du package, téléchargeant un payload depuis une infrastructure contrôlée par l&amp;rsquo;attaquant&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;-cve-associée&#34;&gt;🏛️ CVE associée&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;CVE-2026-45321&lt;/strong&gt; (CVSSv3 : 9.6, VPR : 9.2) : injection de code malveillant dans 42 packages @tanstack via trois failles chaînées dans la configuration GitHub Actions de TanStack. L&amp;rsquo;attaquant a créé un fork sous un compte renommé, ouvert une PR déclenchant un workflow &lt;code&gt;pull_request_target&lt;/code&gt;, empoisonné le cache GitHub Actions, puis extrait des tokens OIDC pour publier &lt;strong&gt;84 versions malveillantes en moins de six minutes&lt;/strong&gt; avec des attestations SLSA valides.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
