Il y a une nouvelle classe de personnes qui essaient toutes d'arbitrer les contrats NFTStrategy. En tant que gardien autoproclamé de ces contrats, je jette un œil à la façon dont chaque participant opère. La plupart déploient des contrats non audités à utiliser, généralement avec des délégations EIP7702. 1/🧵
2/ Je ne peux pas insister assez sur le fait qu'avant de déléguer l'intégralité de votre compte à un contrat que vous avez créé avec l'aide de ChatGPT... en fait, ne déléguez pas l'intégralité de votre compte à un contrat que vous avez créé avec l'aide de ChatGPT.
3/ Certaines personnes utilisent des EOAs vides pour exécuter l'arbitrage. C'est généralement acceptable, car une exploitation de contrat risque au maximum ce que vous avez sur votre compte. Cependant, vous vous exposez toujours à un risque si vous utilisez un jour le compte pour autre chose à l'avenir.
4/ Par exemple, si 0xB4 acquiert un Bored Ape sans d'abord révoquer l'approbation que j'ai forcée sur son compte, le singe est aussi bon que le mien. Je ne le prendrais jamais bien sûr, c'était juste un avertissement on-chain.
5/ De même, pour l'utilisateur OS "deadcells" : J'ai votre EPG #35 et Howlerz #3924. Déléguez à un nouveau contrat avec une forme de contrôle d'accès, surtout puisque votre pourboire de mineur codé en dur peut être utilisé pour vider de force votre ETH. Je retournerai bien sûr les NFTs une fois que vous serez en sécurité.
7/ Le problème est triple : Tout d'abord, il n'y a aucun contrôle pour s'assurer que le contrat de stratégie appelle la fonction. Deuxièmement, il n'y a aucun contrôle pour s'assurer que l'appel du marché achète un NFT. Troisièmement, il n'y a aucun contrôle pour s'assurer que le NFT transféré est bien un NFT.
8/ L'exploitation est simple : l'appel du marché devient littéralement ce que vous voulez (un transfert d'NFT, une approbation de WETH, ou tout appel de contrat arbitraire). Le transfert d'NFT peut être n'importe quoi en réalité, tant que le contrat a une fonction transferFrom qui ne renverra pas d'erreur.
9/ Dans les cas ci-dessus, j'ai déclenché un transfert de valeur zéro sur USDC en fournissant "0" comme l'ID de jeton attendu. "transferFrom(them, me, 0)" est techniquement un transfert valide aux yeux du contrat USDC.
10/ Donc encore une fois, un appel à tout le monde : faites auditer vos contrats, peu importe à quel point vous pensez qu'ils sont simples. Cet espace est dangereux, et vous devez supposer que tout le monde est là pour vous nuire (c'est le cas).
Afficher l’original
123,68 k
425
Le contenu de cette page est fourni par des tiers. Sauf indication contraire, OKX n’est pas l’auteur du ou des articles cités et ne revendique aucun droit d’auteur sur le contenu. Le contenu est fourni à titre d’information uniquement et ne représente pas les opinions d’OKX. Il ne s’agit pas d’une approbation de quelque nature que ce soit et ne doit pas être considéré comme un conseil en investissement ou une sollicitation d’achat ou de vente d’actifs numériques. Dans la mesure où l’IA générative est utilisée pour fournir des résumés ou d’autres informations, ce contenu généré par IA peut être inexact ou incohérent. Veuillez lire l’article associé pour obtenir davantage de détails et d’informations. OKX n’est pas responsable du contenu hébergé sur des sites tiers. La détention d’actifs numériques, y compris les stablecoins et les NFT, implique un niveau de risque élevé et leur valeur peut considérablement fluctuer. Examinez soigneusement votre situation financière pour déterminer si le trading ou la détention d’actifs numériques vous convient.