Recon Magic 是一种使用 Agentic Workflows 的智能合约模糊测试工具,通过优化标准化行覆盖率,实现了更高效的状态模糊测试。与传统方法相比,Recon Magic 采用钳制处理程序和快捷功能,显著提高了测试效率,平均提速 38 倍。实验结果表明,在多个实际项目中,Recon Magic 能够实现更高的代码覆盖率。
Recon 旨在通过 invariant testing 成为 Solidity 开发者的默认选择,从而发现难以推断的 bug,并降低在生产环境中被利用的风险。
Recon Extension 新版本发布,集成了 Halmos,并支持 Vyper。该扩展旨在改进模糊测试工作流程,可以更高效地定义和打破属性。通过使用 Chimera 框架,Recon Extension 可以运行 Halmos, Echidna 和 Medusa,生成报告,并将损坏的测试转换为 Foundry reproducer。
本文介绍了通过一个由四个部分组成的自定进度的书面教程,从零开始学习不变性测试,并最终能够使用不变性测试在生产系统中发现错误。教程涵盖了如何使用Recon扩展搭建不变性测试套件、创建简化的系统部署、实现对感兴趣合约的全面覆盖、使用Foundry等工具实现属性测试、调试损坏的属性以及使用Echidna的优化模式。
Beraborrow 协议在定价 LP 代币时,尽管采用了当时认为最安全的公式,但仍然受到了与赎回相关的定价问题的影响。
本文介绍了在 Beraborrow 代码库中发现的一个关键漏洞,该漏洞通过模糊测试发现,但在安全竞赛中被遗漏。该漏洞与舍入误差有关,导致每个 Vault 份额的价格意外下降,从而可以触发 Recovery Mode 并清算其他借款人。文章强调了多层安全方法的重要性以及模糊测试在发现此类边缘案例方面的优势。
本文介绍了如何使用 safe-utils 和 tenderly-utils 这两个 Foundry 模块来简化协议的治理流程,尤其是在涉及 Safe 多签账户的场景下。
本文介绍了 Visual Studio Code 的 Recon 扩展,它简化了不变性测试套件的设置和运行。该扩展提供了一系列工具,包括自动生成测试框架、快速创建处理器、自动生成模拟合约、生成 Echidna/Medusa 报告、生成精简的覆盖率报告,以及生成用于调试的单元测试。
本文讨论了Recon团队如何改善Centrifuge现有的不变性测试套件,主要通过引入最佳实践以简化测试过程并提高代码质量。这些实践包括专门使用断言测试、实现ActorManager、简化无状态测试和采用归纳法简化属性检查,以及设置Fork测试环境,结果揭示了一个之前未知的边界情况。
本文介绍了create-chimera-app V2的更新,旨在简化模糊测试的设置和运行,包含了新的管理器(ActorManager和AssetManager)及其功能,分离目标函数以提高可读性,以及引入新的修饰符和错误捕获功能。这些改进使用户能更有效地进行不变测试,减少设计决策。