DappSo
在这几天有人爆料 EOS 版 Fomo3D 存在的一些潜在风险,大意就是:
EOS 版 Fomo3D 这个项目,利用了普通用户对 EOS 权限机制的认知缺陷。在代码中,对用户账号更新了权限。
这不仅仅是授权, 而是更改权限。
用的是 updateAuth 操作,代表用户账号里的币已经不安全了,随时能被项目方轻松转走。
这种情况下用户就是案板上的鱼肉,是生是死全在项目方的一念之间。
被曝光后,项目方第一时间发了公告。拿几个月前 issue 和 bm 来说事。
不过当天就有大神用代码做实验了,感兴趣的朋友可以去试一试。
代码如下:
cleos wallet import 5KGkHW3LKQy8DUkhYdAJAJP2xfnhPTYmcAxerjm815vYKB5qqL1
cleos wallet open
cleos wallet unlock --password=
cleos -u http://52.199.182.25:8888 push action codecontract transfer '{"from":"codeauth1111","to":"codecontract","quantity":"1.0000 EOS","memo":"test auth"}' -p codecontract@active
一个没有经过完整的测试,带着 BUG 上线的产品,就如同埋了一颗定时炸弹随时都可能引爆。
「权限」这种常识性的错误都犯了。整型溢出、循环、重入等这些常见的智能合约错误更是大概率存在。
毕竟 EOS 版 Fomo3D 没开源代码,其中是否有什么问题我们也看不到。
就在我们担忧资金是否安全的时候,游戏今天就出事儿了。
EOS 版 Fomo3D 今天真的被整形溢出攻击了。
智能合约内部数据已经损坏,游戏看来也差不多 GG了。
如果是传统数据库,叫运维改个数据就完事儿了。在区块链上,想改数据可不是那么简单的。
现在资金池里边的 EOS 已经变成了负数。
这个时候姗姗来迟的官方也赶紧发布公告来稳住用户。
官方已经做好了修复方案。
所谓的修复方案。只能通过写一个临时的合约方法,更新合约,然后再调用这个新写的合约方法,去修复损坏的数据。
这是在侮辱智能合约和区块链吗?
这种操作不仅风险很大,而且完全违背了去中心化!
不过事到如今他们也没有办法,只能走一步看一步了。「假装啥也没有发生」
大家都只看到了以太坊上 Fomo3D 这个资金盘瞬间引爆,三天吸金63240000元,却忘了它是经过了整整一年的测试才正式推出。
而反观其他山寨 Fomo3D 的资金盘,为了抢占吸金的时机,不经过任何测试优化就直接上线。
都在割韭菜,但是拜托吃相好看点好不好?
小编在此也告诫各位用户,尽量远离这些资金盘。如果真的想赚钱,盯着别人利息的时候,记得看好自己的本金。
领取专属 10元无门槛券
私享最新 技术干货