背景
近日有受害者聯繫慢霧安全團隊,其因使用線上程式設計平台Replit 創建Atomicals 協議錢包並分批打入ATOM(Atomicals 協議mint 的ARC20 代幣),導致被盜走90,000 個ATOM。根據受害者描述,私鑰/助記詞是因在網頁上複製貼上而洩漏。
Replit 創建錢包分析
atomicals-js (https://github.com/atomicals/atomicals-js) 是由Atomicals 官方開發並發佈在Github 上的命令列介面和JavaScript 程式庫,方便使用者使用JavaScript 和Atomicals 進行互動。
Replit 是一個知名的線上程式設計平台,其Web 端是一個線上的IDE,支援Python、JavaScript 等多種程式語言,具有直接在瀏覽器中編寫程式碼,快速啟動項目,程式碼共享等功能。
在微博、推特、YouTube 等平台上有許多ARC20 錢包註冊教學:
然而其中有些教學是講解如何使用Replit 線上部署atomicals-js 專案來產生錢包,以及如何轉入ATOM ARC20 代幣等。
(https://weibo.com/ttarticle/p/show?id=2309404950524427632902)
(https://twitter.com/Web3heinu/status/1730186061744136654)
類似的教學雖然不限於ARC20 打新教程,但也是建議使用Replit 平台。
(https://twitter.com/Coinowodrop/status/1728042508687475187)
由於Replit 平台的公開性,在其上部署的程式碼都是公開的,允許所有人存取。 atomicals-js 專案部署運作後會在專案目錄產生一個wallet.json 文件,這個文件包含如產生的助記詞、私鑰以及地址等敏感資訊。
值得注意的是,透過簡單搜尋或利用Google Hacking 等技術,可以輕易地發現使用了atomicals-js 並在Replit 上運行的項目,進而找到包含wallet.json 檔案的案例。
因此,依據這些所謂的教程創建錢包是存在巨大風險的,應該避免在公開可訪問的平台上運行此類包含敏感資訊的程式碼,尤其是涉及加密貨幣錢包或私鑰的情況,應該選擇更加安全可靠的環境來產生和管理加密貨幣錢包。
惡意地址分析
使用MistTrack 分析發現,受害者9 月23 日轉入了多筆ATOM(據受害者描述有98,000 個)到創建的ARC20 錢包地址“bc1pt046u0mew4yq83ftwrp3eqfalvf8d6g6lncnmnf3l4zaaalq83ftwrp3eqfalvf8d6g6lncnmnf3l4zaaalplq2w了駭客的地址「bc1psanyvngxqgwxcssfwryl8mva7em4pmp37jcck2m67xtux8l887js7ezvev」。
使用https://satsx.io/ 查詢,可以看到目前駭客竊取的ATOM ARC20 代幣還有68,000 個沒有被轉移。
總結
本文解說的這類攻擊成本極低,攻擊者只需掌握基本的搜尋和掃描技能即可發動攻擊。慢霧安全團隊在此提醒,若不慎使用Replit 產生錢包,請第一時間轉移相關資金並刪除敏感檔案!並且,在陌生的Web 平台上使用生成的錢包或助記詞時,請務必保持警惕,慢霧安全團隊建議用戶選擇經過安全審計且知名的錢包服務,以降低洩漏風險。