Skip to content
Blockchain

为什么升级智能合约会让我在审计人员已经审定的存储中悄无声息地造成破坏?

82

机会

可升级代理模式(UUPS、Transparent Proxy、Diamond)在生产级 DeFi 中已是标准实践,但存在严格约束:新实现的存储布局必须与前一版本分配的每个插槽兼容。若在错误位置插入新状态变量,后续所有插槽将被静默损坏,且链上不会报错。OpenZeppelin 升级插件等自动检查工具能捕获简单情况,但会遗漏使用自定义打包的 ERC-7201 命名空间存储、汇编级插槽分配,以及两个 facet 声明同一存储区域的 Diamond facet 交叉冲突。2026 年 1 月的一项同行评审研究(ProxyLens)发现了一类现有工具无法检测的重要 facet 间冲突漏洞。审计人员单独审查实现合约,无法重建具有多个委托 facet 的代理的完整存储映射。

为什么重要

一款能够跨所有代理合约和实现合约构建完整版本差异存储映射的工具,可将这类静默数据损坏转化为被拦截的部署。

我如何评估机会

机会评分是我的个人判断,而非量化指标:痛苦程度、发生频率,以及当前解决方案的匮乏程度。分数越高,意味着我认为越值得去构建。

严重性9/10

出现时造成的痛苦程度。

频率6/10

人们实际遇到它的频率。

空白空间8/10

当前针对它的优质工具有多匮乏。

更多值得解决的问题