/smart-contract-attaks-list

A chronological list of smart contract attacks to date.

MIT LicenseMIT

⚔️ A Historical Collection of Smart contract Attacks

📚 Types of Smart Attacks

  1. Insufficient Gas Griefing
  2. Reentrancy
  3. Integer Overflow and Underflow
  4. Timestamp Dependence
  5. Authorization Through tx.origin
  6. Floating Pragma
  7. Outdated Compiler Version
  8. Unsafe Low-Level Call
  9. Uninitialized Storage Pointer
  10. Assert Violation
  11. Use of Deprecated Functions
  12. Delegatecall to Untrusted Callee
  13. Signature Malleability
  14. Incorrect Constructor Name
  15. Shadowing State Variables
  16. Weak Sources of Randomness from Chain Attributes
  17. Missing Protection against Signature Replay Attacks
  18. Requirement Validation
  19. Write to Arbitrary Storage Location
  20. Incorrect Inheritance Order
  21. Presence of Unused Variables
  22. Unencrypted Private Data On-Chain
  23. Inadherence to Standards
  24. Asserting Contract from Code Size
  25. Transaction-Ordering Dependence
  26. DoS with Block Gas Limit
  27. DoS with (Unexpected) revert
  28. Unexpected ecrecover null address
  29. Default Visibility
  30. Insufficient Access Control
  31. Off-By-One
  32. Lack of Precision

A chronological list of smart contract attacks to date.

