isotile ๐Ÿฆ‡๐Ÿ”Š Profile picture
Feb 20 โ€ข 8 tweets โ€ข 3 min read
๐Ÿ’พ TECHNICAL THREAD OF NFTs HACK ๐Ÿ’พ

First of all we need to understand the difference between CALL and DELEGATECALL EVM Opcodes

In a simple way; when you call a contract with delegatecall, it is as if you embed the called function inside the contract itself

๐Ÿงต 1/8
Opensea uses Wyvern Protocol, which is the most optimal fees-wise peer-to-peer exchange protocol

But it has also a disadvantage: when you sign a malicious message, the counter-part can execute that signed message for you

๐Ÿงต 2/8
In order to be able to execute arbitrary code in which two peers agree, the following possibilities must exist within the protocol:

CALL and DELEGATECALL

๐Ÿงต 3/8
โš ๏ธ Hackers only needed ONE signature from you to steal all your approved NFTs

This signature:
#โƒฃ "My approved Opensea Proxy contract is going to make a DELEGATECALL to the hacker contract function transferNFTs" in unreadable form

๐Ÿงต 4/8
The hackers can execute that transaction whenever they want

And they have generalized the code so that they can calmly choose which NFTs they want to steal from you

๐Ÿงต 5/8 Demo concept of the hack contract (real one is encrypted)
After 28 days of storing signatures, the hackers decided to execute the hack

Their code travels into this diagram till they successfully stole your NFTs

๐Ÿงต 6/8
โœ… Proposed solution:
A new signing message standard in which wallets inject the domain at the end of the signature

And older signatures that are not using the new standard appear in red โŒ

@MetaMask @myetherwallet @TrustWallet @CoinbaseWallet

๐Ÿงต 7/8
๐Ÿ“ข This thread is what we think has happened

Investigation is still ongoing and we should wait to official sources from @opensea

๐Ÿงต 8/8

โ€ข โ€ข โ€ข

Missing some Tweet in this thread? You can try to force a refresh
ใ€€

Keep Current with isotile ๐Ÿฆ‡๐Ÿ”Š

isotile ๐Ÿฆ‡๐Ÿ”Š Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @isotile

Feb 20
๐Ÿดโ€โ˜ ๏ธ OPENSEA NFT HACK EXPLAINED THREAD ๐Ÿดโ€โ˜ ๏ธ

28 days ago the hacker uploads a new smart contract, he already knows well that his goal is to get as many signatures as possible

๐Ÿงต 1/4
He starts sending emails with phising websites. They tell you to sign a message to login/migrate to the new Opensea smart contract

Instead you are signing a private sale (0 eth) of your NFTs to the hacker

๐Ÿงต 2/4
Today he executes the smart contract function to steal the NFTs before their listings expire

He can do that because he has your signatures stored on his server

๐Ÿงต 3/4
Read 5 tweets
Feb 17
Did you know we are developing a Furniture Builder for @isotile ecosystem?

We are also finalizing our Sprite Rendering Engine so that complex furniture can be created by users

Best of all, it works on the browser, you don't have to download any executable
The Furniture Builder will follow the Virtual Reality standard, so they could be placed in any metaverse

For this we are improving the existing standards on the interoperability of objects in the metaverse (ERC-721 & stateful VR files)
Thus allowing furniture with different states (door open, door closed) (light on, light off)

Each layer & depth & frame of the furniture will be divided automatically by our Sprite Rendering Engine avoiding any manual work by the user
Read 4 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

:(