在选择钱包时,应该根据资金金额和经验进行权衡。
2023 年 Web3 中最常见的 10 个漏洞: 输入验证不正确;计算错误;预言机/价格操纵; 弱访问控制; 重放攻击;舍入误差;重入攻击;抢跑;未初始化的代理;治理攻击。
在 DeFi 合约中,常见模式是Checks-Effects-Interactions(检查-生效-交互)
模式, 不够好,它会让开发者忘记协议的核心不变性。
作者提出了一个新的模式:FREI-PI: 功能检查-生效-交互+协议不变性
,让我们更多关注协议的不变性(安全性)。
本文会涉及到slither中几类call的区别,slither遍历node时的常用的递归框架,以及将这两类知识应用到批量函数调用风险的检测中。
1.理解自杀函数检测自杀函数的风险与应用场景。自杀函数可以做为一种隐藏的transfer的手段。 2.shift汇编函数与其它语言的参数不一致,容易混淆。
Hook 是一个强大功能,可以带来更灵活的组合性。向任何强大的武器一样,使用不当可能会伤害到自己。 当任意调用与 Hook 在一起,更要小心。
09.状态变量覆盖的含义状态变量覆盖是指子类中的状态变量将父类的状态变量进行覆盖,子类和父类使用了相同名称的状态变量。在这种情况下,如果操作子类的状态变量不会修改父类的状态变量,而此时代码的真实意图可能是为了修改父类的状态变量。
zellic 整理在审计过程把不断地看到Bug ,方便我们审视自己的Move合约。
Tornado 治理攻击的关键是在提案通过后,在被执行的提案地址被销毁了 之后部署了一个攻击合约。
这个智能合约安全系列将归纳总结 Solidity 智能合约开发过程中容易反复出现的问题和漏洞。
本期我们来带大家了解一下如何识别在合约中隐藏的恶意代码。
区块链项目代码审计必不可少,看看有哪些方式可以让我们的项目更安全。
我们一起来了解智能合约中基于 tx.origin 的钓鱼攻击。
了解一个既存在于传统网络安全又存在于智能合约安全中的问题——拒绝服务。