Populární témata
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Studium minulých zneužití chytrých kontraktů je vynikající pro to, abyste se stali lepším vývojářem Solidity.
Nedávno jsem strávil nějaký čas přezkoumáváním mnoha exploitů, ke kterým došlo v posledních několika letech.
Pochopení hlavní příčiny hacku je skvělý způsob, jak se naučit, jak přemýšlet jinak o psaní kódu.
Poskytuje vám také lepší intuici pro to, které komponenty jsou při pohledu na nové kódové základy nejkritičtější.
Doporučuji každému, kdo chce vylepšit svou hru Solidity, aby si prošel minulé exploity na @RektHQ nebo se podíval na @phylaxsystems dokumentaci, kde máme rozbory hacků a jak jim tvrzení mohla zabránit.
Studiem těchto minulých hacků jsem si uvědomil, že často jsou zneužití možná kvůli chybějícím kontrolám v kódu nebo nesprávným výpočtům, které vedou k tomu, že protokoly vstupují do stavů, ve kterých nemají být. Jakmile dojde ke zneužití, chyba se často zdá být zřejmá. Musíme zajistit, aby protokoly tyto údaje snadněji identifikovaly.
Mnoha protokolům by prospělo, kdyby strávily čas definováním invariantů a zajištěním, že je nelze porušit.
Psaní tvrzení je skvělý způsob, jak zajistit, aby tyto invarianty nemohly být nikdy porušeny.
Posledním exploitem, který jsem strávil zkoumáním, byl exploit Abracadabra z března 2025, kde bylo ztraceno ~13 milionů dolarů:
Chyba: sendValueInCollateral() extrahoval skutečné tokeny, ale zapomněl aktualizovat interní účetní proměnné
Zneužití: orderValueInCollateral() hlásilo stejnou hodnotu kolaterálu i po odstranění tokenů
Výsledek: Útočník si opakovaně půjčoval proti "fantomovému kolaterálu", dokud nebyly prostředky vyčerpány
Tvrzení, které ověřuje jednoduchý invariant, že "nahlášený kolaterál" odpovídá "skutečnému kolaterálu", by hackerskému útoku zabránilo.

940
Top
Hodnocení
Oblíbené