← 回到 ETHTaipei 2026

Quantstamp:同樣叫 ETH,風險怎麼差這麼多?

Security Issues in Virtual Assets and Smart Contracts

影片

影片與逐字稿來源:ETHTaipei

場次摘要

Quantstamp 的 Martinet 說,機構不能只問「持有多少 ETH」,還要查資產在哪條鏈、誰控制金鑰、簽署流程由誰把關。同樣叫 ETH,放在以太坊主網、L2 或其他鏈的包裝代幣,依賴的系統並不相同。他也提醒,合約稽核只涵蓋部分風險,裝置、人員與作業流程同樣要檢查。

值得記下的 5 件事

  1. 同樣名為 ETH,放在不同鏈上就有不同的保管、跨鏈與對手方信任風險。
  2. 私鑰沒有被偷,也可能因誤簽交易而損失資產;保管安全與簽署判斷需要分開處理。
  3. 簽署控制要涵蓋裝置、場所、鏈上限額或延遲規則,以及標準作業程序。
  4. 關鍵簽署者離職時,權限移除與金鑰交接必須照制度執行,不能仰賴個人願意配合。
  5. 合約審計後仍須持續監控、準備應變,並安排事故後的資金或保險支援。

逐字稿

中文

開場:機構持幣要先問鏈、金鑰與簽章

欸,大家午安。呃,我的中文一直都有點怪怪,所以你要原諒我,然後尤其我不是很習慣這個中文的一些專有名詞。今天我要講的就是一個比較通用的題目,如果是我的 crypto friends 應該會覺得蠻簡單的。所以如果你們是 crypto-native,而且如果你是外國人,這是學中文的好機會,因為內容你們其實都已經懂了。所以今天主要講就是虛擬資產與智慧合約的安全議題,然後就大概從不同的角度去切。

那我們的內容很多,所以我會講得非常非常快。第一個,有幾個角度呢?第一個是資產本身的安全性,因為我們今天機構在拿資產本身的時候,拿資產這件事情有很多個層面。一個是資產本身安不安全,一個是保管這個資產的方式安不安全,然後再來是你保管私鑰的方式安不安全,跟他們簽署的流程如何。然後這中間所有的流程,然後跟你有沒有應變啊,這些都是非常非常重要的議題。然後當然還有智慧合約,然後跟最後會講一下就是審計啊,然後整體怎麼去 review,怎麼去看這些不同的層面在技術上。好。

很快地講一下 Quantstamp,就是我們的公司。我在這家公司大概加入八年,快八年了。然後我們 Quantstamp 應該是在九年前或十年前成立的。那我們有保護超過一千三百個專案,不同的公司,然後就是總共的市值,這些公司他們創造出來的價值有超過五千億美金以上。那你可以看到一些 logos:Visa、Circle、Revolut、Canton,然後就是,不管是在機構端的,或者是在非常 Web3 的,我們都有在做審計這樣子。好,那資產本身的安全性指的是什麼呢?就是今天一個機構或是任何人在拿……ETH,我們今天講說,嘿,我有一顆 ETH,但是你這顆 ETH 在哪裡?這顆 ETH 在 L1 嗎?而且哪一個 L1?然後還是在哪一個 L2?然後不同的 L2 是怎麼樣的?

那這件事情其實完全不一樣。所以 L1 原生的話,就是如果說單純在以太坊,那就是會是你沒有什麼額外信任對象,就是這個以太坊。它其實是最安全的,但很有可能你的意思是拿在 Base 上面,對不對?所以在 Base 的這個 L2 上面的時候,那你就需要去加額外的一層信任,或者是你基本上在相信說 Base 的這個程式碼,它跑的是正確的。那過去也是曾經有發生過某一些 L2,雖然沒有真的被駭,但是有找到這種漏洞,就是我可以無限 mint ETH 出來。那在那個 L2 上面無限 mint ETH 出來,然後等於是你就可以抽乾他們原本所有人透過那個 bridge 過去的這些 ETH 嘛,所以。

