Skip to content

exploit

Polymarket : 2,94 M$ de PUSD drainés via une dépendance front-end compromise

Le 25 juin, un prestataire tiers de Polymarket est compromis et injecte un script malveillant dans le front-end. 2,94 M$ de PUSD drainés sur 11 portefeuilles. La plateforme rembourse en totalité.

par 6 min de lecture

Le marché de prédiction Polymarket a confirmé le 25 juin 2026 qu'un prestataire tiers de son front-end avait été compromis et utilisé pour injecter un script JavaScript malveillant sur le site. L'attaque, classée comme phishing front-end et non comme exploit on-chain des contrats, a drainé environ 2,94 M$ de PUSD — le stablecoin maison de Polymarket — sur au moins 11 portefeuilles utilisateurs. Les fonds ont été pontés de Polygon vers Ethereum et convertis en environ 1 893 ETH consolidés sur une seule adresse. Polymarket a annoncé un remboursement intégral des utilisateurs affectés et a retiré la dépendance compromise dans la matinée même.

Ce qui s'est passé

L'incident est révélé en cours de journée du 25 juin par les utilisateurs constatant des retraits non autorisés sur leurs comptes Polymarket. Les enquêteurs on-chain Specter, Bubblemaps et ZachXBT confirment dans la foulée le schéma d'attaque : un script tiers chargé par le front-end, modifié à la source côté prestataire, intercepte les interactions utilisateur et redirige les signatures vers des transactions piégées qui transfèrent les soldes PUSD du portefeuille connecté vers l'attaquant. L'attaque ne touche ni les contrats intelligents de Polymarket sur Polygon, ni les fonds collatéraux du protocole — seuls les portefeuilles utilisateurs ayant interagi avec l'interface compromise pendant la fenêtre d'injection sont concernés.

La déclaration officielle de Polymarket, publiée le 25 juin sur son canal X, est nette :

« This morning we discovered a 3rd party vendor had been compromised, injecting a malicious script into our frontend for some users. We've contained it & removed the affected dependency. We're contacting impacted users & refunding them in full. »

Polymarket n'a pas nommé publiquement le prestataire compromis, et n'a pas précisé la fenêtre exacte d'exposition pendant laquelle le script malveillant a été servi aux utilisateurs.

La mécanique — supply-chain attack sur dépendance front-end

L'attaque relève d'une catégorie distincte des hacks habituels en DeFi : ni faille de contrat, ni clé privée volée d'une wallet opérationnelle, ni bridge exploité. Le vecteur est une dépendance front-end — typiquement un widget tiers d'analytics, de support client, de tagging ou d'authentification — qui est chargé dynamiquement par le navigateur de l'utilisateur depuis l'infrastructure du prestataire. Si l'attaquant prend le contrôle du serveur du prestataire, il modifie le code JavaScript servi, et ce code s'exécute avec les permissions complètes du domaine polymarket.com côté navigateur, y compris l'accès aux interactions wallet en cours.

Le script ainsi injecté n'a pas besoin de casser de signature : il lui suffit de réécrire les paramètres d'une transaction soumise à signature (adresse destinataire, montant, calldata d'approbation) avant que l'extension wallet ne demande la confirmation à l'utilisateur. L'utilisateur signe ce qu'il croit être une opération de pari ou d'approbation USDC pour PUSD, alors qu'il signe un transfert net de ses PUSD vers l'attaquant.

Le pattern n'est pas nouveau — les compromissions de Curve.fi en 2022 et de Balancer en 2023 suivaient la même primitive — mais sa réémergence sur un acteur de premier plan en pleine campagne de paris politiques (Polymarket gère plus d'un milliard de dollars de volume nominal mensuel sur ses marchés électoraux et sportifs) en fait un cas d'école pour l'industrie.

Chiffres

