Le 29 octobre, des utilisateurs de la plateforme internationale de Polymarket ont signalé des ventes de positions et des retraits qu’ils n’avaient pas autorisés. Polymarket a temporairement arrêté les nouvelles transactions et son relayer, avant d’annoncer qu’un prestataire tiers avait été compromis.
Selon l’estimation de Bitquery, environ 2,73 millions de dollars ont quitté 737 comptes en une heure. Ce n’est pas un bilan officiel de Polymarket, qui n’a publié ni le nombre définitif de victimes ni le montant total.
Bitquery n’a pas identifié de smart contract cassé. Les retraits portaient des autorisations valides et ont emprunté l’infrastructure habituelle de Polymarket. Ils paraissaient techniquement autorisés, alors que les titulaires des comptes affirmaient ne pas les avoir demandés.
La chronologie
Les premiers retraits ont commencé à 17 h 10 UTC. Cinq comptes ont été vidés lors d’une première salve, dont un d’environ 75 000 dollars. Après une pause de 13 minutes, le rythme a atteint jusqu’à 40 retraits par minute.
À 18 h 10 UTC, Bitquery dénombrait 737 comptes touchés. La perte individuelle la plus importante atteignait environ 358 000 dollars. Si 39% des portefeuilles ont perdu moins de 100 dollars, quatre comptes représentaient 43% du montant suivi. Des positions ouvertes ont également quitté 33 comptes.
À 18 h 05 UTC, la page de statut officielle a annoncé le mode cancel-only : les ordres existants pouvaient être annulés, mais aucun nouvel ordre ni échange n’était traité. Le relayer a été suspendu au même moment.
À 18 h 37 UTC, Polymarket a déclaré avoir identifié et corrigé le problème. La plateforme a évoqué un prestataire tiers compromis, saisi les autorités et promis de rembourser intégralement les personnes touchées. L’incident a été marqué résolu à 19 h 05 UTC.
Comment un script tiers a pu atteindre les fonds
Une plateforme moderne charge des composants externes pour l’analyse, la surveillance des performances, l’assistance ou la détection d’erreurs.
Cette intégration est installée par l’exploitant du site, pas individuellement par chaque utilisateur. Les enquêtes désignent ici un script de monitoring intégré au site de Polymarket. Le navigateur le chargeait automatiquement avec la page. Les utilisateurs n’avaient installé ni application ni extension DebugBear.
Ce code s’exécute dans une page déjà considérée comme fiable. Si son fournisseur est compromis, du code malveillant peut arriver par l’intégration normale et interagir avec une session authentifiée.
Polymarket n’a pas nommé publiquement le prestataire. Toutefois, l’Associated Press et d’autres médias ont relié l’incident à DebugBear. L’entreprise a signalé le même jour son propre incident de sécurité et conseillé à ses clients de retirer son code Real User Monitoring.
BleepingComputer a analysé une copie du JavaScript malveillant. Selon son enquête, il vérifiait la présence d’une session active, évaluait les soldes et les positions, puis tentait d’utiliser les fonctions ordinaires de Polymarket pour les transférer.
Il ne s’agit donc pas d’une faille du smart contract. Celui-ci pouvait vérifier correctement une autorisation et exécuter exactement l’instruction reçue. Le problème intervenait avant, dans l’interface préparant l’action au nom d’un utilisateur connecté.
Deposit wallet, autorisation et relayer
Le deposit wallet conserve les fonds du compte sur Polygon. Bitquery indique qu’il contenait du pUSD adossé au USDC à parité.
Une autorisation permet une action précise. Pour la blockchain, c’est une instruction cryptographiquement valide. Elle ne peut toutefois pas savoir si la personne la souhaitait réellement, si l’interface avait été modifiée ou si un code externe exploitait sa session.
Le relayer soumet la transaction et paie les frais de réseau pour l’utilisateur. D’après Bitquery, ce parcours a techniquement fonctionné normalement le 29 octobre. Seule la destination avait changé : les fonds étaient envoyés vers une adresse contrôlée par l’attaquant.
Une autorisation valide n’équivaut donc pas à un retrait volontaire. La première notion décrit la vérification de la blockchain; la seconde concerne l’intention humaine.
Une anomalie visible on-chain
La vague principale s’est arrêtée presque en même temps que le relayer. Pendant les deux semaines précédentes, la médiane était d’environ 47 retraits quotidiens convertis en POL via Relay. Le 29 octobre, une seule adresse a reçu 981 transferts.
Une surveillance automatisée pourrait combiner plusieurs signaux : des centaines de comptes, une même destination, une hausse soudaine de la fréquence, la vente de positions juste avant le retrait et un écart extrême par rapport à l’activité habituelle.
Selon Bitquery, les fonds ont été convertis en POL, regroupés sur une adresse, puis répartis entre de nouveaux portefeuilles et déplacés vers Ethereum. Un nouveau compte Polymarket aurait également servi à vendre ou convertir des positions volées.
Lors du dernier relevé à 19 h 49 UTC, l’essentiel des fonds suivis se trouvait encore sur Polygon. Il s’agit d’un instantané, pas d’un bilan définitif.
Pourquoi les chiffres restent des estimations
Les données on-chain montrent les adresses, les montants et les horaires, mais n’identifient pas à elles seules l’attaquant ni la méthode d’obtention de chaque autorisation. Bitquery a compté le parcours qu’elle a pu suivre; d’autres adresses ou méthodes pourraient modifier le total.
La formulation exacte est donc la suivante : Bitquery estime à 2,73 millions de dollars les pertes suivies sur 737 comptes. Polymarket n’a pas officiellement confirmé ces chiffres.
Remboursement et responsabilité
Polymarket a promis de rembourser intégralement toutes les personnes touchées. Au moment de la publication, aucun rapport final ne précisait le nombre de comptes, le montant total des remboursements ou leur calendrier.
Pour le client, un prestataire externe fait partie du produit. Il n’utilise pas séparément un smart contract, un relayer ou un outil de monitoring. Si une dépendance s’exécute dans l’interface de confiance et peut atteindre une session authentifiée, sa sécurité devient celle de la plateforme.
En juin 2026, Polymarket avait déjà signalé qu’un autre fournisseur compromis avait injecté du code malveillant dans le frontend de certains utilisateurs. Les deux cas concernent une dépendance tierce et l’interface, mais rien ne permet encore d’affirmer qu’ils reposaient sur le même mécanisme ou qu’ils étaient liés.
Un smart contract sûr ne protège pas tout le système
Une blockchain peut confirmer qu’une transaction respecte les règles techniques. Elle ne peut pas confirmer que la personne a vu une interface honnête, compris l’adresse de destination et voulu effectuer précisément cette action.
La chaîne de sécurité complète est donc :
code tiers → session du navigateur → autorisation → relayer → smart contract → adresse de destination
Le 29 octobre, la fin de cette chaîne a fonctionné comme prévu. Compromettre son début a suffi pour qu’une exécution correcte produise un résultat indésirable pour les utilisateurs.
Polymarket a limité les opérations, rétabli les échanges et promis des remboursements. Restent maintenant à confirmer ces paiements et à expliquer comment empêcher une autre dépendance externe de produire à nouveau des transactions valides, mais non désirées.


