返回部落格
Solana

遭駭的 Solana 錢包無法傳送代幣?如何安全轉移

有些 Solana drainer 不只是清空你的 SOL。它們會修改錢包帳戶本身,使它無法再傳送 SOL,而你存入的任何 SOL 都可以被攻擊者提走。你的代幣和 NFT 通常還在原處,但一般的轉移方式,也就是從錢包應用程式傳送,要麼失敗,要麼反而讓攻擊者拿到更多 SOL。

本指南說明發生了什麼變化、為什麼不應向該錢包傳送 SOL,以及如何在由另一個錢包支付手續費的同時,把剩餘資產轉到新錢包。

如何判斷你的 Solana 錢包已被轉換?

錢包裡明明還有代幣,傳送卻總是失敗;在區塊瀏覽器中,這個地址顯示為 authority 不是你的 nonce 帳戶,或顯示為歸某個程式所有的帳戶。連接 Sol Incinerator 時,它會顯示「你的錢包已遭駭客控制」,並附上接管時間和交易連結。

一般的 Solana 錢包是沒有資料的簡單 System Program 帳戶。被轉換的錢包地址不變,但地址背後的帳戶已經改變。可以透過三種方式檢查:

  1. 在區塊瀏覽器中開啟地址。 Solana Explorer 會為被轉換的錢包顯示 nonce 帳戶詳細資料,包括一個 authority 地址。如果這個 authority 不是你擁有的地址,表示帳戶裡的 SOL 由別人控制。
  2. 找到造成這一切的交易。 在我們檢查的案例中,受害者共同簽署了一筆包含兩條 System Program 指令的交易:allocate 為錢包地址配置了 80 位元組的資料,initializeNonce 把它變成以攻擊者為 authority 的 durable nonce 帳戶。網路手續費由攻擊者支付。在其中一個案例裡,受害者的 SOL 在 30 秒後被提走。
  3. 把錢包連接到 Sol Incinerator。 它會在連接時讀取帳戶,發現接管時會顯示警告,並附上接管時間和 Solscan 連結。

有些 drainer 採用另一種變更:把地址指派給某個程式。對你來說結果相同:錢包再也無法自行支付費用。

為什麼遭駭的錢包無法支付網路手續費?

durable nonce 帳戶是 Solana 的一項常規功能,用於預先簽署交易。它保存一個 nonce 值和一個 authority,只有這個 authority 能推進 nonce、變更 authority 或提走帳戶中的 SOL。當 drainer 把你的地址變成這種帳戶,它就成了你地址上 SOL 的 authority。

  • SOL 無法再以正常方式轉出。 System Program 拒絕從帶有資料的帳戶轉出 SOL,而你的錢包現在帶有 nonce 資料。
  • 手續費來自攻擊者可以拿走的 SOL。 nonce 帳戶只能用其 rent 儲備金以上的 SOL 支付網路手續費,而 authority 可以在這些 SOL 出現時立即提走。
  • 歸程式所有的地址完全無法支付手續費。 Solana 只接受來自簡單 System 帳戶或 nonce 帳戶的手續費。
  • 你無法撤銷。 只有目前的 authority 才能變更 nonce 帳戶的 authority,所以你簽署的任何交易都無法把它奪回。

你的代幣則是另一回事。每個代幣帳戶都把你的地址記錄為所有者,代幣程式檢查的是你的簽名,而不是錢包帳戶的狀態。你的金鑰仍然可以轉移每一個代幣和每一個 NFT,只需要由另一個錢包支付網路手續費。

不要向遭駭地址傳送 SOL,哪怕只是用來付手續費的一小筆。請假定有機器人在監視它。不要簽署任何來自網站或私訊、聲稱能「解鎖」或「修復」錢包的請求:透過私訊提供的付費復原服務是遭駭後常見的二次詐騙。

如何把代幣轉出遭駭的 Solana 錢包?

使用由另一個錢包支付網路手續費、遭駭錢包只以代幣所有者身分簽名的交易。錢包應用程式會向傳送方錢包收取手續費,所以請使用專為遭入侵錢包打造的復原工具,例如 Sol Recovery,並把所有資產傳送到新錢包。

Sol Recovery 是針對遭入侵 Solana 錢包的獨立服務。它能辨識被轉換的錢包,其免費帳戶可以把接收資產的錢包與支付手續費的錢包分開。

  1. 建立新錢包。 如果你曾在網站上輸入過助記詞或私鑰,請用全新的助記詞建立新錢包。舊助記詞下的另一個帳戶並不是新錢包。
  2. 查看還剩什麼。 把遭駭地址貼到 Sol Recovery。它不需連接錢包,就能掃描代幣、質押部位、DeFi 部位、收藏品和網域。
  3. 設定安全錢包和付款錢包。 把新錢包加為目標地址,再加入一個獨立的錢包來支付網路手續費。只為付款錢包儲值,永遠不要為遭駭地址儲值。
  4. 檢查並簽名。 遭駭錢包以代幣所有者身分簽署每一筆轉帳。核准前請確認每筆交易的作用,並確認資產已經到帳。

