ActualitésCryptoFaux USDT sur BNB Chain : le prix de 1 $ est réel, mais pas la sortie

Faux USDT sur BNB Chain : le prix de 1 $ est réel, mais pas la sortie

Auteur: Coindoo·

Points clés

  • •Les faux tokens sont des clones de contrats BEP-20 de 45 octets qui imitent l'USDT à l'aide de caractères ressemblants issus d'alphabets non latins et, dans certains cas, de symboles invisibles de largeur nulle.
  • •Les opérateurs ont épinglé les prix près de 1 $ en associant chaque faux à de l'USDT réel dans des pools PancakeSwap Infinity dont les hooks rejettent les échanges de tout portefeuille hors de leur liste d'autorisation, un portefeuille keeper ayant exécuté 9 522 échanges en quatre jours.
  • •Chaque transfert retracé, y compris les dépôts d'échange des victimes, est parti sans frais de gaz selon le modèle de sponsorship BEP-414 de BNB Chain, un faux paiement à quatre chiffres coûtant à l'expéditeur environ un à deux centimes.
  • •Forta a relié les 32 tokens épinglés à un ensemble plus large d'au moins 151 sosies totalisant plus de 3,1 millions de transferts, tout en avertissant que la valeur nominale d'environ 22 millions de dollars sur les adresses de réception ne constitue pas une perte réelle.
  • •Les recommandations de Binance et Forta conseillent de convenir de l'adresse exacte du contrat avant toute transaction, le véritable USDT sur BNB Chain étant le contrat Binance-Peg BSC-USD se terminant par 7955, et de ne jamais tester un token inconnu en le vendant ou en l'approuvant.
Faux USDT sur BNB Chain : le prix de 1 $ est réel, mais pas la sortie

La plateforme de sécurité blockchain Forta a publié le 10 novembre une enquête sur un cluster de portefeuilles sur BNB Chain — le réseau lancé par l'équipe derrière la plateforme d'échange Binance — qui maintient depuis février 32 faux tokens adossés au dollar à un prix d'environ 1 $, l'un après l'autre, en les faisant passer par des pools sur PancakeSwap, le plus grand échange décentralisé de BNB Chain, qui rejettent toute transaction provenant d'un portefeuille extérieur à la liste d'autorisation des opérateurs. Les tokens portent le nom et le logo de Tether (en imitant l'USDT, le stablecoin adossé au dollar le plus utilisé), arrivent comme des transferts ordinaires et sont remis en paiement de biens. Les vendeurs découvrent généralement ce qu'ils détiennent réellement seulement au moment de vendre, selon le rapport de Forta.

Un vendeur a décrit ce moment à Forta. Il avait vendu des objets d'un jeu en ligne pour un montant à quatre chiffres dans ce que son portefeuille désignait comme USDT sur BNB Chain, avec la marque Tether et un total correspondant en dollars. Le dépôt sur une plateforme d'échange n'a produit aucun crédit. Le token était l'un des 32.

Comment un faux token obtient un prix de 1 $

Le faux est un contrat BEP-20 standard — la version BNB Chain de la norme de tokens ERC-20 — dont les champs de nom et de symbole sont du texte libre. Forta a constaté que les faux de cette rotation sont des clones de 45 octets d'un modèle de token de launchpad, avec « USDT » et « Tether USD » saisis à l'aide de lettres d'autres alphabets qui s'affichent comme des lettres latines. Certains ajoutent des caractères invisibles de largeur nulle à l'intérieur du ticker. Les noms survivent à un coup d'œil rapide et à la plupart des affichages de portefeuilles.

Un nom seul n'afficherait aucun prix. Pour en fournir un, les opérateurs associent chaque faux à de l'USDT réel dans un pool PancakeSwap Infinity. Les pools Infinity acceptent des hooks personnalisés : du code attaché par le créateur du pool qui s'exécute à chaque transaction. Le hook de ces pools n'accepte un échange que depuis des portefeuilles figurant sur la liste d'autorisation des opérateurs. Un portefeuille keeper — un logiciel automatisé remplissant un rôle DeFi de maintenance de routine — fait ensuite transiter de petites transactions dans le pool toutes les quelques minutes, maintenant le dernier prix enregistré entre 0,99 $ et 1,005 $. Sur un token, le keeper a effectué 9 522 échanges en quatre jours.

