Meebits Hack

Reported loss $700K
Other

What happened

The exploiter's address:

Address 0x0099…933e

The exploiter's smart contract:

Address 0x270f…6ffb

Affected NFT smart contract:

Address 0x7bd2…6bc7

Minting function in NFT uses pseudo randomization depends on block values:

uint index = uint(keccak256(abi.encodePacked(nonce, msg.sender, block.difficulty, block.timestamp))) % totalSize.

It means close to zero randomnesses of the returned index. The exploiter has used a bot and deployed a contract to interact with the NFT contract. The exploiter used open information which exactly what metadata he should receive to sell NFT with the highest profit.

If the bot minted an undervalued NFT, the bot reverted the transaction. This vulnerability allowed exploiter minting predictable expensive NFTs.

Protocol details

Classification NFT
Protocol Type Exploit/Other
Affected asset / contract Meebits
Protocol links Website

Build your security review skills

Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.