﻿---
title: "治理攻击"
description: "治理攻击通过取得足够的投票权或执行权，沿协议授权的治理路径通过有害变更。"
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 治理攻击

> 仅供教育参考，不构成投资建议；投资可能产生损失。

<a id="answer"></a>

## 直接答案

治理攻击是指攻击者取得足够的投票、提案、取消或执行权，使协议通过自身授权的治理路径实施有害操作。相关调用可能通过智能合约的每一项检查。真正的失败在于，治理系统让控制权的取得成本、速度或问责程度与其支配的价值不相匹配。

投票权可能来自自有代币、受委托票数、借入代币、投票贿赂、被盗密钥，或治理合约与时间锁中的特权角色。历史投票检查点可以阻止同一余额在转账后重复投票，也能抵御快照之后才发生的借票行为；但它无法阻止快照前取得的票数、委托权集中、薄弱的法定人数规则或执行者失陷。

并非每项不受欢迎的提案都是攻击，治理本来就是用来改变规则的。安全判断应关注：某个参与者是否取得了不成比例或临时性的控制权，是否隐瞒或歪曲了可执行效果，或是否越过公开声明的权限边界。审查时要看实际调用、取得决定性权力的最低成本路径、可用的响应时间，以及执行后能够触及的最大价值或控制范围。

<a id="mechanism"></a>

## 运作方式

1. 从投票资产出发，经委托与检查点追踪至治理合约、时间锁、代理管理员、资金库、紧急角色和最终目标合约。治理界面并不等于权限图。
2. 固定链、合约地址、实现版本、时钟模式、快照、提案门槛、法定人数计算、计票规则、投票延迟、投票期、排队延迟、到期条件、取消权限和执行角色。
3. 使用 `getPastVotes` 等历史读取，在精确的快照时点重建投票权。把受同一主体控制或协调的地址归组，并区分代币余额与获委托的投票权重。
4. 解码每一项提案操作：`targets`、`values`、`calldatas` 和 `descriptionHash`。解析代理与函数选择器，检查批量调用，并把可执行载荷与人类可读的说明逐项对照。
5. 在分叉环境中复现提案创建、投票、排队和执行。对比执行前后的余额、所有权、角色、授权额度、实现合约、预言机设置、抵押参数以及任何新开放的可调用函数。
6. 估算所有控制路径中的最低成本，包括现货买入、借贷市场、闪电流动性、场外借币、委托、投票激励、衍生品对冲、密钥失陷和特权角色被夺取。计入手续费、滑点、抵押品、平仓损失及资本必须锁定的时间。
7. 测试响应路径。确认谁能取消或暂停、需要何种证据、能否在延迟期内完成操作、用户从何处获得权威公告，以及治理如何在不遗留无限紧急权限的前提下恢复。

典型的代币治理流程会依次经历提案、延迟、快照、投票、通过或否决、排队、时间锁和执行，但具体规则取决于实现。采用 ERC-5805 式检查点时，可以查询过去某个时点的委托投票权；时钟既可能使用区块高度，也可能使用时间戳。审查者必须采用已部署合约的时钟与配置，不能把界面显示的时长或代币余额当作权威依据。

时间锁只提供最短公告窗口，不会判断意图，也不会让载荷自动变得安全。其提案者、执行者、取消者和管理员角色本身都是关键权限。若外部管理员能够绕过延迟，时间锁就不是最终权力层；若无人能够取消已排队的恶意操作，仅仅发现问题也无法阻止执行。

<a id="example"></a>

## 计算示例

- **低参与率下的控制。** 某协议共有 `100 million` 枚代币，其中 `40 million` 枚流通。提案需要 `2 million` 张参与票、赞成票多于反对票，并经过 `6-hour` 时间锁。某主体买入 `1.2 million` 票，又获得 `1 million` 张委托票。反对票共 `0.8 million`，因此其 `2.2 million` 张赞成票足以通过一项可从资金库转出 `15 million USDC` 的调用。该主体只控制总供应量的 `2.2 / 100 = 2.2%`、流通量的 `2.2 / 40 = 5.5%`，却占已投票数的 `2.2 / 3.0 = 73.3%`。决定安全性的是真实参与率、委托、法定人数、载荷权限和延迟，而不是一句 `51%`。
- **快照边界。** 如果投票权按当前余额读取且可立即执行，同一笔交易就能借入代币、投票、执行并归还。改为读取投票开始前某个时点不可变的历史投票权，可以阻断这条单笔交易路径。但快照前借入或取得委托的资本仍可使用，因此提案延迟和可观察的票权积累窗口仍是防线的一部分。
- **2022 年四月 17 日的 Beanstalk 事件。** Beanstalk Farms 报告称，攻击者利用闪电贷攻击协议的治理机制，窃取了约 `$77 million` 的非 Beanstalk 用户资产。该事件说明闪电流动性只是融资工具，决定性缺陷在于治理允许临时经济权力触及高价值执行权限。