L2 與跨鏈包裝:同一顆 ETH 信任完全不同

呃,這邊 L2 就會多增加一個這樣子的特性。好,然後還有一些額外的這個性質,譬如說排序器啊,這個我們現在先不細講。但是這個東西也會有影響,就是譬如說它可以去,我們叫 censor 你,就是不讓你去做交易啊之類的。這東西像在 L1 就比較不會有這個問題,因為它不是中心化的,它是完全去中心化的。然後其他公鏈呢,如果你的 ETH 是拿在,我不知道,在另外一個公鏈,假設 Solana 上面有 Wrapped ETH 好了,那這個中間為什麼那邊會有 Wrapped ETH?一定是中間有一個人,或是有一個公司,或是有一群人把它從這個 ETH 這邊。

wrap 起來,然後包到另外一個鏈去,所以這樣子的東西就會完全不一樣。它等於是,當然看不同的這個組織架構,但是很常的狀況是它是非常中心化的。所以就算你說,我拿的是 ETH,那你究竟拿在誰、哪一個鏈上面,就會是一個非常非常不一樣的東西。然後這邊就是講說,如果當 ETH 丟到其他公鏈的時候,那這個會有哪一些不同的可能的架構?交易所發行的這種 IOU 啊,或者是有少數的幾個節點,但是可能比較有名的。或者是稍微稍微比較有名的 bridge,然後他們比較多節點,這就是已經不同的信任層級。可是你可以看得出來,它有加很多很多不同的信任跟需要的工作上去。

打個比方,交易所,那那個部分的 IOU 就是你需要相信交易所的中心化交易所,他們會給你那些錢,對不對?那如果說是像這種比較……去中心化的東西,它一定通常有智慧合約在裡面,那那個智慧合約就一定要是正確的,它不要有漏洞。那有漏洞的時候,那裡面的 ETH 就不太對勁了。所以這個是這種不同的 ETH 在不同鏈上的樣子。這邊是很快四個案例,Wormhole、Celestia、Multichain、WBTC,它們各有各的這種狀況啊,我不細講,這個到時候有興趣,我可以把這個 slide share 給大家。但原則上它都不是程式碼錯,而是在這種信任層級上面就是出了問題。

好,那剛才這是第一部分,就是你這個資產本身的安全性。那你好,你資產不管現在在哪一個鏈上面,那你怎麼保管它,這個它存在哪一個帳戶上面,這個是另外一個很重要的事情。那這邊鏈上帳戶,我們通常鏈上帳戶講說,這個外部帳戶就是 EOA 了。EOA 就是你只要持有它的私鑰,你就可以支配它的資產。然後或者是你有它是一個合約,那這個就是我們比較熟悉 crypto 的,就會知道有那種 Safe 啊,這種多簽這一類的東西。就是你有 n 個人在上面,然後只要 m 個人簽名之類的這種東西,就是三個人,two out of three。

金鑰保管:熱錢包、硬體、MPC、HSM、TEE 都破過

就是你知道,三個人裡面的兩個人簽名,對,類似這樣子的東西,就是多簽。好,那因為今天有時間,我們先講那個 EOA 的狀況,因為這個合約錢包其實很簡單,合約錢包它就是,主要的安全就是在合約上面。如果說是講 EOA,那私鑰的保管就會有很多不一樣的東西。然後大家其實都聽過,可能就是有些你用過很熟悉,然後有些只是聽過沒有用過。像熱錢包啊,就是 MetaMask 或是什麼,那些東西就是熱錢包,或是你有買那個什麼 Ledger Nano 或什麼,那些硬體錢包。然後如果說今天我們是機構日,然後就會開始討論說,是不是都要用 MPC 比較安全,還是 HSM,還是要用那個 trusted execution environment,就是可信執行環境。

