庞博文 - 智能合约攻击方法(四)|暗网潜航
今期是最后一期介绍智能合约攻击方法,希望可借此加深读者对智能合约的认识,时常谨记讯息安全的重要性。
第七种智能合约攻击方法是「智能合约反编译攻击」(Smart contract decompilation attack)。虽然普遍我们只能从智能合约得到一个ABI作为连结资料,但目前网络上有很多不同Solidity反编译工具,因此智能合约部署后,其内容被编译及被公开基本上无法幸免,对智能合约是极大隐忧,这也是不法之徒利用Speed Trading大赚特赚的原因。所以我建议在编写智能合约时,避免使用太复杂及太多功能逻辑,倘不能避免使用复杂逻辑,则应把它分为多个不同合约,以防因太多不同逻辑重复,导致灰色地带和逻辑矛盾。
第八种手法是「无限铸造攻击」(Infinite Forging attack),这攻击不时源于程序员编写智能合约时的粗疏及大意。大多智能合约都会使用调用函数mint_approved,用于检测用户是否在白名单内及验证铸造网站的电子签署,但当程序员忘记info.from == msg.sender进一步检查认证时,攻击者可不断注册不在白名单内的新钱包地址,用这些新地址无限铸造代币。所以智能合约里每个调用和呼叫功能都要仔细进行签名验证,否则后果堪虞。
其实这些攻击方法并不罕见,但区块链行业欠缺信息安全相关知识和意识,如果不加以改善,将令投资者失去信心,希望程序员和工程师能多加留意。
TOZ联合创办人
庞博文
第七种智能合约攻击方法是「智能合约反编译攻击」(Smart contract decompilation attack)。虽然普遍我们只能从智能合约得到一个ABI作为连结资料,但目前网络上有很多不同Solidity反编译工具,因此智能合约部署后,其内容被编译及被公开基本上无法幸免,对智能合约是极大隐忧,这也是不法之徒利用Speed Trading大赚特赚的原因。所以我建议在编写智能合约时,避免使用太复杂及太多功能逻辑,倘不能避免使用复杂逻辑,则应把它分为多个不同合约,以防因太多不同逻辑重复,导致灰色地带和逻辑矛盾。
第八种手法是「无限铸造攻击」(Infinite Forging attack),这攻击不时源于程序员编写智能合约时的粗疏及大意。大多智能合约都会使用调用函数mint_approved,用于检测用户是否在白名单内及验证铸造网站的电子签署,但当程序员忘记info.from == msg.sender进一步检查认证时,攻击者可不断注册不在白名单内的新钱包地址,用这些新地址无限铸造代币。所以智能合约里每个调用和呼叫功能都要仔细进行签名验证,否则后果堪虞。
其实这些攻击方法并不罕见,但区块链行业欠缺信息安全相关知识和意识,如果不加以改善,将令投资者失去信心,希望程序员和工程师能多加留意。
TOZ联合创办人
庞博文
最Hit
长者乘车优惠明年4月收紧!长者群组热议「两蚊两折」点样计? 每月限搭240程?北上深圳贵好多?
2025-12-12 17:51 HKT
长寿秘诀|90岁烘焙师仍出书主持节目 公开3大饮食习惯 保持健康绝不吃1类食物
2025-12-13 10:14 HKT
奇闻秘史︱同治皇帝传染花柳驾崩 慈禧当日点处治「嫖娼指南」王庆祺?
2025-12-13 07:00 HKT
港人重返职场做满1年额外「收政府$2万支票」 附2大中年再就业/求职津贴申请方法
2025-12-12 17:26 HKT


















