嗨,早!
上週文章討論的兩則新聞,後來都有新進展。以下簡要更新。
FTX 已經開始出售手上的 SOL,總價值約 75 億美元。這數字相當嚇人,可以說 FTX 光是出清 SOL,就足以賠償多數用戶的損失。我也要修正上週文章的說法1。原本我以為「FTX 被鎖定的 SOL」是參與鏈上質押,後來才知道是代幣歸屬期(token vesting)還沒走完。因此,FTX 出清的不是 SOL 現貨,而是未來拿到 SOL 的權利。好消息是 SOL 價格就不會受到影響,但壞消息是「未來的 SOL」只能以市價打 7 折出售(但還是有 75 億 ...)。
另一則新聞我提到 Google 目前支援以太坊地址搜尋,這是比特幣都還沒有的待遇。沒想到文章才發表沒幾天,Google 就宣佈支援比特幣地址搜尋。看來 Google 也是很重視區塊勢的聲音(誤)。進入正題。
加密貨幣詐騙的樣態相當多元。如果是陷入感情、投資陷阱,已經有懶人包可以參考。如果是私鑰保管不慎問題,選用推薦錢包2就沒有大問題。倒是近期新興的詐騙型態 —— 授權釣魚(Approval phishing scam) —— 讓許多幣圈老手都栽了跟斗。連專門檢測授權釣魚的資安專家都不小心踩坑。稍不留神,錢包就會被駭客清空。
網路上授權釣魚的血淚分享屢見不鮮,也有越來越多防範工具。這篇文章會先解釋為何授權釣魚這麼難以防範,再教你如何以最有效率的方式為自己錢包健檢,使用工具為錢包打造一道防火牆。
Uniswap 被駭了
2023 年 10 月,Reddit 論壇 Uniswap 板上出現一則貼文,標題是〈警告:Uniswap 授權漏洞發生中!目前用戶已損失超過 3,700 萬美元。過去 8 個月曾用過 Uniswap 的人都有危險〉。點進貼文,作者只有附上幣圈媒體 Blockworks 的報導連結:
開發者在推文中表示,Uniswap 智慧合約凌晨遭到入侵。這個漏洞涉及「Permit2」這個功能 ... 資安公司 PeckShield 表示:「Uniswap Permit2 似乎有一個授權漏洞,至今已有 3,700 萬美元遭駭。」DefiLlama 開發者、Uniswap 開發者也都證實了這個漏洞 ... Uniswap 首席資安工程師呼籲用戶撤消 Uniswap 的所有合約權限。
撰寫這則報導的記者相當貼心地在副標題和內文,兩度附上撤銷代幣授權的連結,好讓用戶儘速處理,即時止損。但假如你在第一時間循著步驟到 Etherscan 連接錢包、取消授權,只會發現錢包跳出幾則資產轉出通知 —— 你已成為授權釣魚的受害者。
這是一起精心策劃的授權釣魚詐騙。鎖定的對象不是投資小白,而是熟悉 DeFi 操作的幣圈老手!事實上 Uniswap 根本沒有被駭,新聞報導、開發者現身說法都是假消息,前前後後只有 Reddit 論壇以及你的錢包是真的。
所幸當時策劃這起詐騙的駭客粗心大意。人們進入釣魚網站之後,並沒有馬上彈出假授權訊息要求簽署,這才讓許多用戶逃過一劫。下方是真假網站對照圖。如果沒有刻意檢查網址,很難看出有什麼異狀。
鏈上數據分析公司 Chainalysis 就指出,2023 年有超過 3 億美元被授權釣魚偷走,每次情境都不太一樣,最常見的是假冒空投騙授權。如果你是把資產通通放在中心化交易所的小白,授權釣魚不會找上你。但如果你越常打開錢包、操作鏈上應用,是個老手,反而會成為駭客眼中的待宰肥羊。
盲點在於人們普遍不清楚自己授權了什麼。例如報導中提到的 「Permit2」,如果不是技術專家,誰會知道那是什麼東西。但反正報導都引述那麼多專家說法,還把取消授權的連結送到眼前,難道媒體會亂寫嗎?總之把錢包的私鑰守好就安全了吧?
於是,在情急之下忽略多方查證。加上簽署過程中,錢包跳出來的資訊通常也不是「人話」。不少人糊裏糊塗地簽署授權,就會親手把資產送給駭客。
如果你不確定自己是否簽過危險授權,不妨先用 Wallet Guard 這套工具替錢包做一次完整的健康檢查。
錢包健檢
Wallet Guard 是免費的瀏覽器外掛工具,功能就像是錢包的防毒軟體。連接錢包後,它就能根據「病毒資料庫」替你掃描是否曾經簽過危險授權,並替錢包健康度評分。下圖是我的掃描結果,仔細一看,高風險授權是我曾經用過 2023 年 8 月被駭3的去中心化交易所 Curve Finance。
雖然當時 Curve 被駭的是 ETH、CRV 資金池,我持有的則是 WBTC,理應不受影響。但 Wallet Guard 比較謹慎,將整個 Curve 都視為高風險。此時我可以選擇點擊畫面上的醒目白色按鈕取消授權(Revoke),或是直接把曝險資產 WBTC 轉走就好。前者是根除問題,讓駭客無法動用錢包資產。後者則是「頭痛醫頭」,讓駭客暫時沒錢可用。
把錢轉走之後,Wallet Guard 警告就會消失,錢包安全評分也會增加。使用體驗非常直覺,我推薦將它當成防毒軟體常駐在瀏覽器內。
但預防勝於治療。如果有人能在大家日常簽署授權的時候,從旁提醒「這網址看起來有點可疑哦!」那該有多好。接下來,我推薦兩款工具 —— Scam Sniffer、Rabby Wallet —— 協助你保持警覺、預防釣魚。
日常預防
Scam Sniffer 中文翻譯是詐騙嗅探器,同樣也是一款瀏覽器外掛工具。它就是一款隨身攜帶的被動警報器,每次瀏覽網站或是推文,都會自動替你「聞一聞」這裡有沒有詐騙的味道。我特地找了兩個釣魚網站(1、2)給大家當成測試。如果你有安裝 Scam Sniffer,應該會跟我一樣被下方這個警告畫面擋住。
前面介紹的「防毒軟體」Wallet Guard 也有相同功能。我自己會兩個都開,等於每個網站在瀏覽之前都經過兩道檢測。降低漏接機率。但就像防毒軟體,敏銳度太高難免有誤報的問題。最近我在申領一筆回饋時,Wallet Guard 認為沒問題,但 Scam Sniffer 就跳出風險警告。要我再次確認網址。經過一番檢查,才放心點下授權。
多數人被騙授權都只是一時疏忽,事後後悔怎麼這麼粗心。安裝這些外掛工具的最大意義,就是強迫你停下來多看一眼。只是這兩套工具都是瀏覽器外掛,必須在 PC 上才能使用。如果要在手機上也收到類似的通知,那就得下載 Rabby Wallet 當成另一道防火牆。
Rabby Wallet 的定位是錢包的防火牆。打開 Rabby 既不能創建新錢包,也不能輸入助記詞,而是必須連動原本就在使用的其他錢包,例如 MetaMask。Rabby 的主打功能是將授權簽署轉成「人話」,並替使用者提前模擬簽署結果。先看到結果再決定要不要授權,就比較不會被騙。
下圖是用 Rabby 送出的一筆交易。左下方會顯示這筆交易使用的是哪個應用,也會顯示過去是否曾經操作過。如果是第一次使用,Rabby 會要求確認風險才能授權。畫面右方則是交易的模擬結果,顯示會將一筆迷因幣換成 ETH。
模擬交易是相當人性化的設計,另一款手機錢包 Rainbow Wallet 也有相同功能。我自己的用法是把 Rabby 與 Rainbow 錢包連動,等於每次交易都有兩層保護。除非是完全沒在看,不然要簽錯的機率很低。
萬一這些預防機制都沒能攔下你,只能趕緊使用 Wallet Guard 或 Revoke.Cash 撤銷授權、事後補救。雖然這些是標準動作,但如果你問:看到錢包資產正在被轉出,第一時間該怎麼辦?我認為創建新錢包,趕快跟駭客搶錢、搶時間最實際。
走為上策
我沒有親身經驗,但看到錢包資產被駭肯定會腦中一片空白,不知道自己做錯了什麼。有可能是私鑰外洩,也有可能是授權釣魚。在情況不明時,將資產轉到另一個新創建的錢包是最簡單的做法。
如果是私鑰被駭,撤銷授權也沒用。撤銷授權只適用於簽錯授權的特定情況,還得先到 Wallet Guard、Revoke.cash 這些網站操作。我沒把握到時候自己還記得這些名稱。而且每次撤銷都是一筆鏈上交易,必須支付手續費。由於技術限制,使用者無法一次撤銷所有授權。
反倒是遇到危險要逃跑,轉移資產到另一個錢包更直覺,也更有效率。緊急時刻也不必全部轉,只要把幾筆大額資產保護好,就能將傷害降到最低。
我總期待區塊勢的內容既有趣又實用,但這篇有點不同。我希望它是區塊勢至今寫過最「沒用」的一篇文章。
區塊勢是由讀者付費訂閱來維持營運的獨立媒體。如果你覺得區塊勢的文章不錯,歡迎你分享這篇文章。或是到會員成立的 Discord 參與討論,或收藏 Writing NFT 將這篇文章加入自己的 Web3 紀錄。
此外,也請大家推薦區塊勢給親朋好友。若成功推薦一位朋友付費訂閱,你也能免費獲得 1 個月的會員資格延長。過往的出刊內容可以參考文章列表。有鑒於常會有讀者寄信來問我推薦碼,因此我將它們整理成一頁。歡迎大家使用。
想請問明恩,現在用錢包注冊 Web3 網站(如 Paragraph)的時候,如果是鏈下簽名(不會發送交易的),是否會有被駭的風險?