Les suiveurs de prix, les explorateurs de blocs et les applications de portefeuille lisent cette dernière transaction et l'appliquent à chaque solde du token, partout. Le portefeuille d'un vendeur affiche 1 $ par unité parce qu'un pool a signalé 1 $ par unité ; il n'a aucun moyen de savoir que les seuls portefeuilles pouvant échanger dans le pool appartiennent aux personnes qui ont créé le token. Forta a simulé une vente depuis un portefeuille extérieur au milieu de la période active de chaque pool, et le hook a refusé les 32.

Les opérateurs couvrent également le gaz. Forta a constaté que chaque transfert dans l'affaire qu'elle a retracée, y compris le transfert ultérieur de la victime vers une plateforme d'échange, est parti avec un prix du gaz de zéro, un portefeuille sponsor payant dans le même bloc selon le modèle sans gaz BEP-414 de BNB Chain. L'acheteur n'avait pas besoin de BNB, et le vendeur n'a jamais vu de frais inhabituels. Au prix d'achat du groupe, 5 $ ont acheté 215 786 faux dollars ; l'intégralité du paiement à quatre chiffres a coûté à l'expéditeur un à deux centimes.

Pourquoi le transfert se confirme quand même

Rien dans la transaction n'est falsifié. Prenons un vendeur qui accepte de recevoir 500 USDT. L'acheteur envoie 500 unités du clone. Le bloc se confirme, l'explorateur affiche un transfert de 500, et le portefeuille affiche 500 $. Chaque étape est exacte concernant le contrat qu'elle décrit ; le vendeur n'a simplement jamais vérifié de quel contrat il s'agissait. Il s'agit de transactions directes de personne à personne — les cas de Forta vont d'objets de jeux et de cadeaux collectionnables Telegram à un paiement d'investissement — sans plateforme d'échange ni place de marché intermédiaire pour vérifier quel contrat est arrivé avant que les biens ne changent de mains.

C'est là l'écart qu'un nom ne peut combler. La confirmation prouve qu'un contrat donné a enregistré un mouvement de tokens. Elle ne dit rien sur la question de savoir si ce contrat est celui émis par Tether, et le ticker, le logo et le total en dollars proviennent tous de champs et de flux contrôlés par l'émetteur du faux.

Le vendeur voit un chiffre à l'écran, mais trois quantités différentes se cachent derrière, et seule la dernière est de l'argent. La même distinction explique le dépôt sur la plateforme d'échange qui n'a abouti nulle part : une plateforme ne crédite l'USDT que lorsque le dépôt provient du contrat qu'elle a listé, de sorte qu'un clone arrivant à une adresse de dépôt n'est qu'un token inconnu assis dans un portefeuille d'échange. C'est ainsi que le vendeur qui a contacté Forta a appris ce qui s'était passé.

Ce que les 22 millions de dollars comptent — et ne comptent pas

Forta relie les 32 tokens épinglés à un ensemble plus large d'au moins 151 sosies — 115 copies du dollar, le reste imitant BTC, BNB ou ETH — qui ont totalisé ensemble 3 138 110 transferts au 3 novembre. Le trafic mensuel tournait entre 28 000 et 52 000 transferts jusqu'à l'apparition du premier portefeuille keeper en février, puis a grimpé jusqu'à un pic de 814 457 en août.

Sur les adresses de réception, 266 497 ont reçu des montants ressemblant à des achats — de 20 à 20 000 faux dollars d'un expéditeur qui a payé peu d'autres — et environ 37 000 d'entre elles avaient précédemment envoyé des fonds réels vers une grande plateforme d'échange. En valorisant ce qu'elles ont reçu au 1 $ affiché par leurs portefeuilles, on obtient environ 22 millions de dollars, dans une fourchette de 11 à 34 millions de dollars ; en ne comptant que les 32 tokens épinglés, on obtient environ 4 millions de dollars.

