BTC
ETH
HTX
SOL
BNB
查看行情
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

大門安全課 02|Gate & OneKey:如何防範錢包惡意授權與地址投毒

大门安全课
特邀专栏作者
本文約8238字,閱讀全文需要約12分鐘
Gate 特別策劃《大門安全課》欄目,針對不同類型的加密安全問題進行專期解答。我們從發生在用戶身邊最真實的案例出發,聯合安全領域的專業機構,由平台方與安全方兩個視角進行雙重分享,由淺入深地梳理安全規則,在科普用戶安全教育的同時,幫助用戶從自身開始建立起真正有效的防線。
AI總結
展開
  • 核心觀點:鏈上錢包被盜往往源於用戶此前簽署的長期有效授權或地址投毒,而非私鑰洩露;用戶需區分「簽名」與「確認」,養成定期撤銷授權、核對完整地址、分離資產錢包的安全習慣。
  • 關鍵要素:
    1. 授權簽名不等於單次確認,一次Approve或Permit可被對方在額度內多次轉走資產,無需再次確認;NFT的setApprovalForAll更可管理全部同類資產。
    2. 地址投毒利用用戶從交易記錄複製地址且只核對首尾的習慣,攻擊者批量生成相似地址混入記錄實施詐騙。
    3. 撤銷授權和遷移資產是資產被盜時的首要動作,改密碼、重裝應用均無法阻止已生效的鏈上授權被繼續使用。
    4. 鏈上「簽名即終局」無中間攔截,交易平台則通過資金密碼、動態驗證、新地址冷靜期、提現鎖等多層緩衝降低風險。
    5. 建議資產分層管理:長期大額放交易帳戶或硬件冷錢包,小額交互用獨立錢包,避免全部資產集中於高頻連接DApp的熱錢包。
    6. Gate安全團隊建議開啟防釣魚碼、綁定Passkey、定期檢查API Key權限、調低提現日限額並按需開關出金通道。

半年前,你為了領一個空投,在某個頁面上點了「確認」。彈窗裡是一串看不懂的字元,你簽了。活動結束,你關掉網頁,後來還卸載了那個應用,甚至換過一次電腦。

今天,你錢包裡的 USDT 不見了。你的私鑰沒有外洩,助記詞一直鎖在抽屜裡,密碼也從來沒告訴過任何人。那麼問題來了,錢是在哪個環節出了問題?

這是 Gate 特別策劃《大門安全課》的第二期。我們邀請開源硬體錢包品牌 OneKey 與 Gate 安全團隊,從錢包和交易平台兩個視角,來聊一聊鏈上錢包授權和地址投毒的安全問題。

嘉賓簡介

OneKey:成立於 2019 年,是全球知名的開源硬體冷錢包與 App 錢包品牌之一,從始至終秉持著完全開源的硬核理念。其軟硬體核心程式碼完整開源在 GitHub 供社群審查,並均通過 SlowMist 和 Offside Labs 的安全審計,得到了億萬資產的信賴,以及頂級機構的融資支持與採用。

OneKey App 覆蓋桌面端、行動端與瀏覽器擴充功能,可獨立作為軟體錢包使用,也可連接 OneKey 硬體錢包,並透過安全晶片、離線簽名、交易解析、風險提示與明文簽名等能力,幫助用戶在不交出私鑰和助記詞的前提下管理多鏈資產。

Gate 安全團隊:大家好,這是《大門安全課》的第二期。Gate 安全部門負責平台帳戶、交易與資產安全體系的建設,同時也長期處理用戶的異常帳戶申訴與協查請求。

Gate 成立於 2013 年,是行業內首家推出 100% 儲備金證明的交易平台,目前服務全球超過 6000 萬用戶。安全對我們而言不是一個附加功能,而是這門生意能否成立的前提。我們希望透過《大門安全課》這個系列課程,把用戶可能遇到的這些真實風險背後的共同機制講清楚。

Q1. 鏈上錢包為什麼不需要拿到私鑰,也能轉走資產?

OneKey:私鑰決定簽名權,授權則把某項操作權限交給合約或地址。很多授權的本意是好的,能夠讓用戶節省 Gas,減少重複上鏈的操作,但是這也給攻擊者提供了便利。