- Date de découverte           : 2026-06-25 (matin UTC)
- Montant drainé               : ~2 940 000 $ en PUSD
- Portefeuilles touchés        : >= 11 (confirmés par Specter, Bubblemaps)
- Chaîne d'origine             : Polygon (PUSD natif)
- Destination après pontage    : Ethereum (~1 893 ETH consolidés)
- Token volé                   : PUSD (stablecoin Polymarket, adossé USDC)
- Prestataire compromis        : non nommé publiquement
- Réponse Polymarket           : remboursement intégral des victimes
- Contrats Polymarket touchés  : aucun (off-chain phishing uniquement)
- Sources : Polymarket (post X), DefiLlama (REKT), Specter, Bubblemaps, ZachXBT

PUSD est le stablecoin propriétaire que Polymarket a lancé pour remplacer USDC.e en tant que collatéral natif des paris, après la migration de la plateforme vers une base de marché interne au début de 2026. Il est intégralement adossé à de l'USDC en réserve et permet à Polymarket de contrôler les rampes d'entrée et de sortie sans dépendre directement de Circle pour chaque interaction utilisateur. C'est aussi ce qui rend le PUSD techniquement fungible et drainable comme n'importe quel ERC-20.

Ce qu'il faut surveiller

  1. L'identité du prestataire compromis. Polymarket n'a pas nommé le sous-traitant. La divulgation, si elle a lieu, déterminera si d'autres plateformes DeFi utilisant le même prestataire sont exposées au même vecteur. Les principaux candidats — analytics, intercom, segment, sentry, cloudflare workers, widget de support — sont mutualisés à l'échelle de l'industrie.
  2. La fenêtre d'exposition. Combien d'heures le script a-t-il été servi avant détection ? Le compteur de victimes peut grossir si la fenêtre dépasse les estimations initiales et si certains utilisateurs n'ont pas encore signalé leurs pertes.
  3. Le mouvement on-chain des 1 893 ETH. Les fonds sont consolidés sur une adresse Ethereum identifiable. Le passage par un mélangeur (Tornado Cash, Sinbad, eXch) signalera si l'attaquant a un profil opérationnel (groupe Lazarus-aligned, DPRK proxy, opérateur indépendant). À l'inverse, une absence de mouvement peut indiquer une négociation de bug bounty en cours.
  4. Le passage d'USDC.e à PUSD dans les frictions de remboursement. Polymarket s'engage à rembourser en intégralité, mais la mécanique exacte — émission de nouveaux PUSD, distribution depuis le treasury, ou rachat externe — détermine l'impact sur les réserves USDC adossées.

Contexte — deuxième incident Polymarket en deux mois

L'attaque du 25 juin est le deuxième incident de sécurité de Polymarket en deux mois. En mai 2026, ZachXBT avait signalé une compromission d'une clé privée d'une wallet d'opérations internes liée au système de récompenses, qui avait conduit au siphonnage d'environ 520 000 $ depuis deux contrats sur Polygon. À l'époque, Polymarket avait insisté sur le fait que les fonds utilisateurs et la résolution des marchés n'étaient pas affectés, et la perte avait été absorbée par la trésorerie de l'entreprise.

L'incident du 25 juin est qualitativement plus grave : il touche directement les portefeuilles utilisateurs, pas une hot wallet d'opérations. La promesse de remboursement intégral est donc beaucoup plus coûteuse pour Polymarket — 2,94 M$ versus 520 k$ — et place le sujet de l'audit de chaîne d'approvisionnement front-end au cœur du risk register des marchés de prédiction.

Selon les données DefiLlama, l'attaque Polymarket est le 89ᵉ incident de sécurité crypto recensé pour le deuxième trimestre 2026, ce qui en fait, par le nombre d'incidents, le trimestre le plus chargé de l'histoire des données publiques REKT. Les supply-chain attacks (compromission de dépendances tierces) représentent une fraction croissante de ce total — distinct des exploits de contrats, des compromissions de clés validateur, et des drains de bridges qui dominaient les statistiques 2024–2025.

Sources :

Articles liés