ICE:CertiK:Keep3r项目中心化风险漏洞分析_JUICE币

北京时间2020年11月20日,Telegram社群出现某些截图声称Keep3rLink接受了CertiK的审计服务。在此,CertiK郑重声明:CertiK团队从未对"Keep3rLink"项目进行过任何审计。同日,CertiK安全研究团队发现Keep3r项目存在中心化安全风险。项目拥有者拥有过大权限,可将允许奖励的限制提高,从而可以向任意参与者发送任意数额的奖励且可向任意地址铸造任意数目代币。项目风险及相关细节

Keep3rV1:代码地址:https://github.com/部署地址:https://etherscan.io/Keep3rV1Helper:代码地址:https://github.com/keep3r-network/keep3r.network/blob/master/contracts/Keep3rV1Helper.sol部署地址:https://etherscan.io/address/0x93747c4260e64507a213b4016e1d435c9928617f如下图图一所示,Keep3r项目的Keep3rV1智能合约中定义了两个角色:governance与pendingGovernance。1178行setGovernance()函数允许当前governance角色将pendingGovernance角色设定为任意给定地址_governance。同时在1186行acceptGovernance()函数中,当前pendingGovernance可以将自己授权为governance角色。因此从逻辑上governance角色与pendingGovernance角色可以循环授权,且没有任何event事件可以提醒投资者governance角色与pendingGovernance角色的变更。此时,项目拥有者可以随意设置拥有两个角色的地址。

Yearn Finance通过新代币经济模型提案,未来 YFI 持有者需质押代币才能参与治理:1月4日消息,收益聚合器项目 Yearn Finance 社区以99.68%的投票结果通过第65号关于新代币经济模型的提案。根据该提案,一部分 YFI 代币将由Yearn Finance 金库回购,以奖励积极参与 Yearn 治理的 YFI 持有者。同时为加强 YFI 代币在治理中的作用,提出几项更改:

一,YFI代币持有者通过质押 YFI 获得 xYFI,质押者将获得 Yearn Finance 额外回购的 YFI 代币份额,当 YFI 代币价格上涨时,质押者可以赚取更多收益。此举意味着,未来只有质押 YFI 代币才有资格参与 Yearn Finance 治理。

二,用户将能够选择 YFI 代币的锁定时长,一个人锁定的时间越长,获得的奖励就越多。这一机制促使 YFI 的循环供应量减少。?用户还将收到 veYFI 代币,用于投票,与他们锁定 YFI 的时间成正比。?

据称,该提案灵感来自 Curve Finance,旨在通过改进代币经济学限制流动性供应,促进长期价格升值。[2022/1/4 8:23:22]

YFI跌破31000美元关口 日内跌幅为9.13%:欧易OKEx数据显示,YFI短线下跌,跌破31000美元关口,现报30998.0美元,日内跌幅达到9.13%,行情波动较大,请做好风险控制。[2021/2/26 17:55:26]

图一:governance、pendingGovernance角色以及KPRH设置函数setKeep3rHelper()一旦拥有governance角色,拥有角色的地址可以利用图一中1169行setKeep3rHelper()函数对当前KPRH指向的Keep3rHelper智能合约进行修改。修改之后图二中1076行KPRH.getQuoteLimit()的具体实现就也极有可能被修改,接下来会返回给调用该函数的Keep3rV1合约不同的返回值。

YFI突破35200美元关口 日内涨幅为6.41%:欧易OKEx数据显示,YFI短线上涨,突破35200美元关口,现报35217.0美元,日内涨幅达到6.41%,行情波动较大,请做好风险控制。[2021/2/25 17:50:09]