你此前簽過的授權,等於允許別人動用這些資產。以以太坊等 EVM 網路上的 ERC-20 代幣為例,使用兌換、借貸等應用時,用戶經常需要先做一次 Approve,也就是授權。它允許指定的地址或合約,在一定額度內使用你的某種代幣。授權生效後,對方就可以調用 transferFrom 轉走代幣,不需要每次再請你確認。

舉個例子,你準備兌換 100 USDC,實際給出的卻是無限額度授權。交易結束後,剩餘授權可能仍然有效。被授權方如果是攻擊者,或者相關合約後來出現可被利用的漏洞,風險就不再局限於那次兌換的 100 USDC,而可能波及這個地址裡更多的 USDC。

NFT 也有類似機制。setApprovalForAll 通常允許對方管理你在同一 NFT 合約下持有的全部 NFT,而不只是當前準備出售的那一枚。

所以我們建議用戶在簽名前要逐項確認授權對象、資產、額度和有效範圍,只要有一項說不清,就不要簽。更重要的是,要使用有簽名解析能力的錢包,理解你要簽名的東西是什麼。

Gate 安全團隊:OneKey 講的機制很細緻了,我們想補充的主要是用戶認知上的偏差,因為它是這類風險最根本的來源:很多用戶把「簽名」理解成了「確認」。

在傳統網際網路裡,點一次確認就是同意這一次操作,操作結束,權限也就結束了。但鏈上的授權簽名不是這個邏輯。簽一次之後,對方在額度範圍內可以隨時、多次、無需你再次確認地轉走資產。用戶簽下的不是一筆交易,而更像是一份長期有效的委託書。

這裡還有一個更隱蔽的差別。Permit 和 Permit2 屬於鏈下簽名,它不產生鏈上交易,不消耗 Gas,在錢包裡的彈窗往往也只顯示一串看不懂的字元。用戶的直覺是「不花錢的操作應該沒什麼風險」,而實際上這類簽名的殺傷力和鏈上授權完全一樣。

具體到 Gate 的工具上,陌生合約別急著連。可以先把合約地址丟進 Gate AI 的合約審計,讓它出一份結構化風險報告,常見的所有者權限、黑名單、增發、轉帳稅這類坑會先標出來,覆蓋 57 種以上漏洞類型。到簽名那一步,看清授權的是哪個代幣、多少數量、哪個專案,支持所見即所簽,用完及時取消授權。

Q2. 普通用戶最常見的誘餌有哪些?看到這類頁面時,怎樣判斷該不該連接錢包?

OneKey:常見誘餌往往圍繞兩種情緒:讓你覺得有便宜可占,或者讓你擔心不操作就會有損失。前者是空投、白名單、免費鑄造、退款補償;後者是帳戶異常、安全升級、代幣遷移、資產即將被凍結。包裝可以不同,最後都會把你引向一個需要連接錢包、簽名或轉帳的頁面。

我們建議用戶使用有網頁安全檢測能力的錢包,一般官方頁面都會有認證,沒有認證或者有釣魚警報的就不要連接。

而連接錢包通常只是起點,後續簽名才會產生具體權限。先核對完整域名和操作目的,再看合約、方法、授權額度與 Spender。領取一項獎勵,卻要求開放無關資產的無限額度,應當立即退出。無法解析的十六進位數據、不明 EIP-712 訊息和持續催促,也值得警惕。

測試陌生 DApp 時可使用隔離的小額錢包,長期儲蓄錢包盡量不連接專案。

Gate 安全團隊:從我們處理的案例看,入口的風險往往比頁面本身更高。也就是我們在第一期《大門安全課》重點聊到的連結不能亂點,特別是來自私訊、群聊、搜尋引擎廣告位的連結,是最常見的釣魚網站三個來源。搜尋廣告位這條要特別強調,很多人默認搜尋結果第一條就是官網,但廣告位是可以買的,這是釣魚站最常用的引流方式之一。

雖然連接錢包這個動作本身是低風險的,但並不代表完全 0 風險。隨著駭客的技術手段升級,在許多鏈上錢包被盜的案例中,已經有不少都是進入釣魚盜版網站後沒有簽名,只是連了錢包資產就被盜的情況,所以用戶在前期點擊網址這一步一定要謹慎再謹慎。

