本文揭示了PRBMath库中mulDivSigned函数的一个设计缺陷,该缺陷会导致在计算有符号数的乘法和除法时出现精度问题,特别是在DeFi应用中可能被利用导致资金损失。Certora团队通过形式化验证工具发现了这个存在于多个PRBMath版本中的问题,并与作者Paul Razvan Berg合作,最终通过修改函数定义为向零取整来临时解决,并计划在未来提供更全面的舍入模式支持。
文章详细讨论了Jet Protocol中的一个潜在漏洞,该漏洞若被利用可能导致2000万美元的用户资金损失。文章分析了漏洞的起因、如何变得可利用以及最后是如何修复的,并强调了sec3的X-Ray自动审计工具在自动识别此类漏洞中的作用。
在这篇文章中,我将详细介绍该开发人员发现的 Polygon bug 的过程,然后再提供一些可帮助你查找智能合约中的错误的策略和工具。
Certora团队的John Toman发现了Solidity 0.7.3中的一个bug,该bug导致编译器在一些写入操作中错误地将垃圾数据写入持久存储。这一问题可能导致合同执行成本增加,但目前尚未确认其安全影响。Solidity编译器团队已在0.7.4版本中修复了该bug。