Rubriques tendance
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.

sudo rm -rf --no-preserve-root /
Travailler sur la suite.
ꟼGꟼ : 063E 966C 93AB 4356 492F E032 7C3B 4B4B 7725 111F
sudo rm -rf --no-preserve-root / a reposté
BlockThreat - Semaine 28, 2025
💙 Sponsorisé par @SecurityOak
🔥 Exploitation massive de contrats proxy découverte par @deeberiroz et whitehatted par @pcaversaccio @dedaub et @_SEAL_Org
💸 @GMX_IO hack de réentrance de 42M$ (37M$ récupérés)
💸 @KintoXYZ proxy non initialisé. 1,55M$
2,42K
sudo rm -rf --no-preserve-root / a reposté
Leçons pour les experts en sécurité : Auditez rigoureusement les initialisations de proxy.
Surveillez les chaînes de delegatecall (facile à faire dans notre application) et assurez l'intégrité du stockage avec des modèles de proxy complexes.
Bravo à @deeberiroz @VennBuild @pcaversaccio @_SEAL_Org
Restez vigilants.
1,99K
J'ai donc découvert que c'est encore plus sophistiqué. J'ai observé que la transaction de frontrunning (par les attaquants) appelle `initialize` et que les protocoles appellent également _avec succès_ `initialize` après (ainsi ils pensent que tout est normal). Mais attendez, comment est-ce même possible ? J'ai dû examiner très en profondeur les changements de slot de stockage et devinez ce que j'ai trouvé : ils _réinitialisent_ la valeur du slot de stockage `_initialized` à la fin de la transaction de frontrunning (après avoir échangé avec le contrat d'implémentation malveillant). Cela signifie que le stockage du proxy semble maintenant comme s'il n'avait jamais été initialisé.
Le slot de stockage pertinent à examiner est `keccak256(abi.encode(uint256(keccak256(" - 1)) & ~bytes32(uint256(0xff))` = `0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00`
C'est du mal de niveau supérieur.



sudo rm -rf --no-preserve-root /10 juil., 22:13
C'est encore plus sophistiqué : la façon dont Etherscan a été trompé en affichant le mauvais contrat d'implémentation repose sur la définition de 2 slots de proxy différents dans la même transaction de frontrunning. Ainsi, Etherscan utilise une certaine heuristique qui incorpore différents slots de stockage pour récupérer le contrat d'implémentation.
Il existe un ancien proxy par OpenZeppelin qui utilisait le slot suivant : `keccak256("org.zeppelinos.proxy.implementation")` = `0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3`
Nous avons maintenant aussi le slot standard EIP-1967 `bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)` = `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`
Ce qui s'est passé, c'est que l'ancien slot de proxy OpenZeppelin a été écrit avec l'adresse d'implémentation bénigne _et_ le slot standard EIP-1967 a également été écrit avec l'adresse d'implémentation malveillante. Puisqu'Etherscan interroge d'abord l'ancien slot de proxy, il a récupéré le premier qui semblait bénin et l'a donc affiché.

21,55K
sudo rm -rf --no-preserve-root / a reposté
Plus tôt cette semaine, une vulnérabilité potentielle dans le contrat de gestion inter-chaînes d'Orderly sur la chaîne BNB a été identifiée.
En réponse, notre coffre BNB pour les dépôts et les retraits a été immédiatement suspendu, les contrats ont été migrés et les dépôts/retraits ont repris dans les 2 heures.
✅ Aucun fonds utilisateur n'est en danger, ni n'a été perdu.
Un grand merci à @deeberiroz, @VennBuild, @seal_911, @pcaversaccio, et au reste de l'équipe qui a aidé à signaler cela !
Plus sûrs ensemble 🤝
7,53K
sudo rm -rf --no-preserve-root / a reposté
[5/5]
Appel à la gratitude • @SlowMist_Team pour le triage et les correctifs sans relâche • @dedaub, @pcaversaccio, et la salle de guerre @seal_911 pour un balayage de code de 36 heures • @etherscan pour un nettoyage de l'interface utilisateur ultra-rapide • Et encore une fois, merci @deeberiroz, @VennBuild, @davidberiro—votre alerte a sauvé la mise 💙
12,32K
C'est encore plus sophistiqué : la façon dont Etherscan a été trompé en affichant le mauvais contrat d'implémentation repose sur la définition de 2 slots de proxy différents dans la même transaction de frontrunning. Ainsi, Etherscan utilise une certaine heuristique qui incorpore différents slots de stockage pour récupérer le contrat d'implémentation.
Il existe un ancien proxy par OpenZeppelin qui utilisait le slot suivant : `keccak256("org.zeppelinos.proxy.implementation")` = `0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3`
Nous avons maintenant aussi le slot standard EIP-1967 `bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)` = `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`
Ce qui s'est passé, c'est que l'ancien slot de proxy OpenZeppelin a été écrit avec l'adresse d'implémentation bénigne _et_ le slot standard EIP-1967 a également été écrit avec l'adresse d'implémentation malveillante. Puisqu'Etherscan interroge d'abord l'ancien slot de proxy, il a récupéré le premier qui semblait bénin et l'a donc affiché.

41,05K
Je ne sais pas, mec, mais la véritable menace pour Ethereum n'est pas l'État en fait (du moins pas aujourd'hui). Ce sont les VC et les carriéristes de protocole qui essaient de le transformer en un terrain de jeu fintech brillant pour un DeFi "sûr" et conforme. Écoute-moi : ils ne veulent pas de code inarrêtable. Ils ne veulent pas de résistance. Ils veulent putain de _contrôle_. Parce qu'au fond, ils savent ce qu'Ethereum pourrait devenir s'il était laissé sans chaînes : une couche d'exécution mondiale résistante à la censure et axée sur la vie privée que aucun État, aucune entreprise, aucun cartel de costards ne pourrait jamais putain d'arrêter. Faisons de cela une réalité.
19,38K
Alors, quelqu'un vous contacte sur LinkedIn avec une opportunité d'emploi prometteuse. Ça a l'air bien, non ? Ils semblent légitimes (après les avoir vérifiés pendant 1 minute) et après une courte conversation, ils vous envoient un dépôt GitHub avec une "tâche de recrutement" simple en Next.js. Vous le clonez, l'exécutez... et 10 minutes plus tard, votre appareil est complètement compromis car vous découvrez que vos portefeuilles chauds ont été vidés. D'accord, que s'est-il passé ? Étant donné que nous (= SEAL 911) avons vu cette attaque encore et encore, permettez-moi de dévoiler certains des détails les plus importants :
- d'abord, le caveat le plus important : ne JAMAIS exécuter du code aléatoire qu'un inconnu vous a envoyé. Honnêtement, ne le faites pas.
- vérifiez toujours les fichiers de configuration _exécutables_ des dépôts en profondeur. Dans ce cas particulier, le fichier `next.config.js` avait un grand remplissage cachant la charge malveillante très à droite.
- faites toujours défiler horizontalement - juste parce que vous ne voyez rien de malveillant lorsque vous regardez le contenu ne signifie pas qu'il est propre.
Important : Le code malveillant peut être caché dans des fichiers de confiance, juste pas là où vous vous y attendez.
J'espère vraiment que ce tweet atteindra suffisamment de personnes pour empêcher au moins quelques futures victimes de tomber dans ce genre d'attaque.



34,45K
Meilleurs
Classement
Favoris
Tendance on-chain
Tendance sur X
Récents financements de premier plan
Les plus notables