本文深入探讨了去中心化自治组织(DAO)中常见的安全漏洞,包括利用闪电贷操纵提案结果、攻击者摧毁用户投票权、通过减少总投票权放大个人投票权、提案创建时快照总投票权不准确、无法达到法定人数以及利用委托金库投票权获取更多委托金库投票权等。文章还讨论了通过委任绕过投票限制、多次使用相同代币投票的风险,并提出了智能合约审计师可以使用的启发式方法来发现类似漏洞。
Dacian是Cyfrin.io的审计团队负责人,在智能合约安全领域拥有丰富的经验,其研究成果广泛分享。他曾领导多个知名协议的私有审计,发现并报告了多个智能合约漏洞,并获得了高额的漏洞赏金。他擅长识别各种智能合约漏洞,并在多个会议上发表过关于智能合约安全的演讲。
本文深入探讨了Solidity中由于固定点运算特性可能导致的精度损失问题,尤其是在去中心化金融(DeFi)项目中函数、合约和库之间传递数据时。
本文探讨了 DeFi 交易中滑点问题,重点关注了开发者和审计人员应注意的常见实现错误,包括缺少滑点参数、无过期时间、错误的滑点计算、精度不匹配、铸币过程中的滑点问题、中间操作的滑点参数使用不当、链上滑点计算易被操纵以及硬编码滑点可能冻结用户资金等,并提供了详细的案例和代码示例。
本文深入探讨了Web3 DeFi借贷平台中智能合约的各种漏洞,包括:违约前清算、无法清算借款人、未偿还债务关闭、暂停还款时启用清算、停止现有还款和清算、恢复还款后立即清算、清算人以不足额还款获取抵押品、无限贷款展期、还款发送到零地址、借款人永久无法偿还贷款、借款人还款仅部分入账、没有动力清算小额头寸、清算使交易者更不健康等。同时,本文还列出了一些额外的参考资源,以供智能合约审计师和开发人员参考。
本文分析了 Alchemist 项目 TimelockConfig 合约中confirmChange函数缺少访问控制和未检查状态转换的漏洞,攻击者可以通过调用该函数将关键配置设置为0,从而阻止$MIST通货膨胀的分配。作者提供了漏洞的发现、验证、修复和披露的时间线,并为开发者和审计人员提供了关于安全开发的经验教训。
本文深入探讨Solidity编程中数值运算可能导致的精度损失问题,包括除法后乘法、向下取整至零、未进行精度缩放、过度精度缩放、精度缩放不匹配、向下转型溢出以及协议价值因四舍五入而泄露等,并提供了避免这些问题的实用建议和代码示例。
本文深入探讨了以太坊交易中签名验证的潜在安全漏洞,包括重放攻击(缺失 Nonce、跨链重放)、缺少参数、签名过期、未检查 ecrecover() 返回值以及签名可延展性。文章通过具体的代码示例和漏洞案例,强调了智能合约开发者在签名实现中必须注意的关键安全问题和防范措施。
本文探讨了智能合约中常见的输入处理和状态转换漏洞,这些漏洞通常由于开发者对输入类型和状态转换的潜意识假设而未被充分处理。文章列举了未经检查的两步所有权转移、意外匹配输入、意外空输入以及未经检查的返回值等多种攻击场景,并提供了相应的防范措施和实例。
本文探讨了智能合约中常见的重入漏洞,重点关注了外部调用可能导致的风险。通过分析Papr和Hypercerts两个项目的实际漏洞案例,强调了在进行外部调用前后,验证检查和状态更新的顺序至关重要,并提供了防范此类漏洞的建议。