Chubbytank
Chubbytank

chubbytank.eth

錢包被盜了...

(编辑过)
就在我邊玩遊戲邊 Free mint 時,發現怎麼會一直跳 Approve request,這才發現大事不妙。萬幸平常的一些習慣讓我的損失僅限於第一個因為沒注意而按下的同意請求,其他的資產並沒有被盜走 ... 讓我用文字告訴你到底發生了什麼,以及我當下怎麼處理這些麻煩。

我被盜了。

今天晚上剛好逛到 Komachi 的 DC,發現原來是今天 22:30 Free mint,且還特別註明有超發 30%,先搶先贏(FCFS)。我設了個鬧鐘就跑去做其他雜事,而剛好朋友敲我打 LOL,就這麼玩了幾場戰棋。在遊戲途中鬧鐘響了,我就把錢包連接好繼續邊玩邊等著時間,就這樣雙開又不專心的狀態下,操作著錢包。

這是第一個失誤:不專心

時間一到,我就連上錢包,順便看了一下授權的內容,發現他似乎有超乎預期的花費,總共需要約 10U 的 ETH,只是這剛好與公售的價格相差無幾,我就沒仔細看按了同意邊繼續玩遊戲。等交易通過後我特別去了 Etherscan 上看為何會有多的花費,我看到了這個備註

當下我只注意到 Input data 寫著 KomochiMint,就傻傻的認為這些費用的確是跑交易造成的。但是,這張圖裡包含的內容可不止如此。

  1. Gas 不是 Mint function 該有的數量
    一般的鑄造費用就算是用到最新的 721A 這類大幅優化的合約,所需的 Gas 大約是 80000-100000,圖中的 21182 是一般轉移 Token 的費用。
  2. 我沒有拿到 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,只保留一兩個熱錢包方便較低風險的高頻率操作。

CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…
加载中…

发布评论