本文介绍了Safeguard,一个新的开源Go以太坊扩展工具,旨在通过实时监控关键协议不变性和违规行为,帮助开发者及协议在去中心化金融(DeFi)领域防止智能合约漏洞及资金损失。文章讨论了Safeguard的优势、应用实例及未来的发展方向,强调了其在保障DeFi协议安全性方面的重要性。
智能合约的攻击可能会使资金和声誉面临风险,导致重大财务损失,损害对 DeFi 协议的信任,并削弱用户和投资者的信心。Safeguard 是一个新的 开源 Go Ethereum (Geth)扩展工具,通过提供对 关键协议不变量和违规行为的实时监控,赋予开发者 能力,能够在问题产生重大影响之前捕捉到错误和脆弱性。
Safeguard 是一款有效的工具,帮助开发者和协议监测可能导致数亿美元财务损失的攻击和脆弱性。本文展示了 Safeguard 如何在毫秒级检查复杂的不变量,并简要突出其在 Aave V3、Uniswap v3 和 Uniswap v4 等协议的应用。
去中心化金融(DeFi)协议依赖于必须始终保持的基本属性或不变量,以确保其安全性和操作完整性。这些不变量的违反可能会产生重大后果,包括财务损失或系统崩溃。
例如,一个借贷协议中的核心不变量 可能是借入资产的总值必须始终小于用于担保这些资产的抵押品的总值。
尽管审计、模糊测试和形式验证对在开发期间维持不变量至关重要,但区块链的动态特性在部署后引入了持续的风险。波动的资产价格、与其他合约的集成或不可预见的外部事件可能会危及不变量。
此外,区块链系统的开放性以及攻击者利用私密内存池的能力,带来了显著的运行时检测挑战。对不变量的实时监控变得至关重要,以便:
像 Tenderly 和 Forta 这样的框架提供了强大的监控能力。开发者可以使用以太坊的 JSON-RPC API 定义不变量,这些工具省去了运行以太坊节点的需要。
Safeguard 当前支持如下一些协议的不变量:
下图展示了我们的检测器如何可以与定制的监控仪表板集成,以跟踪 Uniswap 的关键指标,包括核心协议活动、特定池数据和单个代币指标。
图 1: Safeguard 的 Uniswap 实时监控仪表板 的示例
用户界面(UI)旨在监控和检测特定不变量的违规行为,以清晰和可操作的方式呈现这些发现,使开发者和协议运营者能够及时理解和解决问题。其对不变量违规行为的实时跟踪和显示对于维护智能合约系统的健康和安全至关重要。
在未来的博客中,我们将提供一个详细的分步指南,介绍如何有效地将 Safeguard 应用于复杂协议,使用 Uniswap 和 Aave 作为实际例子。
为了简化不变量的添加,Safeguard 将在 Go 插件之外进行扩展,支持由专用的 Geth 引擎执行的 TypeScript 属性。WASM(WebAssembly)执行引擎的集成将使不变量检查能够应用于 Rust 等语言。
我们还在探索将 CVL 规范直接编译为 Go。为了兼容性,计划为 reth 提供具有一致 API 的 Safeguard 版本,用于 TypeScript 和 WASM 检测器。
Safeguard 在防止应用方面的潜力,如防火墙或交易白名单,尤其是在二层环境中是巨大的。我们正在与 IronBlocks 积极合作,将 Safeguard 集成到他们的链上防火墙中。此集成将包括一个新的 JSON RPC 端点,能够对当前状态进行交易模拟,执行不变量检查,并返回交易结果和不变量检查结果。
我们最初的集成目标是 Venn 网络,而不变量检查的 API 将与 Forta 类似功能进行增强。
Safeguard 重新定义了以太坊的运行时安全。凭借其低级访问、精确一致和对关键 DeFi 协议的兼容性, 我们正在为运行时区块链安全设定新的基准。请加入 Aave 和 Uniswap 等项目,采用经过实战检验的实时保护。
我们邀请你加入 Safeguard 社区 Discord,与其他用户联系,分享你的见解,报告遇到的任何错误,并在 Safeguard 的 GitHub 上贡献你的想法,以便进一步增强该项目以惠及 DAO。
- 原文链接: certora.com/blog/safegua...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!