Argomenti di tendenza
#
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.
Studiare gli exploit passati dei contratti smart è eccellente per diventare un miglior sviluppatore Solidity.
Recentemente ho trascorso del tempo a rivedere molti degli exploit che si sono verificati negli ultimi due anni.
Comprendere la causa principale di un hack è un ottimo modo per imparare a pensare in modo diverso quando si scrive codice.
Dà anche una migliore intuizione su quali componenti siano più critici quando si esaminano nuove basi di codice.
Raccomando a chiunque voglia migliorare il proprio gioco in Solidity di esaminare gli exploit passati su @RektHQ o di controllare la documentazione di @phylaxsystems, dove abbiamo analisi di hack e come le asserzioni avrebbero potuto prevenirli.
Studiano questi hack passati, ho realizzato che spesso gli exploit sono possibili a causa di controlli mancanti nel codice o calcoli errati che portano i protocolli a entrare in stati in cui non dovrebbero trovarsi. Una volta che l'exploit è avvenuto, il bug sembra spesso ovvio. Dobbiamo assicurarci che i protocolli abbiano un modo più semplice per identificare questi problemi.
Molti protocolli trarrebbero beneficio dal dedicare tempo a definire invarianti e assicurarsi che questi non possano essere violati.
Scrivere asserzioni è un ottimo modo per garantire che queste invarianti non possano mai essere violate.
L'ultimo exploit su cui ho trascorso del tempo a indagare è stato l'exploit di Abracadabra di marzo 2025, dove sono stati persi ~$13 milioni:
Il Bug: sendValueInCollateral() ha estratto token reali ma ha dimenticato di aggiornare le variabili contabili interne.
L'Exploit: orderValueInCollateral() continuava a segnalare lo stesso valore di collaterale anche dopo che i token erano stati rimossi.
Risultato: l'attaccante ha preso in prestito contro "collaterale fantasma" ripetutamente fino a svuotare i fondi.
Un'asserzione che controlla la semplice invariante che il "collaterale segnalato" corrisponde al "collaterale effettivo" avrebbe prevenuto l'hack.

943
Principali
Ranking
Preferiti