本文是 Hyperlend 委托 Ackee Blockchain Security 做的安全审计报告,审计发现了44个问题,从Info到Critical级别不等。其中最严重的问题是C1,它会导致所有抵押代币被盗。该审计报告还提出了改进建议,包括及时了解Aave和Fraxlend代码库的最新修复,并保持最佳安全实践。
Hyperlend 是一个部署在 Hyperliquid 链上的借贷协议。该协议实现了为不同用例设计的风险隔离借贷池。该协议的基础设施包括用于协议池的跨链存款端点、支持通过闪电贷进行头寸管理的循环合约,以及用于资产上市功能的辅助合约。
Hyperlend 委托 Ackee Blockchain Security 对 Hyperlend 协议进行安全审查,总共投入了 46 个工程日,时间段为 2025 年 1 月 10 日至 2 月 7 日。
第二次修复审查于 2025 年 2 月 17 日至 2 月 24 日进行。
第三次审查于 3 月 12 日至 3 月 18 日进行。
我们首先深入研究了合约的逻辑。我们使用静态分析工具(包括 Wake)辅助我们的审查,并手动引导模糊测试来检查范围内的代码的基本功能。
在审查期间,我们特别关注:
本次审计针对以下代码仓库和提交:
425624
;37c678
;0fdde7
;0339f1
;43b101
.修复审查针对以下代码仓库和提交:
625161
;0b90ce
;cb6fac
;4ff785
;38dc8a
.第三次审计针对 hyperlend-core-new 代码仓库,提交 0c2b14
。范围包括与原始 Aave v3.2 代码库相比,src
目录中的所有更改。
安全发现的分类由两个等级确定:影响和可能性。这种二维分类有助于明确各个问题的严重程度。那些被评为中等严重程度,但可能只会被团队发现的问题,通常会因可能性因素而降低到警告或信息严重程度。
我们的审查发现了 44 个发现,从信息到危急级别不等。最严重的发现 C1 对所有抵押代币从协议的隔离池中被盗构成了严重风险。尽管该发现超出了审查范围,但仍被报告,因为核心问题在于在原始 Fraxlend V3 代码库的上下文中不正确地使用了类似 Chainlink 的新价格提供者。如果不了解原始代码库的上下文,仅执行差异审查是无法检测到该问题的。
发现 C1、M1、M2、M7、M10、L2 是通过使用 Wake 测试框架手动引导的模糊测试发现的。发现 M5、M10、M11、M13 和 I10 是通过 Wake 静态分析发现的。
C1:Chainlink 价格过时时未回滚
H1:可能的代币锁定
M1:发出的 proposal ID 不正确
M2:缺少对桥接原生代币的支持
M3:通过不受限制的退款函数进行任意代币转账
M4:不正确的代币余额检查导致头寸关闭失败
M5:openPosition
函数中先除后乘
M6:缺少 payable
修饰符
M7:minAmountOut
计算过于严格
M8:代币符号格式不一致
M9:桥接启动时缺少代币验证
M10:未使用 SafeERC20
M11:原生 transfer
回滚导致 gas 不足
M12:WalletBalanceProvider
原生代币锁定
M13:缺少 Chainlink 价格源验证
L1:缺少 swap 截止时间保护
L2:Try/catch 仍可能回滚
L3:使用闪电贷关闭头寸的条件无法满足
L4:错误的消息
L5:缺少原生代币处理的 receive 函数
L6:cancelTransaction
中缺少对列队交易的验证
L7:同一交易可以多次列队
L8:可以绕过原生代币恢复
W1:缺少检查以捕获下溢错误
W2:重复列出 proposal ID
W3:大小写不敏感的导入
W4:Hardhat 控制台导入
W5:StrategyManager
中未使用的状态变量
W6:缺少零地址验证
W7:缺少事件
W8:缺少 proposal 存在性验证
W9:CHAINLINK_NORMALIZATION
计算中潜在的负指数
W10:用于债务价值计算的代币余额不正确
I1:内部函数名称中缺少下划线
I2:由于拼写错误导致变量命名不正确
I3:未使用的 Ownable
继承
I4:_reversePath
函数的可见性不一致
I5:当代币价格为零时,getUserAccountData
函数回滚
I6:getUserPairs
返回一个包含空头寸的数组
I7:SwapParams
struct 中未使用的 swapPath
参数
I8:具有潜在数据截断风险的未使用函数
I9:不正确的文档
I10:变量可以是 immutable 的
用户必须信任 Hyperlend 不会将资金锁定在协议中或操纵代币价格。必须信任 Stargate 网关才能在跨链存款期间正确地在中继消息。
Ackee Blockchain Security 建议 Hyperlend:
Ackee Blockchain Security 的完整 Hyperlend 审计报告可在此处找到:https://github.com/hyperlendx/audits/blob/master/hyperlend/2025-03-24-ackee-audit-hyperlend.pdf .
- 原文链接: ackee.xyz/blog/hyperlend...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!