這些都是在後面,這幾個都是在機構這一端就會開始討論說,哎呀,這些是機構的解決方案。但是實際上如果你從安全的角度來看,它們都有被破解過。就是可信執行環境,它其實每幾年都會有一些漏洞出來,然後它就是以前認為是被加密起來的東西,其實就已經被拉出來。對,所以每一個都有被破解的紀錄。所以,可以做的事情是什麼?你可以有一些密碼學的技術,是你可以把一個這個私鑰,然後直接把它分解開來,變成好幾個分片。然後你用剛才的那些不同的這個存私鑰,或者是存分片的方式呢,讓它單一元件有一個分片,然後這樣子就會...

比較,我們英文叫 mitigate,中文可能就是減緩,減緩它的可能性,受傷害的可能性。然後硬體呢,你會發現它並不是一個,就是我用硬體錢包,我完全就不用管它。因為其實硬體錢包它一直都會有新的 bug 出來。硬體裡面也是有軟體,那叫做韌體,對不對?Firmware。這些 firmware 是有 bug 的,而且有些 firmware 為了有更好的功能,它就會,那個就是可以把 secret 從裡面拉出來的。對,譬如說 Ledger,你可以有那個 Ledger Recover。Ledger Recover 很方便,但是它其實就是在程式上面把裡面的一些 secret 拉出來。所以,常常方便跟安全是這個有點相斥。然後另外一個東西是,我們剛剛講的都是技術,但是技術是一回事,但是它並沒有講說我今天簽的這個東西到底是對的還是不對的。

就是你可以東西沒有被偷,就是你的私鑰沒有被偷,可是呢。你沒有看清楚,你以為這個是正確的交易,然後就簽下去,然後就掰這樣。所以這個都還沒有解決到。所以這就講到下一個流程了。就是,對,你有私鑰,你現在有私鑰的保管方式,鑰匙保管得好,但是什麼時候開這把鑰匙,什麼時候簽它呢?所以有幾個東西。跟簽署有關的,第一個是簽署者的身份,然後我們這邊列的是,就是在這個鏈圈、crypto、Web3 圈裡面不同的公司的做法。像 Arbitrum 它就是說,這些人是在簽我的這個多簽的,Optimism 是沒有公開。那 Celo 是一些安全專家,就是他們...

簽署者身分:榔頭攻擊與針對性社交工程

專門在看這些營運安全。他說,哇,這兩種都有它的道理,所以其實有折衷的方式。好,那無論怎樣,就是這其實本身是一個難題,因為尤其在 Web3 圈裡面,你想要以示負責,所以我要公開身份。可是呢,你公開身份的時候,就會有一些問題。公開身份的問題呢,一個叫 wrench attack。上面數字很多,我先講 wrench attack,就是有人拿榔頭,然後把你綁起來。這時候就不用說你的密碼學多厲害了。你的密碼學有我的榔頭厲害嗎?這叫榔頭嗎?鎚頭。鎚。中文是什麼?鎚頭。對,hammer,反正就是槌子,就是你一定沒有他的槌子厲害。

厲害,對不對?所以,這個是,而且這個是現在越來越多的,這是現在越來越多。那當然上面看起來好像沒有那麼可怕,才不到一百件,但是還是很可怕的。有些也被撕票之類的,嚇死人。另外一個也很可怕,然後而且這個東西他們不需要真的接觸你。它是針對性的社交工程。那這個東西我上面有列了一些案子,然後像北韓標準的作業流程,我們其實都很熟了。他就是跟你約個 Zoom call,啊,我要雇用你,你看起來就是天生練武的奇才,我需要雇用你,然後我要給你這麼高的薪水,你要不要來?這裡有個 Zoom call,那為了要讓我雇用你,拜託你執行這個 script。

然後你執行了之後,你的鏈上資產就被拿掉,因為你已經沒有 crypto 了。好,所以像這些都是,就是他知道你有錢之後,他就去對你社交工程,所以這個是非常非常不好的。那所以有一些防護原則可以來幫忙這件事情。這我就不細講,原則上就是你知道,就是你知道這個人可能會簽或是不會簽,或者是他是有需要簽名的,那他就需要受某些保護,降低可識別性。就是不要他站在台上,然後就說,喔,我是什麼什麼的多簽,拜託不要。除非是他們的法律或者是 DAO 需要。需要,那如果說需要的話,那就需要其他的控制上去。