Forta précise explicitement qu'aucun de ces chiffres n'est une perte. L'ensemble inclut des acheteurs, des cibles de spam et des portefeuilles de test, et comme un faux token coûte environ un millième de centime, les montants peuvent gonfler librement : après exclusion des envois massifs de type airdrop, le récepteur médian a obtenu 26 faux dollars. La perte réelle est ce que chaque vendeur a remis, ce qui ne laisse aucune trace sur la chaîne. Sur la chaîne, le groupe d'acheteurs de 13 portefeuilles retracé par Forta a reçu 11 368 $ en stablecoins réels et envoyé 11 054 $ sur quinze mois ; son profit, s'il existe, ce sont les biens.

Trois rapports publics sur Chainabuse, une plateforme où n'importe qui peut signaler des arnaques cryptos, correspondent à des tokens de la même rotation, chacun lié à sa transaction. Sept cadeaux collectionnables Telegram convenus à 600 $ ont été payés avec 650 faux tokens le 30 juillet. Un acheteur qui affirmait avoir envoyé 500 USDT le 2 septembre avait en réalité envoyé 500 clones. Dans un cas d'arnaque à l'investissement, 13 102,81 USDT réels ont quitté le portefeuille d'une victime le 1er juin, et 13 201 faux tokens sont arrivés 65 secondes plus tard. Forta n'a trouvé aucun lien entre ces expéditeurs et le groupe dans sa propre affaire. Coindoo n'a pas reproduit de manière indépendante le traçage ni les simulations de pools.

Quoi vérifier avant de livrer quoi que ce soit

Les recommandations de Binance sur les faux paiements, publiées en septembre, fixent l'ordre : convenir du réseau, de l'adresse du contrat et du montant avant la transaction, puis inspecter ce qui est réellement arrivé avant que des biens, des clés ou des comptes ne changent de mains. Forta ajoute le point de référence qui rend la première étape possible.

USDT sur BNB Smart Chain, affiché sur BscScan, l'explorateur de blocs du réseau, comme Binance-Peg BSC-USD : 0x55d398326f99059fF775485246999027B3197955

Il s'agit du token BEP-20 émis par Binance adossé à l'USDT — celui que les plateformes d'échange et les portefeuilles traitent comme l'USDT sur ce réseau. Sur BscScan, le contrat apparaît comme « Binance-Peg BSC-USD », avec l'ancienne étiquette « BUSD-T Stablecoin » ; les deux désignent le même token émis par Binance. Comparez l'adresse complète, et pas seulement les premiers et derniers caractères : les clones dans ce cas se terminent par « 8888 », un suffixe vanity que leur launchpad attribue.

Ne testez pas un token inconnu en essayant de le vendre. Vendre via un échange décentralisé signifie approuver le contrat de ce token pour déplacer des fonds depuis votre portefeuille, et un contrat que vous n'avez pas choisi n'est pas celui à qui accorder cette permission. Le déposer sur une plateforme d'échange ne prouve rien non plus, comme l'a constaté le vendeur ci-dessus. Laissez le token où il est, conservez l'adresse du contrat et le hash de la transaction, et signalez le problème au fournisseur du portefeuille via son canal de support officiel.

L'écran n'est pas le marché

Le schéma est le même que celui identifié par Coindoo dans les portefeuilles qui semblent rentables sans gagner d'argent : l'écran rapporte ce que la chaîne a enregistré, non pas ce qui peut réellement être retiré. Un paiement est reçu lorsque le contrat convenu, sur le réseau convenu, affiche le montant convenu. Un prix de 1 $ dans un portefeuille est une cotation d'un marché ; dans ce cas, c'était un marché à sens unique, et le vendeur était du mauvais côté de la porte.

D'après le rapport de Coindoo : Fake USDT on BNB Chain: The $1 Is Real, the Exit Isn't.