图二:对某个用户keeper进行奖励的函数workReceipt()项目拥有者如果考虑发动攻击,由于拥有governance角色,因此可以首先调用图三中addKPRCredit()函数。在916行对某一个job的地址给与任意数目的信用数目credit。之后可以部署一个新的Keep3rHelper智能合约,然后在该智能合约中的将getQuoteLimit方法定义为返回uint类型变量的最大值。然后项目拥有者可以使用ADDR_A的地址来调用图1中setKeep3rHelper()函数,将KPRH值指向给定的Keep3rHelper智能合约。最终调用图二中workReceipt()函数,由于1076行代码由于KPRH.getQuoteLimit()函数被指定返回最大值的缘故必定通过。在1077行中由于项目拥有者使用ADDR_A的地址来进行的调用,其在该智能合约中拥有的信用数目为CREDIT_A,因此amount的数目可以为略小于CREDIT_A的任意值。当通过1077行之后,amount的奖励数目被给与keeper的地址。最终该keeper可以调用合同内部的ERC20的转移函数,将获得的奖励转移到自己给定的地址中,完成攻击行为。

Yearn.Finance创始人:YFI合理估值应是3美元:著名加密货币研究者、Uncommon Core主持人Hasu最近在博客节目中采访了Yearn.Finance创始人Andre Cronje。Hasu提问道:“我听你说,YFI 代币实际价值为零。零只是起始价格,你不理解为什么会有人拿钱买。”Cronje回应称:“所以技术上讲,我基于奖励和交易费用对YFI代币价值的估算是三美元。我没和任何人讨论过这个问题,因为不想有投机行为。YFI代币应该有实际用处。可惜系统首次分发代币后,就和投机有了联系。我对后续的分发没什么不满,只是觉得有点过头。”[2020/8/31]

图三:对某个job增加信用数目credit的函数addKPRCredit()除了上文讲述的中心化风险漏洞之外,图四中的mint()允许为governance角色的地址铸造任意数目的代币。由于governance角色的地址可以通过图一中的setGovernance()函数以及acceptGovernance()进行设置。也就代表着项目管理者只要拥有governanvce角色,即可以通过重设governance角色地址的方式,向任意地址铸造任意数目的代币。

DeFi新项目YFI登陆C站:CoinEx官方消息,C站(CoinEx)于2020年7月24日(UTC+8)正式开放YFI充值,并支持YFI/BTC,YFI/USDT,YFI/ETH交易对,目前,充值与提现已同时开启。

yearn.finance(YFI) 是一种通过合约交互实现最高利率的借贷平台利率聚合层。简单来说是一个可帮助用户实现利益最大化,并提供各种套利、借贷策略的聚合型去中心化量化平台。其治理代币YFI采用流动性挖矿方式提供,持有YFI享有投票权和收益权。[2020/7/24]

图四:允许governance角色随意铸造代币的函数mint()通过查询etherscan上Keep3rV1智能合约的数据,图五显示Keep3rV1拥有者地址为0x2d407ddb06311396fe14d4b49da5f0471447d45c。同时,如图六显示,北京时间11月20日早11点governance角色的地址也为0x2d407ddb06311396fe14d4b49da5f0471447d45c。可以得知项目拥有者拥有governance角色权限,因此有权限可以通过上述中心化漏洞进行攻击并获利。

图五:Keep3rV1智能合约拥有者等相关信息

图六:governance角色地址总结

区块链作为时代颠覆性的核心技术,也已在各个领域得到了广泛的应用,隐藏在收益和利好之下的安全隐患也不应被忽视。安全审计现在已经是高质量项目的标配。若项目没有被审计,对于用户来说,投资行为则要格外慎重;对于项目方来说,则需要准备好相关资料并寻找专业并且声誉好的审计公司进行审计。若项目被审计过,则需尽量了解审计公司背景以及其审计报告中的各项指标。CertiK采用形式化验证工具来证明智能合约可靠性,公司内部审计专家将利用包括形式化验证在内的多种软件测试方法,结合一流的白帽黑客团队提供专业渗透测试,从而确保项目从前端到智能合约整体的安全性。近期,有部分项目方假借CertiK的名义发布不实审计报告。首先,CertiK很感谢项目方对我们的认可。但项目方应对项目的发展负责,一份完整且符合安全标准的安全审计报告不可或缺,如您有审计需求,欢迎点击CertiK公众号底部对话框,留言免费获取咨询及报价!CertiK在此提示:任何与CertiK审计相关的消息,请仔细甄别。切勿轻信相关不实内容,并请以CertiK官方或权威媒体发布的消息为准。

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

大币网

[0:0ms0-6:547ms