其他控制包含,那一定要確保他一個人沒有辦法,或者是幾個可識別的人沒有辦法轉移,不然你就把那,譬如說,五個多簽,就是 three out of five 的多簽。如果說三個人都公開的話,那我就把那三個人綁架就好了。對,所以就是這些各種控制你是要去好好考慮的。這些東西就已經是在流程上面,它已經不是在技術,技術就是它不是程式碼,但是它已經是在流程。好,然後很多多簽或者是很多的這種錢包的弱點是在你不太好確認實際簽署的內容。尤其當你用越安全的解決方案的時候,常常它的顯示不是很清楚。

簽署四層:裝置、地點、鏈上限制、作業程序

所以有時候你在那個什麼硬體錢包上面就看一大堆交易雜湊,它就跟你說,哦,你要,這是盲簽,你要不要簽下去?不然你就直接按下去,然後就掰。但因為它……你以為是某個交易,網頁秀給你的是一個交易,可是那個網頁被駭了,所以有這種案例都存在。然後你也可能以為說,喔,這個我上次轉錢給他,然後你就想說你在 Etherscan 上面找一下最近的那個交易,對吧?然後你就找到那個交易複製,然後丟回去之後發現那其實是另外一個交易,就是駭客他可以去做。假造一個很像的地址,然後在 Etherscan 上面給你丟一些一點點的 token,就是沒有任何錢的 token。

所以這些東西都是多簽的,或者說我們在做簽名的時候它的弱點,簽署工具的弱點。好。總而言之,我們在整個這個簽署的過程,可以控制的事情大概有這四個位置,就是你簽署的那個裝置是什麼,然後在哪裡簽,然後在鏈上簽的時候,那個鏈上有沒有額外的智慧合約來去做防護,就是做控制。如果說……呃,我今天不能多於多少,每天不能多於多少流出去,或者是我需要用提出的,然後十個小時之後,它可能才可以被執行之類的這類的控制,這可以是在鏈上。然後再來就是作業程序,就是你的標準作業程序,你應該是在轉錢之前要做內部。

而且在你的電腦上要做哪一些事情,或者是要打電話給誰,或者是有人叫你轉錢的時候,你是不是要用另外一個通訊管道,然後而且是你已知的,不要用回撥電話的這種方式,然後來去確認,這些都是作業程序很重要的一部分。就算前面這三個都做好,你沒有第四個作業程序很多細節的這些制定的時候,你很……就是那些標準北韓的劇本就會抓到你,然後你就拜拜。不,你不會拜拜,你的 crypto 就拜拜。好,那所以考慮到這件事情,你的營運的流程,呃,怎麼講,就是你要考慮的就是,不是你有一個劇本就好,你要……它隨時都需要在更新。然後你還要考慮的事情是,你就假裝事情一定會發生,你一定會被駭的時候,你要做什麼事情?所以這個是另外一個要考慮的。第一個最常見的,人員流動,就是雖然我們都會說。

啊,我們的公司就像一家人啦,我們一家人不會分開。呃,沒有,你薪水給不夠的時候還是會分開的。所以在這個時候,你就會有人員流動。人員流動,萬一這個人是,這個怎麼講,他是很重要的多簽的人,然後假設你不管是開了他,或者是他不爽離開,然後他就不想要好好配合的時候。那你要確保這整個制度是可以好好交接下去的,就是你可以在他不開心的時候,還是可以說,我知道你不開心,但真的,我們還是得把你從系統裡、從所有系統裡清出去,對吧?所以這個是人員流動裡面很重要的一個事情。然後再來是它的制度,就是你要說,有人出去了,我就要做一二三四五。

人員流動、漏洞監控,先假設一定會被駭

