Cos(余弦)😶‍🌫️
Cos(余弦)😶‍🌫️|2025年03月16日 12:29
今天收到一个反馈,好几位觉得下面这个地址是黑客地址: https://etherscan.io/address/0x2c9c959516e9aaedb2c748224a41249202ca8be7 不断有被盗入账,打开一看,都是 Transfer*,也就是带 Input Data 的,抽样看了一些 tx 的 Input Data,内容差不多都是如下三种: 0xd5575982 0xfef0b6fc00000000000000000000000000000000000000000000000000000007d5d9e043 0x6fed1ea700000000000000000000000000000000000000000000000000016bcc41e90000 这是什么鬼?直接的解法肯定是看开头的 4 字节签名的含义,这个利于理解是什么函数操作,于是三种 Input Data 的 4byte 分别是: 0xd5575982 0xfef0b6fc 0x6fed1ea7 用常见的 https://www.4byte.directory/ 查询,发现不是常规的 4byte,没有结果。一般出现 Input Data 要么是链上喊话要么是对应了目标智能合约的相关操作。接着发现这个“黑客地址”在其他 EVM 链如 BSC/ARB/BASE 等上也看到一样的情况...此时直觉可能是用户没切好链网络导致资金打错链了,但这个地址对应的合约在哪个链? 于是我再回看其中一位用户的反馈,原来他们在玩 Monad Testnet 上的一个 DeFi 项目,叫 Magma,其实 0x2c9c959516e9aaedb2c748224a41249202ca8be7 是 Magma 在 Monad Testnet 上部署的合约地址,合约开源验证了,那就直接读源码: https://testnet.monadexplorer.com/address/0x2c9C959516e9AAEdB2C748224a41249202ca8BE7?tab=Contract -> https://testnet.monadexplorer.com/address/0x3CD599D3a9e7aDA3CE77D6Bf674D6eF644fe1BA3?tab=Contract#file-StakeManager.sol 盲猜是 depositMon()、depositMon(uint256 _referralId) 及 withdrawMon(uint256 amount) 有关操作,验证也很简单,两种方式: 1 安装了 Foundry 环境,直接 cast sig 下看看 4byte 是不是之前所列即可: cast sig "depositMon()" -> 0xd5575982 cast sig "depositMon(uint256 _referralId)" -> 0xfef0b6fc cast sig "withdrawMon(uint256 amount)" -> 0x6fed1ea7 发现都证实了盲猜。 2 会麻烦些,需要硬看 Monad Testnet 上相关 tx 的 Logs 及 Internal Txns 并结合源码做相关验证。 最后通过目标 DeFi 项目的前端做相关验证,整个分析工作才算完整。 最终结论就是这个 0x2c9c959516e9aaedb2c748224a41249202ca8be7 实际上属于 Magma 项目方,并不是真的黑客地址。至于为什么不少用户会把资金打入这个地址非 Monad Testnet 的其他 EVM 地址上,是因为链网络没切换导致,难说是钱包的问题还是 Magma 前端的问题,我在 Magma 前端没轻易复现。其中一位用户也告诉我:概率不大 ,但是会有 ,某钱包全链时候也会出现这种情况。 找回应该也是有希望的,项目方在其他 EVM 链同 nonce 下创建相关合约支持相关资金退回机制即可,具体不展开了,直接问项目方就行。 这里主要是给大家分享当遇到奇怪的安全事件描述时,如何找出真相...😬
分享至:

热门快讯

APP下载

X

Telegram

Facebook

Reddit

复制链接

热门阅读