Un extrait pour ceux qui ont la flemme de tout lire
Le code source
Chaque point ci-dessous s’appuie sur du code et des données extraits de leurs serveurs.
Fingerprinting de wallets crypto — sci.js + Web3stats.php
Un script
sci.jss’exécute dans votre navigateur à chaque visite. Déguisé enImageCarouselManager(une classe carousel factice de 213 lignes, jamais instanciée), il scanne la présence de wallets crypto : Phantom (Solana), MetaMask (Ethereum), Trust Wallet, Coinbase Wallet, WalletConnect.Si un wallet est détecté, les informations sont envoyées au backend via
Web3stats.php(controller CodeIgniter, clé d’accèsd3ShGIbbX3). La fonctioncollect()stocke le type de wallet, le user-agent, l’IP et le session_id. Tableau de bord accessible à/web3stats?key=d3ShGIbbX3.Le script ne vole rien directement. Il identifie, parmi les 6,6 millions d’utilisateurs, lesquels possèdent un wallet crypto et lequel.
// sci.js — detection de wallets (lignes 443-489) const isPhantomInstalled = window.phantom?.solana?.isPhantom; const provider = window.ethereum || window.web3?.currentProvider; if (isPhantomInstalled || provider) { const walletType = isPhantomInstalled ? 'Phantom' : detectWalletType(provider); await sendWeb3Info(walletType); // POST → /web3stats/collect } function detectWalletType(provider) { const walletTypes = { isPhantom: 'Phantom', isMetaMask: 'MetaMask', isTrust: 'Trust Wallet', isCoinbaseWallet: 'Coinbase Wallet', isWalletConnect: 'WalletConnect' }; return Object.entries(walletTypes) .find(([key]) => provider[key])?.[1] || 'Unknown Wallet'; }Suspicion de skimming bancaire — Security.php
Un controller CodeIgniter de 1,6 Ko, présent dans le code de production, reçoit le numéro de carte complet (PAN), le CVV, la date d’expiration et le nom du titulaire via POST. Les données sont relayées vers un processeur de paiement (Singularity) via un formulaire caché auto-soumis, mais elles transitent d’abord en clair par le serveur YGG. Destroy aurait donc eu accès à l’intégralité des numéros de carte de ses utilisateurs.
Pourquoi faire transiter des données bancaires par son propre serveur quand le processeur de paiement propose un checkout hébergé ? Pourquoi rediriger silencieusement vers google.com quand le token de commande est invalide (technique classique d’anti-analyse) ? Pourquoi un formulaire caché auto-soumis plutôt qu’un appel API côté serveur ?
Je ne peux pas affirmer avec certitude que ce fichier a été utilisé pour du skimming. Mais sa présence dans le code de production, combinée aux nombreux témoignages de fraudes bancaires sur Reddit après des paiements sur YGG, pose des questions auxquelles tu devrais répondre, Destroy.
“Après avoir payé du free leech la semaine dernière par PayPal, aujourd’hui 4000E de matériel de son ont été commandé chez Thomann et livré à une boutique inexistante du 93 sous le nom de Kevin. Ce PayPal n’avait pas été utilisé depuis plus d’un an sauf pour YGG.” — u/TatonTatonne, octobre 2024
Les PixelPioneers ne jouent pas, ils explorent des mondes. Ce sont des aventuriers numériques, à la recherche de chaque quête, chaque boss et chaque easter egg.