比較可靠的做法是把常用應用加進瀏覽器書籤,此後每次從書籤進入。這個習慣能規避掉大部分導流類攻擊和假冒的官方頁,這是對用戶來說成本最對的防控成本。這裡也再提醒一次:攻擊者經常拿交易平台的信用給自己背書。他們會說「Gate 已經上線該代幣」「Gate 正在進行空投」,用平台的名義讓一個空氣專案顯得可信。

這種時候判斷標準其實很簡單:Gate 的所有官方公告都會在官網公告頁同步。如果一個消息只在某個社交帳號出現、官網查不到,那它大概率有問題。這個判斷不需要任何技術知識,也不需要用戶會看合約。

如果用戶收到的是自稱來自 Gate 的郵件、簡訊或私訊,可以在官方驗證渠道上查詢這個域名或聯絡信箱是不是我們的,這個動作只需要十幾秒。另外,用戶可以在帳戶裡設置一串自己的防釣魚碼。設置之後,所有 Gate 發出的郵件都會帶上這串字元。還沒有設置的用戶,建議先去安全設置裡開啟。

Q3. 地址投毒是怎麼騙用戶轉錯地址的?大額轉帳前必做的核對動作是什麼?

OneKey:它利用的是一個很常見的習慣:從交易記錄裡複製地址,再只看一眼開頭和結尾。

攻擊者會根據目標常用地址,批量生成首尾相似的地址,再發送零金額或極小額代幣,讓假地址混進交易記錄。很多人轉帳時只核對開頭和結尾,或者直接複製「最近地址」,錢就會發給攻擊者。

最重要的防護動作,是不要把交易記錄當作可信的收款地址簿。向交易所充值,從已經核實的官方充值頁面取得地址;向他人付款,透過可信渠道重新確認。地址的來源要可靠,粘貼之後也要核對完整字元,而不是只看首尾幾位。

大額轉帳建議先做小額測試,並讓收款方確認到帳,或者在自己的目標帳戶裡核實。正式轉帳時,仍然要再次核對完整地址。第一筆測試成功,不代表第二次複製、粘貼和確認就可以省略檢查。常用地址可以在核實後保存到地址簿或白名單中。

OneKey 等 App 錢包都會配有相關檢測,對於錯誤複製,一般都會提醒「這是首次轉帳」「相似地址警告」,可以幫助用戶快速發現這是一次投毒。

Gate 安全團隊:這一題和交易平台的關係比很多人想的更直接,因為充值和提現恰恰是地址投毒最高發的兩個場景。

先說充值。OneKey 提到的那條原則我們想再強調一次:充值地址一定要從平台的官方充值頁面現取,不要從任何社交軟體的歷史記錄裡複製。也一定要警惕手機安裝的鍵盤軟體是否有安全問題,有許多案例都是因為鍵盤軟體出問題神不知鬼不覺替換了用戶的轉帳和充值地址,導致資金被盜的情況。

提現這邊,Gate 有兩個東西建議直接用起來:一是地址簿,常用地址核實後存進去,以後從簿裡選,少一次手滑粘貼;二是 API 提現只能提到地址簿裡已有的地址,程式化場景裡沒人盯屏,這道限制等於強制多一次人工確認。新加的提現地址還有 24 到 48 小時冷靜期,投毒貼錯地址時也能多一截發現錯誤的窗口。

Q4. 錢包授權為什麼要定期複查?撤銷授權時要注意什麼?

OneKey:因為一次操作結束了,授權未必結束。斷開錢包連接、關閉網站,甚至卸載錢包,都不會自動撤銷已經生效的鏈上授權。如果給過某個合約無限額度,它可能在你不再使用這個專案之後,仍然保有相關權限。未來合約出現可被利用的漏洞,閒置授權也可能讓錢包裡的資產受到影響。

複查不必把所有記錄都看一遍再動手,可以先處理最重要的部分:高價值資產的無限授權、NFT 全局授權、不認識的被授權方,以及已經不再使用的應用。一個專案曾經值得信任,不代表你需要一直保留它的資產使用權限。

撤銷時,要透過核實過的錢包入口或授權管理工具,確認帳戶、網路、代幣和被授權方。撤銷通常需要鏈上交易和網路費,提交後應確認交易成功、權限已經更新。它能阻止相關權限被繼續使用,但不能退回已經轉走的資產。