Sol Recovery 也為在固定時間解鎖的質押中或鎖定部位提供機器人服務,在解鎖的瞬間與攻擊者搶先。該服務收取所復原資產的 10%,並需要遭駭錢包的私鑰以便即時簽名。這是一個真正攸關信任的決定:只分享已經遭入侵的錢包的金鑰,絕不要分享新錢包的助記詞。

Sol Recovery 與 Sol Incinerator 沒有關聯。簽名前請確認它目前的費用和每一筆交易。開發者也可以自行建立同樣的轉帳:只要代幣所有者簽名,代幣轉帳就有效,無論由哪個錢包支付手續費。

你還能領取代幣帳戶裡的 SOL 嗎?

可以。空代幣帳戶裡有可退還的 rent 押金,關閉帳戶就能取回這些 SOL。一般領取會把 SOL 付給錢包本身,在這裡就等於付給攻擊者,所以 Sol Incinerator 會以不同方式處理被轉換的錢包。

當你連接被轉換的錢包時,Sol Incinerator 會要求你提供一個安全錢包地址,並把回收的 SOL 付到那裡。它自行支付網路手續費,這筆手續費和一般清理費會從回收的 SOL 中扣除。不會向遭駭地址傳送任何東西。支援關閉空代幣帳戶和提取多餘的 rent;不支援銷毀以及其他需要錢包自行支付手續費的操作。

轉走代幣後,這些代幣帳戶會變空。如果你的復原工具沒有關閉它們,之後請再領取一次,把這部分 rent 也收回來。

你還應該檢查什麼?

  • 完整閱讀接管交易。 它可能還轉走了資產或核准了某個 delegate。請記下交易簽名和所有陌生地址,以便檢舉。
  • 列出質押中和鎖定的部位。 有些部位需要先解除質押或度過等待期才能轉移,而攻擊者可能也在等待同一時刻。
  • 在所有收款的地方替換舊地址。 交易所的提領地址清單、收款設定和 airdrop 登記中凡是付款到遭駭地址的,現在都會付給攻擊者。
  • 停止使用這個地址。 資產轉出後,不要再使用這個錢包,哪怕是小額。
Sol Incinerator

Sol Incinerator

連接遭駭的錢包,把其中可回收的 SOL 領取到安全錢包地址。不會向遭駭地址傳送任何東西。

立即試用

相關閱讀

常見問題

為什麼我無法從遭駭的 Solana 錢包傳送代幣?

drainer 的交易可以把你的錢包地址變成由攻擊者控制的 durable nonce 帳戶,或把該地址交給某個程式。網路手續費必須由錢包中的 SOL 支付,而攻擊者可以提走帳戶儲備金以上的任何 SOL,因此轉帳會失敗,或者你存入的 SOL 會先被拿走。

我應該向遭駭的錢包傳送 SOL 來支付手續費嗎?

不應該。如果錢包已被變成 nonce 帳戶,攻擊者就是它的 nonce authority,可以提走 rent 儲備金以上的全部金額,所以請假定有機器人在監視這個地址。請使用由另一個錢包支付網路手續費、遭駭錢包只以代幣所有者身分簽名的工具。

被 nonce 接管後,我的代幣和 NFT 還屬於我嗎?

通常仍屬於你,除非同一筆交易也轉走了它們或核准了某個 delegate。nonce 接管改變的是錢包本身的帳戶,而不是它擁有的代幣帳戶,所以你的金鑰仍然可以簽署代幣轉帳。在規劃轉移之前,請在區塊瀏覽器中開啟這筆接管交易,查看它變更的全部內容。

我還能領取空代幣帳戶裡的 SOL 嗎?

可以。Sol Incinerator 會辨識被轉換的錢包,自行支付網路手續費,並把回收的 SOL 傳送到你貼上的安全錢包地址,而不是遭駭的地址。網路手續費和一般清理費會從回收的 SOL 中扣除,不會向遭駭地址傳送任何東西。

我需要分享私鑰才能救回資產嗎?

一般轉帳不需要。復原工具可以建立一筆由遭駭錢包簽名、由另一個錢包支付手續費的交易。Sol Recovery 針對質押中或鎖定部位的機器人服務會索取私鑰,以便在解鎖的瞬間行動。這是一個攸關信任的決定,並且絕不要分享新錢包的助記詞。

遭駭的 Solana 錢包無法傳送代幣?如何安全轉移 | Sol Incinerator