本文是针对 Aave Umbrella (新版 Aave 安全模块) 的一次安全审计报告摘要。
Umbrella 是 Aave 安全模块的新版本,旨在帮助解决 Aave 协议中的坏账管理问题。
BGD 委托 Ackee Blockchain Security 对 Aave 协议 进行安全审查,在2025年2月10日至2月26日期间总共捐赠了 19 个 工程日。
我们首先使用静态分析工具(包括 Wake)开始审查。 这产生了 I2 发现。 然后,我们深入研究了合约的逻辑。 对于测试和模糊测试,我们使用了 Wake 测试框架。 我们实现了额外的单元测试,帮助我们分析了 shares inflation 的可能性 (M1) 和算术错误 (L1)。 我们还实现了一组额外的模糊测试,但是,完整的模糊测试活动不在本报告的范围内。 模糊测试发现了与 price oracle 可用性的潜在集成问题 (L2)。 在审查期间,我们特别注意:
第一次审计是在 a2ad2ff
commit 上进行的,范围是 umbrella
、stakeToken
和 rewards
文件夹。
修复审查是在 commit de990C5
上进行的。
第三次审查是在 commit 5b987d2
上进行的,这是发布前的最后更改。 在本次审查中未发现任何问题。
安全发现的分类由两个评级决定:影响和可能性。 这种二维分类有助于明确各个问题的严重程度。 那些被评为中等严重程度,但可能仅由团队发现的问题,通常会因可能性因素而降低到警告或信息性严重程度评级。
我们的审查产生了 9 个 发现,范围从信息性到中等严重性。 最严重的发现是 M1,它发现了 shares inflation 的问题。 由于 slashing 机制,shares 可以快速增长,使得系统的正确运行在很大程度上依赖于配置。 由于小的赤字偏移或更高的池赤字而遭受完全 slashing 的 StakeToken 金库可能会进入拒绝服务状态。 攻击者可以通过一次交易进入该状态,因为 slashing 和 deposits 是无需许可的。 攻击的成本取决于底层 token(可能低至几美分)。
未发现严重等级的问题。
未发现高严重等级的问题。
M1:可能存在 shares inflation
L1:频繁声明奖励可能导致损失
L2:在 slashing 配置移除后,latestAnswer
函数会 revert
W1:_msgSender()
与 msg.sender
的使用不一致
W2:validateTargetLiquidity
中缺少对上限的验证
I1:拼写错误
I2:未使用的 using-for 指令
I3:允许错误处理
I4:名称和符号使用相同的后缀
虽然系统中的权限经过精心设计,旨在限制任何单个组件的潜在影响,但用户应信任 DEFAULT_ADMIN_ROLE
(应授予 Aave 治理)来正确配置系统并诚实行事。
Ackee Blockchain Security 建议 BGD:
Ackee Blockchain Security 的完整 Aave Umbrella 审计 报告可以在 这里 找到。
我们很高兴能审计 Aave,并期待再次与他们合作。
- 原文链接: ackee.xyz/blog/aave-umbr...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!