本文提供了针对 ERC-4337 的审计检查清单,涵盖了钱包账户工厂、钱包账户、支付服务员、打包器、签名验证器等多个组件的安全性和功能性测试要点。同时,列出了相关的资源和审计报告,为开发者和审计师提供了重要参考。
unstakeDelay
可能无法更改,否则可能会设置为高值,导致无法撤销质押。isValidSignature()
实现中(例如,检查 某个 拥有者是否签署了 bytes32 hash
),签名可能会在具有共享拥有人之间重放。哈希需要由账户修改(例如,使用 EIP-712),以便签名 仅对特定钱包有效 only valid for a specific wallet。ERC1967Proxy
,是否符合标准?
delegatecall
,则没有存储插槽重叠)?审核模块的过程是什么?登记模块的过程是什么?
delegatecall
call
postOp()
函数中是否可能出现任意错误消息?
postOp()
调用中的回滚可能会回滚整个包,尽管预期会进行第二次 postOp()
调用。tx.origin
进行签名检查?transfer
的固定成本为 21000
)?
- 原文链接: github.com/aviggiano/sec...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!