首发 | Text.finance智能合约安全漏洞分析

北京时间11月12日,CertiK安全研究团队发现DeFi项目text.finance智能合约代码部分存在安全漏洞。

分析之前,先考考大家的眼力,看看下图里面的文字说了什么。

如果看不清,不妨点击图片后把屏幕亮度调至最高。

有的时候,某些不想让你看到的因素,正是通过排版或者这样的方式,被刻意隐藏了起来。

接下来说说该项目中存在的两处漏洞。大家不妨在阅读文章的时候注意一下图中【function函数】的位置。

第一弹:项目拥有者可通过第一处漏洞,将指定数目代币转移到任意地址。

第二弹:项目拥有者可通过第二处漏洞,将任意投资者的流动性池中的资产强制转移到项目拥有者的地址中。

textMiner.sol

部署地址: 

https://etherscan.io/address/0x9858728de38c914c2ea32484a113b6628d984a82#code

国信证券研究员:新型消费快速发展实质是区块链等技术创新:国信证券高级研究员张立超认为,在新型消费的快速发展中不难发现,其实质是以人工智能、区块链、云计算、大数据、5G等为代表的技术创新。(证券日报)[2020/9/23]

1. 漏洞一

项目拥有者在textMiner.sol智能合约1000行处实现了withUpdates()函数。该函数的的作用是可以将任意数量的为devaddr地址铸造任意数量的代币。而通过查看图2中devaddr和项目拥有者owner的地址值,可以发现两者相同,因此项目拥有者可以通过该漏洞为devaddr地址铸造任意数目代币。

同时,当前的devaddr地址拥有者可以通过图3的dev()函数将devaddr地址值更换到另外一个地址,因此最终项目拥有者可以更换将devaddr地址值更换的方法,向任意地址中铸造任意数目代币。

虽然项目拥有者将图1中的withUpdates()函数设置为不允许智能合约外部调用,但是却有意地在图4中919行实现了允许被外部调用的add()函数,然后通过921行代码调用withUpdates()函数,从而实现向devaddr地址铸造1000000000000000000000000000000数量代币。

图1:第1000行中的withUpdates()函数

图2:devaddr地址以及项目拥有者owner地址

图3:dev()函数

图4:add()函数

2. 漏洞二

图5:emergencyWithdraw()函数

项目拥有者可以通过调用图5中emergencyWithdraw()函数,将某一个特定地址投资者的某一个流动性池中的流动性资产全部取出,并转移到项目拥有者的地址中。

该emergencyWithdraw()函数是一个基于正确的emergencyWithdraw()函数。因此就算审视合约者不恶意揣测,也很难说项目方不是恶意改写,并添加了该漏洞。

从下图6的对比中可以发现,Sushiswap允许投资者通过调用emergencyWithdraw()函数,紧急取出属于自己的流动性资产,而在text.finance中却仅允许项目拥有者来调用该函数,同时允许项目拥有者取出属于任何投资者的流动性资产。

图6:text.finance和sushiswap项目中emergencyWithdraw()函数实现对比

CertiK安全研究团队认为当投资者在对DeFi项目进行投资时,不仅需要对智能合约常见的代码有所了解,更需要谨慎地审视具体代码的实现逻辑。否则极易掉入类似该项目中的恶意漏洞陷阱当中。

对于非技术背景的投资者,更需要了解项目是否经过严谨的技术审计。从Text.finance项目的恶意漏洞中可以看出,盲目投资一个没有经过严格审计的项目,或引发极大风险,并造成难以估量的损失。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

DAI中钞区块链研究院院长张一锋谈央行为何要推数字货币

中钞区块链研究院院长张一锋11月11日在出席“第十五届21世纪亚洲金融年会”金融科技分会场时发表了演讲,今天的社会到底需要什么样的数字货币? 张一锋认为,十年实践证明比特币并不是理想的数字货币,一是比特币技术上没有进化成可扩展的弹性系统,所以比特币容量和支付并发能力仍停留在比较初级阶段。

ICP数据:灰度投资现在控制了目前比特币供应量的近3%

灰度(Grayscale)似乎在很短的时间内就掌握了加密货币的获取技巧,其加密货币投资公司现在拥有全球近3%的比特币供应量。交易员和比特币分析师MoonCarl在一条推文中对此有所了解,他指出Grayscale今年第四次购买了大量的比特币。

狗狗币金色前哨 | V20峰会巴黎举行 主要议题围绕稳定币和DeFi监管

自11月16日起,为期3天的V20峰会开始在巴黎举行,会议的主要议题为稳定币和DeFi的监管。 本次峰会,除了金融行动特别工作组(FATF)之外,日本金融服务局、美国的财政部、美国财政部金融犯罪执法网络(FinCEN)和新加坡金融管理局(MAS)也将参与峰会。此外,澳大利亚、加拿大等高级政府官员也将出席会议。

[0:0ms0-9:201ms