Recon-Fuzz/chimera

GitHub: Recon-Fuzz/chimera

智能合约属性测试框架,实现一次编写即可在多个模糊测试工具中运行的跨平台测试能力。

Stars: 147 | Forks: 16

## 奇美拉 Chimera 是一个智能合约基于属性的测试框架。一次编写,到处运行。 ### 安装 ``` forge install Recon-Fuzz/chimera ``` ### 动机 在编写基于属性的测试时,开发者通常面临以下几个问题: - 所需的样板代码量巨大 - 初始设置后切换工具的挑战 - 在不同工具间共享结果的困难 编写能无缝兼容 Foundry、Echidna、Medusa 和 Halmos 的不变量测试并非易事。 Chimera 通过实现“一次编写,到处运行”的方式来解决这个问题。 ### 限制 Chimera 目前仅支持 [HEVM](https://hevm.dev/std-test-tutorial.html#supported-cheat-codes) 实现的作弊码。 Foundry 对此进行了扩展,提供了 HEVM 作弊码不支持的功能,因此在将 Chimera 添加到 Foundry 项目时必须考虑到这一点,因为它们在运行 Echidna 和 Medusa 时会导致问题。如果将 Chimera 添加到现有的 Foundry 项目中,请确保没有实现 HEVM 不支持的作弊码,否则会抛出以下错误:`VM failed for unhandled reason, BadCheatCode `。 虽然 **medusa** 支持 `etch`,但 Echidna 尚不支持。请注意,在 Echidna 环境中使用 `etch` 时,它将无法按预期工作。 ### 功能 - [x] 适用于 Foundry、Echidna、Medusa、Halmos 和 Kontrol 测试的样板合约 ### 帮助 加入 Recon Discord:https://getrecon.xyz/discord
标签:Echidna, Foundry, Halmos, Medusa, Solidity, Web3安全, 不变量测试, 区块链安全, 属性测试, 开发框架, 智能合约, 测试工具, 跨平台测试