Toutes les vulnérabilités
CRITICALWeb3exploited in the wild

WEB3-MUNCHABLES-2024

Web3 · Blast · Munchables

Résumé

On March 26, 2024, Munchables, an NFT game on the Blast Layer-2, was exploited for about $62.5M by a rogue insider developer (suspected but not officially confirmed to be North Korea/Lazarus-linked, and likely a single person posing as four hires using GitHub identities such as NelsonMurua913, Werewolves0493, BrightDragon0719 and Super1114). The contract was a dangerously upgradeable proxy whose deployer/owner address the developer controlled rather than the protocol. Before the audited implementation was upgraded in on March 21, the developer manipulated the proxy's storage slots to assign their own address a deposited balance of 1,000,000 ETH; because proxy upgrades replace logic but not storage, this pre-seeded fake balance persisted through the later upgrade to the secure version. Once total value locked grew large enough, the attacker invoked the legitimate-looking withdrawal path against the fake balance to drain the funds. After ZachXBT publicly exposed the developer, they returned the private keys unconditionally and the full ~$62M was recovered to a multisig held by Blast core contributors.

Comment l’éviter dans votre code

  • Require multi-party, verified deployments so no single developer controls the deployer/owner address of upgradeable contracts.
  • Audit initial storage state and initializers of proxies, not just logic, before and after every upgrade.
  • Use transparent/UUPS upgrade patterns with timelocks and multisig-gated, independently reviewed upgrades.
  • Vet and verify developer identities for privileged roles; enforce least privilege and separation of deploy vs upgrade authority.
  • Verify deployed bytecode and constructor/storage values against audited source before funding.

Références

Vulnérabilités liées

Tout Web3 →