🎉 Gate xStocks 交易開啓啦,現貨、合約、Alpha齊上線!
📝 在Gate廣場發帖,曬出你的交易體驗或精彩截圖,瓜分$1,000大獎池!
🎁 廣場優質創作者5名,每人獨享$100合約體驗券!
🎉 帖文同步分享到X(推特),瀏覽量前十再得$50獎勵!
參與方式:
1️⃣ 關注 @Gate廣場_Official
2️⃣ 帶 #Gate xStocks 交易体验# ,原創發帖(不少於20字,僅用活動標籤)
3️⃣ 若分享到推特,請將連結提交表單:https://www.gate.com/questionnaire/6854
注:表單可多次提交,發布更多帖文可提升獲獎機會!
📅 7月3日16:00—7月9日24:00(UTC+8)
詳情:https://www.gate.com/announcements/article/45926
每一條體驗,都有機會贏取大獎!快在Gate廣場show出你的操作吧!
Permit2籤名釣魚新手法 資產安全風險需警惕
揭祕Uniswap Permit2籤名釣魚騙局
黑客是Web3生態中令人聞風喪膽的存在。對項目方而言,開源代碼使他們戰戰兢兢,生怕一行錯誤代碼留下漏洞。對個人用戶來說,每次鏈上交互或籤名都可能導致資產被盜。因此安全問題一直是加密世界的痛點之一。由於區塊鏈的特性,被盜資產幾乎無法追回,所以具備安全知識尤爲重要。
近期,一位研究者發現了一種新型釣魚手法,僅需籤名就可能導致資產被盜。這種手法極其隱蔽且難以防範,並且曾與某交易平台交互過的地址都可能面臨風險。本文將對這種籤名釣魚手法進行科普,以盡量避免更多資產損失。
事件經過
最近,一位朋友(小A)的錢包資產被盜。不同於常見被盜方式,小A並未泄露私鑰也未與釣魚網站合約交互。
區塊鏈瀏覽器顯示,小A錢包中的USDT是通過Transfer From函數轉移的。這意味着是另一個地址操作將Token轉走,而非錢包私鑰泄露。
交易細節揭示了關鍵線索:
問題在於,這個地址是如何獲得資產權限的?爲何與某交易平台有關?
要調用Transfer From函數,前提是調用方需要擁有Token的額度權限(approve)。在該地址轉走小A資產之前,還進行了一個Permit操作,兩個操作都與某交易平台的Permit2合約交互。
Permit2是某交易平台2022年底推出的新合約,允許代幣授權在不同應用間共享管理,旨在創造更統一、更具成本效益、更安全的用戶體驗。隨着更多項目集成,Permit2有望在所有應用中實現Token批準標準化,降低交易成本並提高智能合約安全性。
Permit2的推出可能改變Dapp生態規則。傳統方式下用戶每次與Dapp交互都需授權,而Permit2可省去這一步驟,有效降低用戶交互成本。Permit2作爲用戶和Dapp間的中間人,用戶只需授權給Permit2合約,所有集成該合約的Dapp都可共享授權額度。
然而,這也是一把雙刃劍。Permit2將用戶操作變爲鏈下籤名,所有鏈上操作由中間角色完成。這使得即使用戶錢包沒有ETH也可使用其他Token支付Gas費或由中間角色報銷。但鏈下籤名也是用戶最容易忽視的環節,大多數人不會仔細檢查籤名內容。
要使用這種釣魚手法,關鍵前提是被釣魚錢包需已授權Token給Permit2合約。目前只要在集成Permit2的Dapp或某交易平台上進行Swap,都需要授權給Permit2合約。
更可怕的是,無論Swap金額多少,Permit2合約都會默認讓用戶授權該Token全部餘額額度。雖然錢包會提示自定義輸入金額,但大多數人可能直接選擇最大或默認值,而Permit2的默認值是無限額度。
這意味着,只要2023年後與某交易平台有過交互並授權給Permit2合約,就可能面臨這個釣魚騙局風險。
重點在於Permit函數,它可將用戶授權給Permit2合約的Token額度轉移給其他地址。黑客只要獲得用戶籤名,就能獲得用戶錢包中Token權限並轉移資產。
事件詳細分析
Permit函數讓用戶可提前簽署"合同",允許他人(spender)在未來使用一定數量代幣。用戶需提供籤名證明"合同"真實性。
函數工作流程:
重點在於verify函數和_updateApproval函數。
verify函數從籤名信息中獲取v、r、s三個數據,用於恢復交易籤名地址。合約將恢復的地址與傳入的代幣擁有者地址比較,相同則驗證通過。
_updateApproval函數在通過籤名校驗後更新授權值,意味着權限發生轉移。此時被授權方可調用transferfrom函數將代幣轉移到指定地址。
鏈上真實交易顯示:
回顧小A交互記錄,發現之前使用某交易平台時點擊了默認授權額度,即幾乎無限額度。
簡單復盤:小A之前授權給Permit2無限USDT額度,後來不慎陷入黑客設計的籤名釣魚陷阱。黑客獲得籤名後在Permit2合約中進行Permit和Transfer From操作,轉移走小A資產。目前Permit2合約似乎已淪爲釣魚天堂,這種釣魚方式約兩個月前開始活躍。
如何防範?
考慮到Permit2合約未來可能更普及,更多項目或集成進行授權共享,有效防範手段包括:
資產錢包與交互錢包分離: 建議將大量資產存放冷錢包,鏈上交互錢包僅保留少量資金,可大幅減少遇到釣魚時的損失。
限制授權額度或取消授權: 在某交易平台Swap時,僅授權交互所需金額。雖然每次交互都需重新授權會增加成本,但可避免Permit2籤名釣魚風險。已授權用戶可通過安全插件取消授權。
識別代幣性質,關注是否支持permit功能: 未來可能有更多ERC20代幣實現permit功能。需關注所持代幣是否支持,若支持則交易操作需格外謹慎,嚴格檢查每條未知籤名。
被騙後如有代幣存其他平台,需制定完善拯救計劃: 若發現被騙但還有代幣通過質押等方式存在其他平台,需謹慎提取轉移。黑客可能隨時監控地址餘額,一旦出現代幣就可能轉移。應制定完善拯救流程,提取和轉移需同步執行,可使用MEV轉移或尋求專業安全團隊協助。
未來基於Permit2的釣魚可能增多,這種方式極其隱蔽難防。隨Permit2應用範圍擴大,暴露風險的地址也會增加。希望讀者看到本文後能傳播給更多人,避免更多人遭受損失。