然後,有人加入,我要做一二三四五六這樣子。然後每次有人進出的時候,就去做這些事情,你就可以去保護這個。好,然後我時間要再加快。再來是什麼?你要一直看有沒有問題,所以你就看漏洞的偵測跟修補。譬如說你在用什麼樣子的軟體啊,或者是在用什麼樣子的這個外部的工具,你要一直隨時去觀察說它們有沒有出現漏洞,因為會有人回報,或者是它們用的函式庫下面會,欸,這個有漏洞,然後你就可以有警示,就知道。好,所以這個等於是監控的部分。

就是你隨時在監控。最後一個這裡呢,是預期攻擊會發生。就是你要有一個劇本說,當我發生的時候,我該做什麼事情。然後你假設一定會發生,那假設它會發生的時候,你就可以回頭看說,你的公司組織是不是這個人擁有太多的權力,是不是這個人擁有太多的金鑰。權限、許可和私鑰,諸如此類,這些東西。我很快帶過,所以偵測速度顯然在監控這邊是很重要的,然後需要偵測的方向可能不是很直覺,就不是只有軟體,不是只有這些,包含你硬體的韌體,然後如果說你有用 TEE,大家都覺得那個是很安全的東西,TEE 是會……也會需要去看,然後你的簽章演算法可能也會過期,在這個密碼學上面。

然後當然你會有用外部的軟體,所以這些軟體也都需要去看它們有沒有問題。另外一個常常會需要換的呢,就是你的私鑰。私鑰每隔一段時間就盡量換一下,這邊有一些,這是 NIST 的建議了。大家可以參考一下,這都是為了降低安全風險。好,智慧合約安全議題,因為時間的關係,我想要直接快速地跳過。因為其實智慧合約在機構上面是,怎麼講,大部分都是在保管資產,但……我就直接跳到智慧合約,就是你在區塊鏈上面的軟體嘛。

然後所以,它有很多不同的漏洞,很多不同的漏洞,通常大家會想說,那是不是審計就可以,就是我們 Quantstamp 是做安全審計的。但是其實除了審計以外,還需要做很多其他的事情。其實整體的概念你會發現跟之前的是一樣的,就是你不是說做了這件事情就好了,就是你還要去監控它,然後你還要有應變計畫,然後應變計畫 GG 的時候,那你還要有這個準備金或保險,大致上都是這種狀況。審計、紅隊演練跟這種應用安全的東西,它的範圍在什麼?其實……你自己的軟體,就是這個內部軟體,這個部分是安全審計。可是剩下所有框框,這個營運安全,就是在營運安全審查。

營運安全:身分資料外洩已成常態

就是你的外部軟體用什麼,然後外部函式庫用什麼,然後外部服務用什麼,然後你的人、你的這個政策是什麼,這所有東西都是營運安全審查。然後紅隊演練呢,就是去戳,看哪邊。我們當初沒有想到的。好,這邊很快地帶過,就是我們剛剛有講說勒索軟體攻擊是常態化,然後勒索軟體攻擊在發生,然後也有針對性社交工程。這邊很重要的事情是,等一下喔,這個,因為現在最麻煩的事情,是這個有 AI 的關係,所以它再加上這些很常外洩的身分資料,所以它就變成說這個是一個很好的工具。所以其實重點在這一句啦,就是原本誰持有何種資產,然後居住在何處是需要保護的資訊資產。你原本認為它是資產,但是我覺得現在它越來越變成累贅跟責任,因為幾乎你的資料一定會漏出去。

所以如果說你的資料一定會漏出去的話,最好,這比較是偏向呼籲機構的東西,就往這方向去研究,跟往要求法規去修這個東西,就是不要要求留這些紀錄進去,而是利用技術,然後讓我們可以不要留這些東西進來。因為現在 AI 跟各種漏洞的關係,你幾乎可以假設所有東西就一定會漏出去。好,我很快地這樣帶過所有的東西,所以我們時間差不多,然後就謝謝大家,希望大家有一個整體的概念,謝謝。謝謝 Martinet, Quantstamp,為我們帶來今天的分享。那……

更多來自 ETHTaipei 2026

訂閱