Page 355 - 《软件学报》2026年第1期
P. 355
352 软件学报 2026 年第 37 卷第 1 期
表 2 DeFi 协议层漏洞类型分类 (续)
漏洞分类 细分类别 漏洞利用方式 描述
攻击者通过吸引投资者投入资金后, 突然将流动性池中的所有资金抽走, 导致
权限滥用 拉地毯攻击 投资者资金损失. https://bscscan.com/tx/0xc346adf14e5082e6df5aeae650f3d7f606d
7e08247c2b856510766b4dfcdc57f
攻击者可以创建一个新的智能合约并诱使用户与之交互, 从而获得不当权限,
权限提升 例如控制用户的资产或执行未经授权的操作. https://docs.cdfi.ai/unpacking-the-
权限漏洞
defi-security-breach-a-comprehensive-incident-report
设计缺陷 代币批准是指用户允许某个合约支配其代币的操作. 无限权限指用户无意中授
代币批准的 予某个合约无限量的代币支配权. 当该合约被攻击或利用后, 用户的代币被完
无限权限 全提走. https://metamask.zendesk.com/hc/en-us/articles/6174898326683-What-is-a-
token-approval-#h_01G6X0J818RMX8E35CCPE0KQEH
攻击者通过购买大量治理代币, 获得足够的投票权, 从而影响治理决策. 这可能
治理漏洞 N/A 治理攻击 导致协议的参数被不当调整, 或者资金被用于不利于社区的目的. https://coin
telegraph.com/news/key-takeaways-golden-boys-attack-compound-dao
2.2.1 价格操纵漏洞
攻击者可以利用价格操纵漏洞进行巨额获利, 如 2024 年 10 月 25 日的 Base 链上检测到一个针对未验证借贷
合约的价格操纵攻击, 攻击者利用过度借贷获利约 100 万美元的代币 [84] . 本文依据是否依赖交易顺序、是否依赖
AMM 机制的价格滑点等特征将价格操纵漏洞分为交易顺序依赖、基于 AMM 价格滑点的价格操纵与市场供需、
代币量相关这 3 种类别. 下面将分别介绍这 3 种类别对应的漏洞利用方式.
交易顺序依赖类型是价格操纵漏洞中常见且危害较大的漏洞类别之一, 漏洞的利用过程和交易顺序紧密相
关, 主要的漏洞利用方式包括抢先交易、三明治攻击和清算攻击.
抢先交易 [85] : 在区块链上, 交易在被矿工打包进区块前是公开可见的. 攻击者可以通过监控这些待确认交易,
预先提交一笔带有更高 Gas 费的交易, 以确保其交易优先执行. 这种攻击方式特别适用于竞争激烈的市场活动中,
如代币抢购、拍卖或套利, 攻击者通过抢先交易锁定优势, 获取超额利润. 例如, 在去中心化交易所 (decentralized
exchange, DEX) 中, 攻击者可以在用户提交一笔大额买单前抢先购买代币, 然后在价格上涨后迅速卖出, 从中获利.
三明治攻击 [86] 是抢先交易的复杂变体, 攻击者通过在目标交易前后分别提交一笔买入和卖出交易来操控市
场价格. 例如, 当用户提交一笔大额买单时, 攻击者先行提交一笔买单推高价格, 待用户的交易被执行后, 再卖出获
取利润. 这种攻击不仅会导致用户遭受经济损失, 还可能影响市场价格的稳定性.
清算机制 [6] 是指在 DeFi 借贷平台中, 当抵押品的价值下降到一定阈值以下时, 抵押品会被强制清算卖出. 攻
击者利用市场价格的异常波动, 迫使某些抵押品的价值快速下降引发清算机制, 导致大量资产被强制清算, 然后攻
击者以低于市场价格的价格购买这些被清算的资产从而获利.
基于 AMM 价格滑点的价格操纵类型是在 AMM 机制的前提下, 通过大额交易引发价格滑点进行价格操纵,
主要的漏洞利用方式包括价格哄抬与套利和价格预言机操纵等. 同时, 闪电贷 [87] 是一种允许用户在单个区块内借
入大量资金的机制, 这意味着借款人无需提供抵押品, 只要在同一交易中归还贷款即可. 由于具备在一笔交易中可
以执行多个动作并且可以借贷大量代币的特性, 闪电贷成为实现基于 AMM 价格滑点的价格操纵的有力工具.
价格哄抬与套利 [88] : 攻击者通过操控交易量、制造虚假需求或供应等手段来人为推高或压低市场价格, 从而
在价格波动中获利. 例如, 攻击者可能会通过大规模的买入或卖出操作操纵价格, 在市场中造成波动, 然后利用这
一波动在不同的交易对中进行套利. 这样的攻击在流动性较低的市场或交易对中更为有效, 因为这些市场对大额
交易的价格敏感性更高.
价格预言机操纵 [89] : 预言机是 DeFi 协议从外部世界获取数据的关键组件, 攻击者可以通过操控预言机的数
据输入 (例如提供虚假价格信息), 误导协议做出错误的决策. 价格预言机操纵通常发生在链上数据系统中, 攻击者
通过操控链上价格数据源来影响智能合约依赖的价格预言机. 这种攻击通常利用流动性较低的交易池或特定的去
中心化交易所来制造价格波动.

