时值国庆大假期间,加密钱包初创公司ZenGo的研究员亚历克斯·马努斯金爆料称,有用户一夜之间损失了价值14万美元的Uniswap代币UNI,而这与名为UniCats的“收益农场”有关。
据了解,一些参与DeFi提供流动性挖矿赚取收益的用户最近发现了UniCats这个新农场。从界面来看,UniCats类似YamFinance和SushiSwap;收益方面,不仅可挖矿本地MEOW代币,同时还可挖出包括UNI在内的其它代币。
维也纳经济与商业大学教授:ICO基本都可成为本地案例,为投资者索赔提供良好前景:3月18日消息,维也纳经济与商业大学的公司法和破产法教授Sebastian Mock发表论文《从根源看招股说明书责任和ICO》。论文表示,有关ICO的最相关的法律问题是,是否需要发行招股说明书以及是否适用相关的赔偿责任制度。目前为止,大多数监管机构都不愿对ICO施加此要求,以避免监管过度。德国对这种情况也缺少明确的监管答案。但是,柏林地区法院在其2020年5月27日的判决中认为,ICO发起人对投资者在ICO中遭受的损害承担的责任仍然可以根据(德国)一般民法确定。
法院认为,首先,尽管从技术角度来看可能很复杂,但ICO似乎只是一个常规的投资机会,如果发起人和背后的人提供虚假或误导性陈述,他们将承担责任(根据德国法律)。该案值得强调的第二个要素是,国际管辖权和国际私法方面或多或少是无关紧要的。尽管ICO几乎可以在地球上的每个地方发起,但这些ICO背后的人通常与投资者在同一个地方。通过应用诸如德国一般民法招股说明书责任等概念,以及对谁可以承担责任的广泛理解,这些案例几乎成为本地案例,为投资者索赔提供了良好前景。[2021/3/18 18:56:33]
界面友好,产能不赖,资产入场。
广州有39家41个案例入选区块链信息服务备案名单:中国经济导报今日刊文《广州多管齐下发展区块链产业》,文章指出 在广东省广州市人民政府新闻办公室日前举行第130场广州市疫情防控和复工复产新闻发布会(区块链发展和先进制造业集群专题)上明确将把区块链作为核心技术自主创新的重要突破口。
广州市工业和信息化局总工程师胡志刚表示要在完善顶层设计、打造产业载体、构建产业生态等方面多方发力,并透露在国家网信办发布的三批共730个境内区块链信息服务备案名单中,广州共39家41个案例入选,居全国前列。
据了解,目前广州市依已集聚区块链企业约400家,涵盖金融、政务、民生、制造业等多个领域。[2020/6/19]
当用户准备提供流动性时,UniCats弹出提示框,要求获取消费限制许可,而该许可的限制是:无限。
用户可能怎么也不会想到,在这个无限消费的许可的背后,UniCats开发者早已暗置了一个直通自家资产的“后门”。用户的资产可由此被悄悄转移至开发者指定的地址。
动态 | 软银参与的CBSG组织计划在2020年初推出利用区块链的结算系统商用案例:软银等大型通信运营商参与的电信运营商区块链研究组(CBSG)计划在2020年初推出利用区块链的结算系统商用案例。该组织已开发了利用区块链的移动钱包,旨在构筑通信运营商之间的交叉结算系统。软银已于今年1月与远传电信共同进行了这项技术的现场试验。(Cointelegraph日本站)[2019/9/25]
就这样,有大胆且不幸的“农夫”瞬间被窃取了价值14万美元的UNI,而其他用户也有不同程度的损失。
盗窃“现场”
那么,UniCats开的这个“后门”,又是如何对用户进行窃金操作的呢?
1、盗窃者首先将UniCats的owner权限转移给一个合约地址。
2、盗窃者通过获得owner权限的合约地址调用UniCats的setGovernance方法。
声音 | 火币李林:以太坊只能算半个成功案例:8月21日,在HuobiLabs举办的“重新出发-孵化时代最强者”发布会上,火币李林表示,比特币和稳定币是区块链领域唯二的落地成功案例,以太坊只能算半个。[2019/8/21]
3、setGovernance函数调用对于代币的transferFrom函数,将用户资产转移到盗窃者地址。
第2、3步为此次盗窃的核心步骤,如下图所示:
动态 | 图灵奖得主姚期智介绍区块链等金融科技应用案例 并展望金融科技发展前景:据金融科技研究消息,4月15日,中国人民银行举办“金融科技大讲堂”首次活动。中国科学院院士、图灵奖得主、清华大学交叉信息研究院院长姚期智发表《金融科技的崛起:科学基础与发展前景》主题演讲,重点介绍了多方安全计算、区块链、无监督学习等金融科技应用案例,并对金融科技应用与发展的未来前景作了展望。[2019/4/16]
“后门”分析
UniCats合约中的setGovernance函数是实现盗窃的关键。通过调用此函数,UniCats合约即可作为调用者,能够向任意合约发起任意调用。
据上图所示,调用该方法可输入两个参数?,即一个地址类型的“_governance”和一个bytes类型的“_setData”。而函数的governance.call(_setupData)其实是表示向参数“_governance”地址发起一笔交易,其calldata为参数“_setData”。如此一来,只要有权限调用这个方法,便可以借合约的身份发起任意交易。
在进行代码编写时,其注释表示此函数是一个修改治理合约的函数,如下图所示:
事实上,根据成都链安的审计经验,修改治理合约通常并不需要调用call。而且,UniCats在对用户资产进行盗窃时,还刻意多次变换owner地址,如下图所示:
不仅如此,资产在转出后还立刻被流入混淆器,如下图所示:
如此操作,老练狠辣、一气呵成,因此基本可以断定,该项目就是一个彻头彻尾的局,为的就是钓鱼而上线。
令人细思极恐的是,在本案例中盗窃者调用了transferFrom方法对用户的资产实施转账,这就使得即便存在于钱包的用户资产,也可能面临被盗的风险。由于在合约授权时发起的是无额度限制授权,因此,一旦授权许可通过,合约就有权转移用户所有的资产。
成都链安郑重提醒,用户在进行合约授权时,使用多少,授权多少。这样操作的话,即便不幸遭遇类似欺诈性质的合约,也不会殃及钱包中的本金。如果用户不太清楚自己的授权情况,可以通过以下工具进行查询。
1、https://approved.zone
2、https://revoke.cash
3、https://tac.dappstar.io/#/
小结
于DeFi领域,用户获得新币的门槛大大降低,通过组合资产投资的确可能在短期内实现大规模的增值收益。但是,用户资产可能面临的风险状况就变得更为复杂,在这点上必须引起高度注意。
在DeFi这个“黑暗森林”,大胆冒险是禁忌一般的行为。用户资产不仅要受到客观行情波动的影响,质押时是否遭受“清算”也无法预知,而合约中的人为陷阱更是无处不在。
尤其是,不少DeFi项目都存在代理转账的逻辑,多数项目方也会直接要求用户授权最大值。也就是说,用户授权后,某些不良合约将利用留“后门”的手段,反噬用户所持的全部资产。
因此,对于用户而言,来自合约的一切许可请求都要格外注意,宁理性退场,不冒然入坑,时刻警惕恶意项目方的此类“后门”陷阱。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。