<a id="risks"></a>

## 风险与控制措施

- **实际权力集中。** 衡量委托代表和协同行动主体，而不只是持币地址。公开最大委托代表占比、参与度分布，以及对基金会、托管机构、做市商和代表的依赖。
- **提案与法定人数规则薄弱。** 将门槛与活跃投票权、可借供应量和资金库敞口比较。日常参数与高影响升级或转账应采用不同要求。
- **快照不安全。** 使用不可变历史检查点，并让投票代币与治理合约共享同一时钟。在快照前保留足够延迟，使异常积累或委托能够被观察到。
- **临近截止或突袭式投票。** 当法定人数在临近截止时才达到，可考虑设置最短延长期，并在整个提案生命周期监控大额委托变化。
- **载荷不透明。** 发布已解码调用和独立模拟结果。拆分彼此无关的高风险操作，避免正常事项掩盖管理员变更或资金库转账。
- **执行延迟不足。** 按影响程度设置时间锁，并公开排队操作。有效延迟必须容纳审查、告警、取消或暂停，以及可信的用户退出路径。
- **紧急角色权力过大。** 按函数、价值、期限和审查标准限定守护者权限。公开成员、门槛、轮换、证据要求以及罢免和恢复流程。
- **升级路径未审查。** 追踪代理管理员、信标、实现初始化器、可变形部署路径，以及取得权限后仍可升级的合约。
- **跨链执行风险。** 验证源治理合约与消息、防止重放、限制目标函数、为高影响调用增加本地延迟，并规定桥故障或暂停期间的行为。
- **监控不足。** 对提案创建、票权集中、法定人数变化、排队与取消事件、解码后的状态变更、实现升级、角色授予、授权额度和资金库流出设置告警。
- **事件响应失效。** 演练恶意提案、签名人失联、前端失陷、跨链桥中断和误暂停。记录由谁决策、沟通、签名、验证并安全恢复运行。
- **风险价值无上限。** 限制单次及滚动资金库转账、升级范围、铸币、抵押品变更和授权额度。不能只因投票通过就自动赋予治理无限权限。

审查结果应形成可复现的控制台账：逐项记录特权操作、控制者、所需票数或密钥、最早执行时间、取消路径、监控来源和最大可触及价值。每次升级、代币分配、委托变化、跨链桥迁移，或流动性与参与度发生重大变化后，都要重新计算。

<a id="misconceptions"></a>

## 常见误区

- **“攻击者必须持有总供应量的 51%。”** 多数系统取决于获委托或实际参与的票数、法定人数和通过规则。取得决定性控制的成本可能远低于总供应量的一半。
- **“快照能消除治理攻击。”** 快照只能阻止特定形式的重复用票或临近投票时借票，无法阻止提前借入、买入、委托集中、贿赂或特权密钥失陷。
- **“链上投票通过就证明提案正当。”** 它只证明已部署代码的条件得到满足，并不能证明说明与载荷一致，也不能证明结果安全、公平或符合公开承诺。
- **“时间锁越长越安全。”** 只有在延迟期内能完成监控、分析、取消或暂停、沟通与退出时，延迟才有用。过长的延迟也会妨碍紧急维护。
- **“增设安全委员会就能解决治理风险。”** 委员会能缩短响应时间，却也增加了一条控制路径。其权限、问责、罢免和失效模式必须纳入同一威胁模型。

<a id="related"></a>

## 相关主题

- [AMM 自动做市商](/zh-cn/crypto/amm/)
- [DAO](/zh-cn/crypto/dao/)
- [闪电贷](/zh-cn/crypto/flash-loan/)
- [治理代币](/zh-cn/crypto/governance-token/)
- [热钱包](/zh-cn/crypto/hot-wallet/)

<a id="sources"></a>

## 来源

- [Governance](https://docs.openzeppelin.com/contracts/5.x/api/governance) - OpenZeppelin Documentation（访问日期：2026-08-20）
- [ERC-5805: Voting with delegation](https://eips.ethereum.org/EIPS/eip-5805) - Ethereum Improvement Proposals（访问日期：2026-08-20）
- [Compound v2 Governance](https://docs.compound.finance/v2/governance/) - Compound Documentation（访问日期：2026-08-20）
- [Beanstalk Governance Exploit](https://bean.money/blog/beanstalk-governance-exploit) - Beanstalk Farms（访问日期：2026-08-20）

Source: https://wiki.fcontext.com/zh-cn/crypto/governance-attack/index.mdx
