錢包被盜了...
我被盜了。
今天晚上剛好逛到 Komachi 的 DC,發現原來是今天 22:30 Free mint,且還特別註明有超發 30%,先搶先贏(FCFS)。我設了個鬧鐘就跑去做其他雜事,而剛好朋友敲我打 LOL,就這麼玩了幾場戰棋。在遊戲途中鬧鐘響了,我就把錢包連接好繼續邊玩邊等著時間,就這樣雙開又不專心的狀態下,操作著錢包。
這是第一個失誤:不專心
時間一到,我就連上錢包,順便看了一下授權的內容,發現他似乎有超乎預期的花費,總共需要約 10U 的 ETH,只是這剛好與公售的價格相差無幾,我就沒仔細看按了同意邊繼續玩遊戲。等交易通過後我特別去了 Etherscan 上看為何會有多的花費,我看到了這個備註
當下我只注意到 Input data 寫著 KomochiMint,就傻傻的認為這些費用的確是跑交易造成的。但是,這張圖裡包含的內容可不止如此。
- Gas 不是 Mint function 該有的數量
一般的鑄造費用就算是用到最新的 721A 這類大幅優化的合約,所需的 Gas 大約是 80000-100000,圖中的 21182 是一般轉移 Token 的費用。 - 我沒有拿到 Token
這些詭異之處如果我當下馬上去看一下 DC 內或其他 DC 的狀況可以很輕易的發現有問題,但我忙著繼續玩遊戲,錯失了這個機會。而且事後回去看了幾個我平時有在逛的 DC,早在十點多就有人在提醒他可能有問題。
這是第二個失誤:沒有做到該有的查證
接著就是連結另一個錢包繼續操作,然後該死的是,這裡面就有一些有價值的資產了。就在我沒注意看就按下第一個同意授權後,很奇怪的是他又跳了一個請求,仔細看了一下請求的內容,發現居然和其他 Token 有關,這時我才發現不對,出事啦!
這是第三個失誤:用存放有價值的 Token 之錢包跟合約互動
當下馬上先取消所有的請求,並打開 Etherscan 切到 Token approvals,而過程中我順眼瞄到已經有一個 NFT 被盜走了。當下雖然很慌,但還是按部就班照著步驟連結錢包,並取消授權。
步驟:
1. 點 Connect to Web3 連錢包
2. 切到 ERC721 或 ERC1155 把你不要的授權 Revoke
這種方法會比到 Revoke.cash 處理還乾淨
接著要提到為何只被盜走一個 Token,原因在於我習慣把 Ledger 冷錢包生成的不同組地址直接分級使用,並且平時就很少使用熱錢包。而冷錢包在授權時必須按下實體按鍵,從物理上杜絕非本人的操作,讓我有時間取消授權並保下錢包的資產,否則熱錢包的授權會讓你沒什麼緩衝的時間。(也有可能是他的合約寫法會必須一個個同意,但這不屬於我覆盤的內容)
最後我把兩個錢包跟網站的連結都解除了,並檢查是否有不該有的轉移授權。至此整個危機處理完畢,雖然損失的並不是太高單價的 NFT,但仍然讓我感到肉痛且害怕。
這次用金錢買來的教訓非常深刻,相信之後每次都會更加注意事前 DD 和當下的專心程度,看好授權的內容。經歷這次的事情讓我未來會更傾向直接用冷錢包做錢包分級,並且徹底執行只有存放功能的 Ice cold wallet,只保留一兩個熱錢包方便較低風險的高頻率操作。
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!
- 来自作者
- 相关推荐