horsefacts
@horsefacts.eth
The Amps exploit was due to an unprotected reinitializer on their upgradeable contract. The attacker called reinitialize, set themselves as the owner, and changed the implementation to a malicious contract. This is a very common bug in upgradeable contracts. (1/5) https://farcaster.xyz/phil/0x1aa4e6f9
9 replies
9 recasts
70 reactions
horsefacts
@horsefacts.eth
The Amps team reinitialized the contract to the max version to permanently claim back ownership. Too late to save funds that were already transferred, but the exploit is no longer possible and any new or unexploited allowances to the contract are safe. (2/5)
1 reply
1 recast
27 reactions
horsefacts
@horsefacts.eth
If you want to be extra cautious, you can use this mini app to revoke your USDC allowance to Amps. (3/5) https://farcaster.xyz/miniapps/iX85orRFS90j/revoke-amps
1 reply
2 recasts
15 reactions
horsefacts
@horsefacts.eth
If you are the owner of an upgradeable smart contract, you should check for unprotected initializers and ensure that your implementation cannot be initialized. Here's a good explainer of the initialization pattern and common errors. (4/5) https://rareskills.io/post/initializable-solidity
1 reply
0 recast
19 reactions
horsefacts
@horsefacts.eth
Thanks to @bertwurst.eth and @hamdan for sounding the alarm and to everyone who helped with the response. (5/5)
1 reply
1 recast
22 reactions
HamZzz
@hamdan
❤️
0 reply
0 recast
1 reaction
Carter | 🏳️🌈
@incarterseyes.eth
The dog can code too????? Where can I buy that upgrade for mine?
0 reply
0 recast
1 reaction