# 挽救被盗钱包资产LoL

By [Sunny He](https://paragraph.com/@sunny-he) · 2022-01-17

---

**事件回顾**

几周前参加一次NFT注册过程中，误操作将主要钱包私钥泄露，导致钱包中，大部分资产被盗走。幸运的是一部份资产不在hacker盗取列表上，幸免于难。但是问题是，如果要挽救钱包里的资产，就需要先转入油费，再进行转账或者unstake等相关操作，然而担心钱包已经被bot盯上，会frontrun我们的所有操作，这样剩余资产也会被hacker转走。

**挽救剩余资产**

简单research，发现过去一年，这类hacking频发，但是尚未有retail端解决方案。已经很多人report自己钱包盗用，NFT资产还存留在钱包中，因此有大神提出解决方案，即：利用flashbot将多个transaction bundle到一起，保证在一个block里执行，不给hacker bot时间和机会frontrun你的交易。

借用github上大神们提供的template [https://github.com/microbecode/flashbot/blob/master/src/index.ts](https://github.com/microbecode/flashbot/blob/master/src/index.ts)，将相关代码（95-99行）换成对应的合约地址和函数（etherscan上可查询）。

值得注意的是，我们在Goerli上进行了简单的Flashbot bundle转账测试，能够成功执行。在真实的环境中，因为涉及到多笔transaction，多个平台交互，在Gas Fee limit这里，数字一直不对，好在Flashbot能够测算gas fee limit，数字不够不执行交易，手动修改了几次gas，终于成功的把在dex staking的资产和一些low liquidity的token资产转移到新的钱包了。

**后续**

链上资产的surviliance是生态中不可或缺的一环，资产丢失的追回或者报案也是近年来这些公司越发重要的业务。

在hacking发生后，我立即联系了之前cover过的一些survilliance的公司，TRM Labs, Elementus，Merkle Tree, 也算是从用户角度做了一次尽调。TRM Labs, Elementus, Merkle Tree 均立刻安排相关investigation，并且把相关交易记录在系统内，如果相关黑客钱包资产准备在交易所进行交易，合作的交易所会hold相关资产，并且预留几天时间给受害者进行报案。

这些surveillance公司现在主要支持Ethereum，暂不支持其他链，比如Polygon，所以也立即联系的polygon团队，report相关的交易和钱包地址，polygon团队也label了相关的地址。

由于此次验证链接钱包，是通过collab.land发生的，也第一时间联系了collab.land团队，24小时之内也收到了产品团队的回复，切断了相关server链接，以免更多人资产被盗。

**这里犯了三个个非常严重操作和认知的错误：**

1.Metamask或者任何钱包，在任何情况下都不会要你的私钥，更不会需要通过私钥进行授权。这是基本常识，不要因为导入钱包过程需要私钥就觉得钱包会跟你要私钥授权；

2.无论是新手还是资深从业者，跟资产安全无小事，不要因为操作多，怕麻烦，就不妥善保管私钥。有时候麻烦也是一种安全。过去一个星期，沟通的从业者中，大概80%+的人会把助记词直接保存在电脑里。你永远不知道Hacker可以以何种方式拿到你的信息；大额资产放冷钱包；常备一个备用冷钱包。

3.不要因为购买成本低，就忽视资产现有价值。热钱包，尤其是extension，尽量不要放资产，油费都别放，资产都放在冷钱包里，因为现在损失掉的未来某一天也许就是你暴富的机会。

**最后要特别感谢：**

感谢慢雾的余弦总，确认了我们解决思路；

感谢吓神，把dex里跟被盗钱包里资产相关的参数帮我们一个一个找出来，最后半夜累到眼睛睁不开写script的时候，节省了不少时间；

感谢Youbi的Enzo，一步一步带着队友体验smart contract，进行交互测试，让区块链小白能够迅速了解smart contract精髓；

感谢Chaos Labs的Omer，大半夜等在线上，随时fork 主网环境，提供simulation的测试环境；

感谢湾区的师兄，大半夜送ledger，让我们能安心睡个好觉；

当然最棒的还是我家杰克老师，区块链小白，一晚上完成了smartcontract，dex，flashbot，以及一些列以太坊工具的认知和实操，经过6个小时，成功把资产转移出来！！！

---

*Originally published on [Sunny He](https://paragraph.com/@sunny-he/lol)*
