CER:CertiK:Text.finance智能合约安全漏洞分析

北京时间11月12日,CertiK安全研究团队发现DeFi项目text.finance智能合约代码部分存在安全漏洞。分析之前,先考考大家的眼力,看看下图里面的文字说了什么。

如果看不清,不妨点击图片后把屏幕亮度调至最高。有的时候,某些不想让你看到的因素,正是通过排版或者这样的方式,被刻意隐藏了起来。接下来说说该项目中存在的两处漏洞。大家不妨在阅读文章的时候注意一下图中的位置。第一弹:项目拥有者可通过第一处漏洞,将指定数目代币转移到任意地址。第二弹:项目拥有者可通过第二处漏洞,将任意投资者的流动性池中的资产强制转移到项目拥有者的地址中。漏洞分析

Tracer DAO联创发起社区提案,拟将协议Token置换为开发平台Mycelium Token:8月8日消息,Tracer DAO联合创始人Patrick McNab发起社区提案,拟将协议Token TCR 1:1置换为协议开发平台Mycelium Token MYC,提案通过后,Mycelium团队将把所有商业、产品和开发资源投入到Mycelium品牌下的Tracer产品扩展。

Mycelium是Tracer DAO的开发团队,其业务还包括ChainLink节点运营和开发可编程声誉服务平台Reputation DAO等。[2022/8/8 12:09:32]

textMiner.sol部署地址:https://etherscan.io/address/0x9858728de38c914c2ea32484a113b6628d984a82#code1.漏洞一项目拥有者在textMiner.sol智能合约1000行处实现了withUpdates()函数。该函数的的作用是可以将任意数量的为devaddr地址铸造任意数量的代币。而通过查看图2中devaddr和项目拥有者owner的地址值,可以发现两者相同,因此项目拥有者可以通过该漏洞为devaddr地址铸造任意数目代币。同时,当前的devaddr地址拥有者可以通过图3的dev()函数将devaddr地址值更换到另外一个地址,因此最终项目拥有者可以更换将devaddr地址值更换的方法,向任意地址中铸造任意数目代币。虽然项目拥有者将图1中的withUpdates()函数设置为不允许智能合约外部调用,但是却有意地在图4中919行实现了允许被外部调用的add()函数,然后通过921行代码调用withUpdates()函数,从而实现向devaddr地址铸造1000000000000000000000000000000数量代币。

DeFi平台QUINT获Galaxy Racer 2500万美元投资:5月30日消息,DeFi平台QUINT获Galaxy Racer 2500万美元投资。据悉,Galaxy Racer专注于电子竞技、内容创作者、音乐和体育等领域,也是第一家向加密货币生态系统投入大量资金的电子竞技组织。Galaxy Racer将把QUINT整合到其网站的支付系统中,并探索如何在电子竞技比赛、活动和商品销售部门中使用Token。(雅虎财经)[2022/5/30 3:50:42]

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

Balancer计划参考veCRV推出veBAL Token经济模型:2月7日消息,去中心化交易平台 Balancer 计划参考 CRV 被锁定到 veCRV 中的机制设计,推出 veBAL Token 经济模型,主要包括 veBAL 和治理权、新的 BAL 通胀时间表、链上计量系统(用于确定流动性挖矿分布)等。其中 80/20 BAL/ETH 池的 BPT(Balancer 资金池的流动性代币凭证)将被锁定到 veBAL 中,任何人都可以将 80/20 BAL/ETH 池的 BPT 锁定 1 周到 1 年之间的任何时间段而获得对应的 veBAL,veBAL 可投票决定每个流动性池的奖励份额,且协议费收取者收取的协议收入的 75% 将分发给 veBAL 持有者。另外 25% 的费用将由 DAO 财务部门作为储备金保留。[2022/2/8 9:36:27]

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

动态 | 日本加密货币交易所Xtheta和Ceres宣布合作:据cointelegraph日本站报道,日本加密货币交易所Xtheta和Ceres今日宣布合作。Ceres将持有XTheta的股权。XTheta将进一步加强内部控制系统,计划明年春天开始提供虚拟商品服务。Xtheta在日本拥有经营数字货币交易的许可证。[2018/12/27]

图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项目的恶意漏洞中可以看出,盲目投资一个没有经过严格审计的项目,或引发极大风险,并造成难以估量的损失。CertiK是采用形式化验证工具来证明智能合约可靠性的业内顶尖公司。公司内部审计专家将利用包括形式化验证在内的多种软件测试方法,结合一流的白帽黑客团队提供专业渗透测试,从而确保项目从前端到智能合约整体的安全性。如你的项目需要保障,请发送邮件至bd.china@certik.org或直接后台留言进行免费咨询及报价。于此同时,CertiK的新产品预言机及快速扫描,也将为链上项目进行实时打分并且出具快速扫描分数。如果你需要查找某项目的信息及安全分数,请登录CertiKFoundation官网的CertiKShield页面进行浏览:https://shield.certik.foundation/欢迎搜索微信关注CertiK官方微信公众号,点击公众号底部对话框,留言免费获取咨询及报价!

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

链链资讯

[0:0ms0-7:538ms