序列 攻击合约地址 字节码 攻击交易 攻击项目 攻击时间 攻击类型 备注
1 The DAO Attack The bytecode The Tx The DAO 2016年6月17日 Reentrancy Attack
2 SpankChain Attack The bytecode The Tx SpankChain 2018年10月9日 Reentrancy Attack
3 BEC hack The Tx BeautyChain 2018年4月22日 Integer Overflow or Underflow
4 ATN Token attack The Tx AI Technology Network (ATN) 2018年6月20日 Insufficient Access Control
5 imBTC Uniswap pool attack The bytecode The Tx imBTC Uniswap pool attack 2020年4月18日 Reentrancy Attack
6 Lendf.Me attack The bytecode The Tx Lend.fMe 2020年4月19日 Reentrancy Attack
7 VETH hack The bytecode The Tx VETH 2020年6月30日 Insufficient Access Control
8 Akropolis attack The bytecode The Tx Akropolis 2020年11月12日 Reentrancy Attack && Flash Loan Attack
9 ValueDeFi attack The bytecode The Tx ValueDeFi 2021年5月7日 Reentrancy Attack
10 Rari Capital attack The bytecode The Tx Rari Capital 2021年5月8日 Reentrancy Attack && Flash Loan Attack
11 BurgerSwap attack The bytecode The Tx BurgerSwap 2021年10月22日 Reentrancy Attack
12 PolyDEX attack The bytecode The Tx PolyDEX 2021年6月20日 Reentrancy Attack
13 DeFiPie attack The bytecode The Tx DeFoPie 2021年7月12日 Reentrancy Attack && Flash Loan Attack
14 XSURGE attack The bytecode The Tx XSURGE 2021年8月16日 Reentrancy Attack
15 C.R.E.A.M. Finance attack The bytecode The Tx C.R.E.A.M. Finance 2021年10月27日 Reentrancy Attack && Flash Loan Attack
16 Siren Protocol attack The bytecode The Tx Siren Protocol 2021年9月3日 Reentrancy Attack
17 MonoX Finance attack The bytecode The Tx MonoX Finance 2021 年11 ⽉30 ⽇ Price Manipulation Vulnerability &&Liquidity Removal Vulnerability
18 Grim Finance attack The bytecode The Tx Grim Finance 2021年12月18日 Insufficient Access Control&&Reentrancy attack
19 Visor Finance attack The bytecode The Tx Visor Finance 2021年12月21日 Insufficient Access Control&&Reentrancy attack
19 HypeBears attack The bytecode The Tx HypeBears 2022年2月3日 Reentrancy Attack 利用了合约中的_safeMint函数的外部调用,通过在onERC721Received回调函数中执行重入调用
20 Paraluni attack The bytecode The Tx Paraluni 2022年3月13日 Reentrancy Attack
21 DEUS protocol attack The bytecode The Tx Fantom DEUS protocol 2022年4月28日 Flash Loan Attack Oracle 喂价合约中,价格计算取决于交易对的余额数量,容易通过闪电贷操纵
22 Revest Finance attack The bytecode The Tx Revest Finance 2022年3月27日 Reentrancy Attack ERC1155 NFT Reentrancy
23 Rikkei Finance attack The bytecode Tx1 Tx2 Rikkei Finance 2022年4月15日 Oracle Attack 利用了合约中一个名为 setOracleData 的函数,将预言机(prophecy machine)替换为恶意的预言机
24 Beanstalk attack The bytecode The Tx Beanstalk Farm 2022年4月17日 Flash Loan Attack &&Logic Error
25 Fei Protocol attack&&attack2 bytecode 1 bytecode 2 The Tx Fei Rari Fuse Pool 2022年4月30日 Reentrancy Attack Rari Capital的CEtherDelegator 合约中的 doTransferOut 方法使用了 call 方法进行代币转移,存在重入漏洞
26 bDollor attack The bytecode The Tx bDollar 2022年4月30日 Logic Error 合约会为流动性池自动补充流动性,而未考虑代币价格是否失衡
27 Bistroo attack The bytecode The Tx BIST Single Asset Staking 2022年5月7日 Reentrancy Attack
28 Fortress Protocol attack The bytecode The Tx Fortress Protocol controller&&Oracle 2022年5月9日 Oracle Attack 使用预言机时,复制了Compound的实现,并且存在问题
29 FEG attack The bytecode Tx1 Tx2 FEG(Feed Every Gorila) BNB&&ETH 2022年5月16日 Flash Loan Attack swapToSwap() 函数中 path 地址参数
30 GYM Network attack 1&&attack 2 The bytecode The Tx GymSinglePool 2022年 6月8日 Insufficient Access Control Public deposit From Other Contract权限控制问题 more ref
31 Stader NearX attack The Tx Stader’s NearX 2022年8月16日 Reentrancy Attack
32 ShadowFi attack The bytecode The Tx ShadowFi 2022年8月24日 Default Visibility
33 QuickSwap Lend attack The bytecode The Tx QuickSwap Lend 2022年10月24日 Read-only Reentrancy Curve LP Oracle价格反馈漏洞+Read-only Reentrancy漏洞
34 Skyward Finance The Tx Skyward Finance 2022年11月2日 Insufficient checks
35 DFX Finance attack The bytecode The Tx DFX Finance 2022年11月10日 Reentrancy Attack
36 Defrost Finance attack The bytecode The Tx Defrost Finance 2022 年12 月23 日 Reentrancy Attack
37 Rubic Exchange attack The bytecode The Tx Rubic Proxy 2022年12月25日 Insufficient Access Control
38 ThreeBodyOF The bytecode Tx1 Tx2Tx3 ThreeBodyOF 2023年1月12日 Flash Loan Attack
39 2Pi Network attack The bytecode The Tx 2Pi Network 2023年1月15日 Logic Error 利用了一个池子不平衡,通过在提款事件中请求底层协议返回资产的数量,并在此过程中操控计算
40 Abracadabra Money white hat attack The bytecode The Tx Abracadabra Money Cauldron V4 2023年1月16日 Reentrancy Attack Cauldron V4合约的设计中,引入了一个新功能以支持黑名单中的地址被cook函数的call操作调用
41 Dynamic Finance attack The bytecode The Tx Dynamic Finance 2023年1月22日 Reentrancy Attack && Flash Loan Attack StakingDYNA合约的存款跟踪系统c
42 Sentiment attack The bytecode The Tx Sentiment 2023年4月4日 Read-only Reentrancy
43 Euler Finance attack The bytecode The Tx Euler 2023年3月13日 Flash Loan Attack
44 SushiSwap Attack The bytecode The Tx SushiSwap: Route Processor 2 2023n年4月9日 Permission verification vulnerability ProcessRoute 未对用户传入的 route 参数进行任何检查
45 BGN Exploit The bytecode The Tx&& NTF Stake Tx BeatGenAI&&Oracle 2023年4月14日 Flash Loan &&Logic Error oracle.sol 中的 convertUsdBalanceDecimalToTokenDecimal() 函数存在问题,可以通过减少 balanceStableToken 变量来增加 amountTokenDecimal 的返回值。
46 Deus DAO The bytecode Tx1 Tx2Tx3 Deus DAO Protocol 2023年5月6日 Authorization Misconfiguration Vulnerability burnFrom() 函数中的授权配置错误
47 Jimbos attack The bytecode The Tx Jimbos protocol 2023年5月28日 Price Manipulation Vulnerability
48 HashFlow attack The bytecode Tx1 Tx2Tx3 HashFlow 2023年6月14日 Logic Error 合约被废弃后,用户的授权未被及时撤销
49 Midas Capital attack The bytecode The Tx Midas Capital 2023年6月18日 Integer Overflow or Underflow divUInt的函数,hacker会控制输入数量,使得计算结果被向下取整后实际上翻倍
50 AzukiDao attack 1&&attacker 2 The Tx AzukiDAO 2023年7月3日 Missing Protection against Signature Replay Attacks
51 Arcadia Finance attack The bytecode The Tx Arcadia Finance 2023年7月10日 Reentrancy Attack
52 BNO attack The bytecode The Tx Ocean BNO 2023年7月18日 Logic Error 奖励计算机制和紧急提现函数的交互逻辑存在问题
53 Curve attack The bytecode The Tx Curve Finance's alETH/ETH pool 2023年7月30日 Reentrancy Attack
54 Exactly protocol attack The bytecode Tx1 Tx2Tx3 Exactly protocol 2023年8月18日 Insufficient checks DebtManager 合约的一些功能中缺乏输入验证

参考链接

https://github.com/kadenzipfel/smart-contract-vulnerabilities

https://github.com/tamjid0x01/awesome-smartcontract-hacking

https://rekt.news/

https://quillaudits.medium.com/

https://github.com/blocksecteam/blocksec_academy

https://medium.com/immunefi/enzyme-finance-missing-privilege-check-bugfix-review-ddb5e87b8058

https://inspexco.medium.com/cross-contract-reentrancy-attack-402d27a02a15

https://github.com/geekshiv/Smart-Contract-Hacking