一、说明
一键发币指的是通过第三方的平台内置的合约模板直接在指定的链上部署合约。一键发币主要用于产品经理需要快速产生一个代币模型作为演示说明用途,而非用于生产环境,甚至直接上线生产环境交易所。在合约开发早期为了快速演示代币的效果可以使用一键发币工具大致部署一个满足基本需求的代币用于给客户进行项目演示使用,某些具体的技术细节暂时忽略,尤其是安全性相关的功能模块暂时忽略。这是一键发布功能主要的应用常见,而非应用于生产环境。以下简述一键发币用于生产环境带来的安全隐患:
- 一键发币只是部署了代币通证,没有提供相关的合约代码,未开源代码。即使代码开源通常也是similar match相似匹配,无法匹配构造函数参数。
- 一键发币通常部署的合约用户没有合约所有权,即使具备合约所有权,也是隐藏权限,不具备真正的合约所有权。合约的所有权通常保留在第三方的发币平台。这样就会造成合约所有权被第三方平台控制,随时可以增发、燃烧、销毁、篡改指定地址的余额。即使代币发行后转移了合约所有权到用户的钱包地址,也只是二级权限或者第三方平台仍然保留了隐藏权限。资金池随时有被掏空的风险。
- 一键发币部署的合约存在代币无限大额度授权的情况。在代币部署完成后就已经将代币的receiver权限授权给了第三方平台,可以随时transferfrom用户钱包地址中的代币。
- 只能完成基本的功能模板,在合约的安全层面无防护功能:抢开盘防护、抢加池防护、夹子防护、bot防护、流动性撤销限制、加池和卖出区别、买入和撤池区别、单笔交易限额、最大持币数限额、黑白名单、uniswapRouter地址迁移等功能
- 无附加功能支持,需要使用第三方的工具销毁额外的手续费完成附加功能:比如批量转账、批量空投、批量下发和上收等
二、怎样规避一键发币的漏洞
最好的方式是避免使用一键发币功能。通过可信的技术团队定制开发合约。
如果预算有限,必须使用一键发币功能,需要参考以下选择标准
- 选择公信度比较高的一键发币平台,避免代币存在恶意漏洞,或者发币过程中的恶意要求钱包授权
- 代币发行完成后,对需求中的功能模块做全面的黑盒测试
- 项目实际上线运营一段时间后,再上线生产环境
- 代币发行完成后取消不必要的钱包授权
- 通过合约检测软件,大致检测下合约的安全性(目前合约检测软件滞后于合约恶意漏洞,即使有漏洞也检测不出来)
- 排除掉貔貅币,可燃烧、可销毁、可增发、可篡改余额的漏洞部分,防止被掏空了资金池。
至此,完成一键发币有哪些漏洞以及如何规避的所有操作流程。
评论前必须登录!
注册