Update nexus wiki content
This commit is contained in:
67
wiki/concepts/Flash-Loan-Attack.md
Normal file
67
wiki/concepts/Flash-Loan-Attack.md
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
title: "Flash Loan Attack(闪电贷攻击)"
|
||||
type: concept
|
||||
tags: [blockchain, security, defi, flash-loan, attack]
|
||||
sources: [blockchain-security-auditor]
|
||||
last_updated: 2026-05-30
|
||||
---
|
||||
|
||||
## Aliases
|
||||
- Flash Loan Attack
|
||||
- 闪电贷攻击
|
||||
- Flash Loan Exploit
|
||||
|
||||
## Definition
|
||||
|
||||
闪电贷攻击(Flash Loan Attack)是 DeFi 领域最具破坏力的大规模攻击手段。攻击者在**单笔交易内**借用大量资金(无需抵押),利用这些临时资金操纵市场状态、执行套利或攻击协议,然后在交易结束时归还本金。攻击成本仅为 gas 费用,风险为零。
|
||||
|
||||
## Attack Pattern
|
||||
|
||||
```
|
||||
T0: 攻击合约从 Aave/Uniswap 闪电贷 100M DAI
|
||||
T1: 用借来的 DAI 操纵目标协议的预言机价格
|
||||
T2: 以操纵后的价格执行有利交易(借款/清算/套利)
|
||||
T3: 归还闪电贷本金 + 手续费
|
||||
T4: 剩余利润归攻击者所有
|
||||
```
|
||||
|
||||
## Common Variants
|
||||
|
||||
### Oracle Manipulation via Flash Loan
|
||||
- 通过闪电贷操纵 AMM 储备金,人为扭曲现货价格
|
||||
- 以虚高抵押率借贷后直接清算协议
|
||||
- Uniswap V2 现货价格最易操纵,V3 TWAP 和 Chainlink 更安全
|
||||
|
||||
### Donate-to-Reserves Attack(Euler Finance 模式)
|
||||
- 通过闪电贷操纵内部账户账簿的资产净值
|
||||
- 在单笔交易内完成 donate → 触发健康度检查 → 清算套利
|
||||
|
||||
### Governance Attack via Flash Loan
|
||||
- 闪电贷借入大量治理代币
|
||||
- 在快照前买入、投票、快照后卖出
|
||||
- 2022 年 Rari Capital 被此方式攻击
|
||||
|
||||
## Key Characteristics
|
||||
|
||||
- **零成本**:借款无需抵押,只付 gas 费
|
||||
- **单笔交易**:所有操作必须在同一区块内完成
|
||||
- **EVM 原子性**:交易全成功或全回滚
|
||||
|
||||
## Audit Focus
|
||||
|
||||
1. 在闪电贷场景下,协议状态是否可以被操纵?
|
||||
2. 价格/余额/股份计算是否依赖可被操纵的输入?
|
||||
3. 是否存在仅在极端条件下才成立的"不变性"?
|
||||
4. 闪电贷还款前后的状态一致性是否被验证?
|
||||
|
||||
## Defense
|
||||
|
||||
- 使用 TWAP 而非现货价格
|
||||
- 使用 Chainlink 等抗操纵的链下预言机
|
||||
- 设置最小时间窗口(2-3 区块)后才允许清算
|
||||
- 不变性验证(Flash Loan 前后的不变性必须成立)
|
||||
|
||||
## Connections
|
||||
- [[Oracle Manipulation]] ← 主要载体 ← [[Flash Loan Attack]]
|
||||
- [[Blockchain-Security-Auditor]] ← analyzes ← [[Flash Loan Attack]]
|
||||
- [[Euler-Finance]] ← victim ← [[Flash Loan Attack]]
|
||||
Reference in New Issue
Block a user