本指南详细阐述了如何使用Foundry框架进行Solidity智能合约的模糊测试(fuzz testing)。文章首先介绍了什么是不变性(invariant),然后分别讲解了无状态和有状态的模糊测试的实现,并通过代码示例展示了相关实现步骤。最后强调了模糊测试在保证智能合约安全性方面的重要性。
Solana Auditors Bootcamp 是一个为期七周的免费在线课程,旨在教授如何审计 Solana 程序并提高安全实践。课程涵盖高级 Anchor、集成测试、模糊测试和安全最佳实践等内容,参与者还可以通过完成挑战获得认可的 NFT 证书。
这篇文章详细介绍了使用 Trident 进行模糊测试的过程,包括设置 Trident 工作空间、编写模糊测试、以及运行测试与获取结果等步骤。文章涉及了 Rust 代码示例来演示如何初始化程序、处理账户和执行模糊测试,同时指出了潜在的函数缺陷和运行中的错误处理。
该文章提出了一个关于模糊测试以太坊网络 (devp2p) 的项目,旨在通过创建模糊器来发现潜在的漏洞。该项目计划使用 Go 语言,并基于 Geth 客户端修改其 devp2p 实现,以发送恶意消息。目标是测试网络升级和客户端的 devp2p 实现,从而发现可能导致崩溃、内存泄漏等问题,并最终提高以太坊网络的安全性。
Cyfrin 发布了 2025 年 6 月的区块链安全与教育新闻简报,内容涵盖 Updraft 新课程、DeFi 重大漏洞、高级模糊测试见解以及实用的 Web3 安全技巧。
本文介绍了在 Beraborrow 代码库中发现的一个关键漏洞,该漏洞通过模糊测试发现,但在安全竞赛中被遗漏。该漏洞与舍入误差有关,导致每个 Vault 份额的价格意外下降,从而可以触发 Recovery Mode 并清算其他借款人。文章强调了多层安全方法的重要性以及模糊测试在发现此类边缘案例方面的优势。
Trail of Bits 团队通过对 cURL 命令行接口(CLI)进行模糊测试,发现了多个内存损坏漏洞,包括 use-after-free、double-free 和内存泄漏。
本文介绍了作者如何构建一个基于属性测试的工具 fuzzing-like-smarter-degen,用于检测智能合约中的漏洞。文章详细讨论了传统的单元测试的局限性,并介绍了模糊测试(fuzzing)的原理及其在智能合约安全检测中的应用。作者还介绍了如何通过假设库(Hypothesis)实现模糊测试,并展示了该工具的运行效果。
本文介绍了 Visual Studio Code 的 Recon 扩展,它简化了不变性测试套件的设置和运行。该扩展提供了一系列工具,包括自动生成测试框架、快速创建处理器、自动生成模拟合约、生成 Echidna/Medusa 报告、生成精简的覆盖率报告,以及生成用于调试的单元测试。
本文作者分享了使用 Certora Verification Language (CVL) 进行智能合约形式化验证的经验,通过将模糊测试中的不变量思想应用于 CVL,解决了之前在模糊测试中发现的真实漏洞的简化版本。文章详细对比了模糊测试与形式化验证的异同,并展示了使用 Certora 解决各种漏洞的实例,强调了 Certora 在漏洞检测方面的有效性和简洁性。
本文介绍了智能合约安全中自定义模糊测试的重要性,强调了Spearbit将模糊测试自动化与专家驱动的手动审查相结合的方法,以应对传统模糊测试工具的局限性。文章深入探讨了模糊测试的工作原理、不同类型(如基于突变、基于生成、智能与笨拙型模糊器),并通过实际案例展示了Spearbit如何利用差分模糊测试揭示跨实现语义不一致性,从而提高智能合约的安全性。
本文介绍了 Foundry 中的不变性测试(Invariant Testing),它是一种强大的模糊测试方法,通过定义必须始终成立的规则,让 Foundry 尝试通过随机调用序列来打破合约,从而发现潜在的错误。文章解释了不变性测试的原理、关键参数、测试结构、常见模式和一些注意事项,并提供了一个实际的例子。
本文是Advanced Foundry Cheatcodes系列文章的第六部分,介绍了 Foundry 的高级模糊测试功能,通过随机输入参数自动发现智能合约的边缘情况,包括溢出、回滚等问题。文章还涉及了如何使用 forking cheat-codes 与主网合约交互,以及如何通过 vm.assume 和 bound() 来缩小输入范围,从而提高测试效率。
本文探讨了模糊测试在智能合约安全中的重要性,包括无状态模糊测试和有状态模糊测试的基本概念及应用。通过验证不变量,开发者能有效识别潜在漏洞,从而提升智能合约的安全性。文章强调模糊测试并非替代手动审查的灵丹妙药,而是与其他安全措施相结合的必要步骤。
本文介绍了 Foundry 相对于 Hardhat 的优势,包括 Solidity 原生测试、更快的迭代速度和内置模糊测试,使得 Foundry 成为顶级开发者的选择。Foundry 通过 Rust 编写,速度快,并且可以通过 cheatcodes 直接在测试中操作 EVM 状态。此外,Foundry 还具有精简的 CLI 工具和简单的依赖管理方式。