Daisy
Daisy

「𣎴去糾正觀點不同的人,克制自己的反駁慾,是情商最高的行為」 自封 LikeCoin 後援會頭號會員及會長、高重建盲粉、元祖讚賞公民2019年1月1日加入。 所撰寫之內容不歡迎任何人以任何方式截圖分發,斷章取義,斥責不雅,敬請自重。除非 tag 我或關聯文章,否則不予回應。

MetaMask | 保障安全:DeBank 不能用,要怎樣撤銷智能合約?

很多時候當 MetaMask 錢包被盜,都會說「去 DeBank 啦!」例如這裡的 教學 就是寫 DeBank 網站的事。但現時到 DeBank,會看到搞 DeBank Approval 這一部份經已轉移到 Rabby,難道又要轉用新服務(雖然是來自 DeBank 同一集團)?它會不會有 bug 呢?就算沒有 bug 安裝多一個瀏覽器擴充功能也超麻煩的。為免擔心和懶,所以我找一下 MetaMask 官方有沒有 教學


斷開 Dapp V.S. 撤銷 Smart Contract

智能合約許可 ( Smart Contract Allowances ) 涉及容許你的 Dapps 代替你去操作及移動錢包內的代幣。例如使用 DEX 就是要做智能合約許可,讓他們在你交易時收取手續費(不收手續費他們吃風咩)。所以雖然這些都是 Smart Contract,但是不需要趕盡殺絕。

撤銷(智能合約)許可 ( Revoking an approval/allowance ) 代表 Dapps 無法再訪問你錢包及移動內裡的東西。

將你的錢包與 Dapps 斷開 ( Disconnecting your wallet ) 代表這隻 Dapp 不能確認及傳送交易,即是不能暗中發動交易及查看過住活動。

以下將深入介紹兩者的空要性。


將 MetaMask 與 Dapp 斷開連接並不能確保你的代幣是安全的!

當人們說 Revoke 撤銷許可時,他們的意思是在智能合約級別。 而 Dapp Disconnect 斷開連接並不包括智能合約。

將 MetaMask 連接到 Dapp(主要)容許該 Dapp:

  1. 查看你的地址
  2. 要求你確認並從該地址發送交易。

當 Dapp 要求你進行交易時,你會看到「Approve」/「Deny」提示,代表你不確認就無法發送任何內容。

將 MetaMask 與 Dapp 斷開連接並沒有什麼壞處(對你的私隱有好處),但它會給你一種虛假的安全感。因為還有另一種你互動過的合約為你做鏈上處理。

  • 前端 / 網站 / 錢包層級的事 = 廣東話「表面嗰浸」(表面看到對應幕後發生的事)
  • 幕後 = 後端 / 智能合約 / 代幣 = 你通常看不到的 = 實際的背後運作方式

了解背後運作方式非常有幫助,例如:

  1. 表面上發送 ETH 時,你只需將 1 ETH 發送到收件人地址。
  2. 實際上發送代幣時,你是向代幣的合約地址發送 0 ETH 並包含「向收件人地址發送 1 個代幣」的說明。而當你swap/mint/sell/stake/farm 其實都是在做同樣的操作。
  3. 當合約需要移動代幣以執行某項操作時,你必須首先「批准」該合約地址才可以操作/移動這些代幣。而你可以容許那個地址移動 1 個代幣或「無限」數量的代幣。為了不麻煩及節省交易費用,通常使用「無限」金額代替不停批准這個動作。
  4. 但是這樣那個合約地址就可以「無限移動」移動你的代幣。正常是不會這樣的,但是惡意合約或升級後加入惡意就會這樣。

正是發送代幣的批准行動有可能導致你的資產被盜,所以結論是你不止要 DISCONNECT,還要 REVOKE!


如何 Disconnect

之前有 寫過,但過於簡單,所以再寫一下。

1. 點 MetaMask 右上角三個點點,再選「Connected sites」。

2. 選擇不需要的,點「Disconnect」。

3. 在 Are you sure 畫面再點 Disconnect 即可。

如何 Revoke

EtherscanBscScanPolygonscanCronoscanHecoinfo…原來有相對而言比較官方的 Revoke 不用第三者的,以下使用 Polygonscan 作示範。

1. 到 Polygonscan 輸入錢包地址。

2. 看到一些經已授權了的合約,例如我打算 Revoke 下面 Wrapped Ether 的合約,因為未連接錢包,按右手邊的「Revoke」是無法做任何事的。先點「Connect to Web3」。

3. 彈出 MetaMask 視窗,選擇帳戶再點「下一頁」。

4. 點「連線」。

5. 成功連接錢包後「Revoke」就可以按下去啦。

6. 出現 Revoke Approval 視窗,點「Revoke」就搞定了。

此外你也可以到 RabbyRevokeUnrektapproved.zone 做 Revoke。

保護 MetaMask 安全

綜合而言最好做到這幾點:

  1. 定時定候 Disconnect 與 Revoke
  2. Disconnect 與 Revoke 當然是好,但是 Approve 時也要留神
  3. 玩一些新東西時,最好開啟一個全新的錢包
  4. 用硬件錢包
CC BY-NC-ND 2.0 版权声明

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

第一个支持了这篇作品
加载中…
加载中…

发布评论