Update nexus: fix conflicts and sync local changes

This commit is contained in:
Shen Wei
2026-04-26 12:06:50 +08:00
parent 191797c01b
commit f09834b5a5
2443 changed files with 254323 additions and 255154 deletions

View File

@@ -1,42 +1,42 @@
---
title: "Euler Finance"
type: entity
tags: [blockchain, defi, exploit, lending, eoa-donation]
sources: [blockchain-security-auditor]
last_updated: 2026-04-25
---
## 基本信息
- **时间**2023 年 3 月 13 日
- **平台**Ethereum
- **损失**1.97 亿美元Euler Finance 无辜用户存款几乎全损)
- **根本原因**donate-to-reserves 操纵攻击Euler 白帽事后命名)
- **攻击者**:关联 Lazarus Group朝鲜黑客组织
- **白帽救援**:攻击者后归还全部资金(通过协商)
## 攻击原理
Euler Finance 的 `donateToReserves()` 函数允许任意用户将自己的 ETH 转入储备池。当攻击者先存款、后捐赠、后借款时其健康因子health factor`eToken.balanceOf()` 更新前被错误计算,导致超额借款:
1. 攻击者存入 30 ETH获得 30 eETH
2. 攻击者调用 `donateToReserves(30 ETH)`,将 30 eETH 转入储备
3. 此时攻击者的真实余额3000 ETH远高于名义余额0但清算逻辑基于名义余额
4. 攻击者以极低抵押率10 倍杠杆)借入 10 倍存款规模的资产
5. 抵押品价值下跌时,清算机器人按错误健康因子执行清算,攻击者获超额清算收益
关键漏洞:`donateToReserves()` 的实现没有考虑对内部 accounting 的影响,健康因子计算依赖于可被操纵的 `eToken.balanceOf()` 而非内部余额追踪。
## 关键教训
- **不要相信任何"管理员"函数是安全的**:看似无害的 `donateToReserves()` 影响了整个清算引擎
- **协议不变量必须考虑所有代码路径**:包括看似无害的辅助函数
- **白帽救援**:最终攻击者归还资金(否则 1.97 亿无法追回),成为 DeFi 历史上最大白帽救援案例
## 关联漏洞类型
- [[Flash-Loan-Attack]] — 攻击使用闪电贷提供初始资金
- [[Oracle-Manipulation]] — 健康因子计算依赖可操纵的内部状态
- 经济攻击Economic Exploit利用 DeFi 协议的会计逻辑错误
## 关联页面
- [[blockchain-security-auditor]] — 区块链安全审计 Agent将 Euler Finance 作为关键记忆模式收录于 Exploit Pattern Library
- [[The-DAO-2016]] — 同为 DeFi 安全史上的里程碑事件,但攻击类型不同
- [[Curve-Finance]] — 2023 年另一大 DeFi 安全事件
---
title: "Euler Finance"
type: entity
tags: [blockchain, defi, exploit, lending, eoa-donation]
sources: [blockchain-security-auditor]
last_updated: 2026-04-25
---
## 基本信息
- **时间**2023 年 3 月 13 日
- **平台**Ethereum
- **损失**1.97 亿美元Euler Finance 无辜用户存款几乎全损)
- **根本原因**donate-to-reserves 操纵攻击Euler 白帽事后命名)
- **攻击者**:关联 Lazarus Group朝鲜黑客组织
- **白帽救援**:攻击者后归还全部资金(通过协商)
## 攻击原理
Euler Finance 的 `donateToReserves()` 函数允许任意用户将自己的 ETH 转入储备池。当攻击者先存款、后捐赠、后借款时其健康因子health factor`eToken.balanceOf()` 更新前被错误计算,导致超额借款:
1. 攻击者存入 30 ETH获得 30 eETH
2. 攻击者调用 `donateToReserves(30 ETH)`,将 30 eETH 转入储备
3. 此时攻击者的真实余额3000 ETH远高于名义余额0但清算逻辑基于名义余额
4. 攻击者以极低抵押率10 倍杠杆)借入 10 倍存款规模的资产
5. 抵押品价值下跌时,清算机器人按错误健康因子执行清算,攻击者获超额清算收益
关键漏洞:`donateToReserves()` 的实现没有考虑对内部 accounting 的影响,健康因子计算依赖于可被操纵的 `eToken.balanceOf()` 而非内部余额追踪。
## 关键教训
- **不要相信任何"管理员"函数是安全的**:看似无害的 `donateToReserves()` 影响了整个清算引擎
- **协议不变量必须考虑所有代码路径**:包括看似无害的辅助函数
- **白帽救援**:最终攻击者归还资金(否则 1.97 亿无法追回),成为 DeFi 历史上最大白帽救援案例
## 关联漏洞类型
- [[Flash-Loan-Attack]] — 攻击使用闪电贷提供初始资金
- [[Oracle-Manipulation]] — 健康因子计算依赖可操纵的内部状态
- 经济攻击Economic Exploit利用 DeFi 协议的会计逻辑错误
## 关联页面
- [[blockchain-security-auditor]] — 区块链安全审计 Agent将 Euler Finance 作为关键记忆模式收录于 Exploit Pattern Library
- [[The-DAO-2016]] — 同为 DeFi 安全史上的里程碑事件,但攻击类型不同
- [[Curve-Finance]] — 2023 年另一大 DeFi 安全事件