OpenZeppelin 机密合约 v0.5 审计:12 个问题,5 个中等严重性
OpenZeppelin 完成了对其机密合约库 v0.5(提交 49e71451)相对于 v0.4 的差异审计。审计涵盖了新功能,包括钩子模块框架、ERC7984Rwa 上的账户恢复、身份检查扩展、FHESafeMath 饱和原语以及 BatcherConfidential 的不同底层不变性。共识别出 12 个问题(6 个已解决),其中 5 个为中等严重性(2 个已解决),无严重或高严重性发现。关键的中等发现包括:通过空证明快捷方式允许零金额转移的自我转移、已调度批次缺乏有时限的恢复路径、ERC-2771 元交易使转发器成为密文主体、并发部分批次中目标底层分配错误,以及临时访问升级为永久公开。该库基于 Zama 的 @fhevm/solidity FHE 运行时,通过加密句柄和无分支操作维护代币余额和转移的机密性。信任假设包括诚实的代理和管理员角色、正确实现的模块访问控制以及受信任的 FHE 运行时。
关键事实
- 发现 12 个问题(6 个已解决);5 个中等严重性,无严重/高严重性。
- OpenZeppelin 机密合约 v0.5 增加了钩子模块、账户恢复、身份检查。
- 中等发现:自我转移通过空证明允许无许可的零金额转移。
- 中等发现:ERC-2771 元交易将密文主体错误归因于转发器。
- 信任依赖诚实的代理/管理员角色、正确的模块访问控制、受信任的 FHE 运行时。