本文介绍了Certora团队开发的一款用于验证编译器优化的等价性检查工具,该工具通过比较优化前后程序的行为来检测编译器bug。文章还分享了该工具在Vyper编译器中发现的一个优化bug,该bug导致局部变量被错误地映射到相同的堆栈位置,从而改变了程序的行为。该bug已在Vyper 0.4.2版本中修复。
infiniFi 是一个 DeFi 平台,通过管理 Pendle、AAVE 和 Ethena 等协议上的存款来优化收益。
Silo Finance 的一个新杠杆合约模块在测试阶段遭到攻击,由于过于宽泛的批准设置导致借款操控漏洞。该模块与核心Silo协议隔离,因此核心协议、金库、市场或用户资金未受影响。Certora 此前对该合约进行了安全审查,但未发现此漏洞,事后进行了风险评估和补救措施,并确认现有Silo代码是安全的。
本文介绍了Certora如何利用形式化验证来保护Uniswap v4免受恶意hook的攻击。通过Certora Prover工具,可以精确定义和证明正确性规则,从而确保智能合约的强大安全性。文章还展示了如何使用CVL编写规则,并利用Certora Prover进行验证,以检测通用hook的不当行为,从而保证资金处理的正确性。
本文强调了形式化验证(FV)在Web3和DeFi安全中的重要性,指出传统测试方法不足以应对Web3的安全挑战。FV通过数学证明确保代码按预期运行,能预防高危漏洞,并已在多个知名DeFi项目中应用,同时建议将FV尽早集成到开发生命周期中,以提升代码质量和安全性。
DeFi领域中的rounding errors漏洞依然普遍存在,可能导致重大损失。文章解释了rounding errors的成因、危害以及难以被人类发现的原因,并通过Juice Finance的案例展示了如何利用Formal Verification技术来检测和预防此类漏洞,强调了Formal Verification在保障DeFi协议安全中的作用。
Kamino Lending (KLend) is a lending protocol on Solana that emphasizes security through a partnership with Certora for rigorous code audits and formal verification。
本文深入探讨了 Uniswap v4 的流动性机制,并提出了一种形式化的方法来证明其偿付能力。通过将代码转化为数学公式,使用 SMT 求解器验证流动性是否在所有函数调用中得到维持。同时,文章还讨论了在 Uniswap v4 中处理 ERC-20 代币时需要考虑的因素,以及如何通过引入 ghost 变量和 hooks 来精确计算和跟踪资金流动,从而确保 AMM 在任何情况下都能保持偿付能力。
Certora Prover 是一种先进的正式验证引擎,旨在提升 Ethereum、Solana 和 Stellar 等平台的智能合约安全性。通过开源,Certora Prover 旨在降低安全成本,提升可访问性,最终帮助开发者在早期发现和修复可能的漏洞。这篇文章详细介绍了 Certora Prover 的功能、工作原理以及其对多个知名项目的实际影响。
Certora工具套件提供了智能合约审计的全面解决方案,核心是Certora Prover,该工具能自动检测代码中的漏洞并确保关键属性得到满足。文章详细介绍了Certora的功能、自动验证的流程,以及与传统测试和审计的比较,强调了Certora如何在早期开发阶段安全性验证的有效性和便利性。