還有一點容易被忽略:已經簽出、但尚未上鏈的危險訊息,可能不會出現在普通授權列表裡。這類情況需要按具體協議處理簽名失效或取消,不能只看列表裡有沒有陌生授權。部分 Permit 簽名中的截止時間,也只是限制簽名最晚何時提交,並不代表生效後的授權會同時到期。

Gate 安全團隊:要時常做「體檢」,這一點在交易平台帳戶裡同樣成立,所以我們想把「定期複查」這件事從鏈上延伸到鏈下的帳戶側,建議用戶做一次完整的權限體檢。

一是安全日誌。帳戶裡會記錄登入和關鍵操作的歷史,包括登入時間、地點、設備,以及安全設置的變更記錄。懷疑有異常時,這是最直接的自查入口,也是協查時最有價值的材料之一。

二是 API Key。這一項是最容易被遺忘的。很多用戶在某次嘗試量化策略、接入第三方工具或者跟單服務時創建過 API Key,用完之後既沒有刪除,也沒有回頭看過它的權限範圍。API Key 和鏈上授權的性質非常接近:創建時是為了一次具體的用途,但它不會自己過期。建議定期檢查現有的 Key,刪掉不再使用的,並確認剩下那些的權限是不是超出了實際需要。

三是安全設置本身。手機號是不是還在使用、信箱有沒有換、綁定的驗證方式是不是還能正常使用。這些平時不影響使用,但真到需要找回帳戶或者緊急處置的時候,任何一項失效都會讓事情變得非常麻煩。

Q5. 發現自己可能簽過危險授權,或資產正在被轉走,正確的處理順序是什麼?

OneKey:先減少繼續損失的可能,再追查完整經過;證據可以同步保留,不要讓整理材料耽誤止損。

立即停止在可疑頁面上的操作,不再簽署它提供的「修復」「驗證」或「撤銷」請求。如果已經明確定義到某項惡意授權,就透過可信入口盡快撤銷;如果風險範圍不清楚,或資產仍在持續外流,應優先保護剩餘資產,在可信設備上將仍能安全轉出的資產遷移到安全錢包。

只要助記詞或私鑰有外洩可能,遷移目標就應使用全新助記詞。修改錢包密碼、重新安裝 App,或者在同一套助記詞下新增帳戶,都不能消除原有密鑰外洩的風險。新錢包應在可信設備上創建,舊錢包也不應繼續接收資產。

如果你補進去的 ETH 等網路費資產也馬上被轉走,不要反覆充值嘗試。這可能涉及自動掃幣程式,常規轉帳和撤銷操作未必來得及完成,應透過官方渠道尋求可信安全團隊協助。

與此同時,保存受害地址、相關交易雜湊、鏈、代幣、金額和發生時間,再補充可疑網址、簽名內容、截圖及聊天記錄。透過官方渠道聯絡錢包、可能接收資金的 CEX 平台,並向當地執法機關報案。比起一句「救命,錢包被盜了」,這些材料更有利於接收方開展核查。材料不齊時可以先報告關鍵事實,後續繼續補充。

還有一個值得注意的是:經常其他駭客專門針對這種情況的用戶做「二次傷害」,很多人因為急於挽回損失,就相信其他駭客私訊裡的「百分之百追回」,繼續支付所謂的解凍費或交出助記詞被騙。

Gate 安全團隊:這類場景和上一期講的帳號被盜不同:如果攻擊者手裡拿的是用戶簽給他的授權,那麼改密碼、重裝應用都不會阻止他繼續轉走資產,因為那份授權和鏈上錢包密碼沒有任何關係。所以第一步應該是撤銷授權和轉移剩餘資產,而不是改密碼。

在鏈上發生資產轉移時,如果那筆轉帳是一次完全有效的調用,比如說簽名是用戶本人簽的,權限是用戶本人給的。這意味著即使後續走協查流程,取證和定性都比普通的盜號案件更複雜,因為技術痕跡上找不到任何「未經授權」的證據。這也是我們建議用戶多檢查鏈上錢包的授權有哪些,儘早取消授權,防範於未然。

平台幫用戶做到前面的是,盡可能不讓攻擊走到轉帳這一步。比如之前說到過的:Gate 在登入、交易、提現和修改安全設置這幾個環節都設置了多重認證:登入時有登入密碼、信箱或簡訊驗證、Google 驗證器和 IP 地址監測;提現時需要

錢包
安全
Gate.io
歡迎加入Odaily官方社群