本文介绍了开源工具Safeguard,这是一款用于监控以太坊智能合约的运行时安全性工具。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 执行引擎的功能将使得在 Rust 等语言中进行不变量检查成为可能。
我们还在探索将 CVL 规范直接编译成 Go。为了兼容性,计划推出支持 TypeScript 和 WASM 检测器一致 API 的 reth 的 Safeguard 版本。
Safeguard 在Layer2环境内作为防火墙或交易白名单的预防性应用潜力巨大。我们正在积极与 IronBlocks 合作,将 Safeguard 集成到他们的链上防火墙中。此集成将包括一个新的 JSON RPC 端点,能够对当前状态下的交易进行模拟,进行不变量检查并返回交易结果和不变量检查结果。
我们的初始集成目标是 Venn network,不变量检查的 API 将增强 Forta 类似的功能。
Safeguard 重新定义了以太坊的运行时安全性。凭借其低级访问、精确一致性和与关键 DeFi 协议的兼容性,我们正在为运行时区块链安全设置新的基准。加入 Aave 和 Uniswap 等项目,采用经过测试的实时保护。
我们邀请你加入 Safeguard 社区 Discord,与其他用户交流,分享你的见解,报告你遇到的任何错误,以及在Safeguard 的 GitHub上贡献你的想法,以进一步增强其为 DAO 的利益。
- 原文链接: certora.com/blog/announc...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!