时值国庆大假期间,加密钱包初创公司ZenGo的研究员亚历克斯·马努斯金爆料称,有用户一夜之间损失了价值14万美元的Uniswap代币UNI,而这与名为UniCats的“收益农场”有关。
据了解,一些参与DeFi提供流动性挖矿赚取收益的用户最近发现了UniCats这个新农场。从界面来看,UniCats类似YamFinance和SushiSwap;收益方面,不仅可挖矿本地MEOW代币,同时还可挖出包括UNI在内的其它代币。
界面友好,产能不赖,资产入场。
当用户准备提供流动性时,UniCats弹出提示框,要求获取消费限制许可,而该许可的限制是:无限。
美国国会法案呼吁联邦政府研究加密货币用于非法活动的案例,并就如何减少这些用途提出建议:4月27日消息,周四向美国参议院和众议院提交的一项两党法案将呼吁联邦政府研究加密货币用于非法活动的案例,并就如何减少这些用途提出建议。《金融技术保护法案》建议成立一个工作组,负责研究恐怖分子或其他犯罪分子如何使用加密货币和其他新的金融技术,并为国会和监管机构提出旨在打击这些用途的建议。[2023/4/27 14:31:26]
用户可能怎么也不会想到,在这个无限消费的许可的背后,UniCats开发者早已暗置了一个直通自家资产的“后门”。用户的资产可由此被悄悄转移至开发者指定的地址。
就这样,有大胆且不幸的“农夫”瞬间被窃取了价值14万美元的UNI,而其他用户也有不同程度的损失。
工业和信息化部组织开展区块链典型应用案例征集工作:金色财经消息,近日,工业和信息化部印发通知,组织开展2022年区块链典型应用案例征集工作。征集方向包括:创新技术及产品、区块链+实体经济、区块链+民生服务、区块链+智慧城市、区块链+政务服务。申报案例应当符合国家有关法律法规及相关产业政策要求,须已落地并取得成效,具有较高技术水平、明显的行业或区域特色及成熟商业模式,具备较强的代表性、示范性、创新性和可推广性,能充分体现区块链的技术特点和适用场景,对相关行业或企业具有较强借鉴意义和推广价值。(中国证券网)[2022/9/8 13:15:44]
盗窃“现场”
那么,UniCats开的这个“后门”,又是如何对用户进行窃金操作的呢?
1、盗窃者首先将UniCats的owner权限转移给一个合约地址。
河南省工信厅征集区块链应用场景需求及应用案例:4月25日消息,记者从河南省工业和信息化厅获悉,河南省工业和信息化厅面向全省征集区块链应用场景需求、区块链典型应用案例。申报截至日期为2022年5月5日。征集范围面向政务服务、智能制造、数字农业、金融服务、医疗健康、电子存证、物流贸易、食药监管、智慧教育、文化旅游以及其他相关领域,征集适合利用区块链数据透明、不易篡改、安全可追溯等特性实现深度赋能,具有行业代表性和市场推广价值的区块链应用场景。(中宏网)[2022/4/25 14:46:45]
2、盗窃者通过获得owner权限的合约地址调用UniCats的setGovernance方法。
3、setGovernance函数调用对于代币的transferFrom函数,将用户资产转移到盗窃者地址。
南通市局公布“数字货币”等非法集资典型案例:据新华报业网消息,南通市局今日向社会公布打击非法集资犯罪典型案例,其中指出以投资“电子商铺”、“电子百货”、“数字货币”、“虚拟货币”“区块链”等为幌子的非法集资案件。[2018/6/5]
第2、3步为此次盗窃的核心步骤,如下图所示:
“后门”分析
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项目都存在代理转账的逻辑,多数项目方也会直接要求用户授权最大值。也就是说,用户授权后,某些不良合约将利用留“后门”的手段,反噬用户所持的全部资产。
因此,对于用户而言,来自合约的一切许可请求都要格外注意,宁理性退场,不冒然入坑,时刻警惕恶意项目方的此类“后门”陷阱。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。