你是不是也覺得「閃電貸攻擊」是電影才會出現的駭客戲碼,跟你把錢存進金庫領利息完全是兩回事?Summer.fi這次淨損600萬美元,偏偏就是從一連串合法的存款、贖回操作開始的。這篇不會把它包裝成神秘黑科技,而是先帶你拆清誤解、記帳漏洞跟攻擊流程,最後告訴你,你放進金庫的錢到底該不該擔心。
閃電貸攻擊是駭客入侵你的錢包嗎?新手最常見的3個誤解
閃電貸攻擊聽起來是不是很像電影情節——一個駭客盯著你的錢包,幾秒鐘就破解私鑰、把錢搬空?Summer.fi這次事件裡,沒有任何人的錢包被入侵,攻擊者用的是協議完全開放的正常功能,只是把記帳資料灌水灌到系統誤判。搞懂這幾個誤解,你才看得懂後面的攻擊流程,這也是我看過最多新手誤判的地方。
誤解一:以為私鑰外洩才叫被盜
很多人一聽到「協議被攻擊」,直覺反應就是私鑰被偷、錢包被駭。這個直覺放在釣魚詐騙、假錢包App身上通常說得通,但套用到Summer.fi這種金庫協議上就不成立。攻擊者從頭到尾沒有拿到任何人的私鑰,也沒有動用管理員權限——他借的閃電貸、存的錢、贖回的操作,全部都是Summer.fi開放給所有用戶的正常功能。
換句話說,這次的漏洞不在「誰的鑰匙被偷」,而在協議怎麼計算金庫裡的資產。私鑰保管得再好,只要記帳邏輯本身有破綻,資產照樣可能被灌水灌到不值錢。這也是為什麼光顧著防釣魚、防假連結還不夠,金庫本身的設計風險,才是這次事件真正該記住的一課。
誤解二:以為閃電貸攻擊跟一般借貸詐騙一樣
另一個常見誤解,是把閃電貸攻擊想成放大版呆帳詐騙,好像借一大筆錢做壞事,最後留一屁股債跑路。但閃電貸規則完全不同,它要求借款跟還款必須在同一個區塊、同一筆交易裡完成,沒還清,整筆交易直接失敗,像沒發生過一樣。
這代表攻擊者根本承擔不起「賴帳」風險,必須在極短的時間窗口內,把借來的6,540萬美元操作到賺回超過本金,才有辦法全身而退。這種攻擊考驗的關鍵,是有沒有找到記帳邏輯上的破綻,不是膽子夠不夠大。新手只把焦點放在「借了多少錢」,反而會漏掉真正該關注的操縱手法,也低估了這類攻擊背後的準備工夫。
誤解三:以為協議暫停出金代表資金已經追回
Summer.fi事件爆發後,協議很快把所有金庫暫停出金,這個動作常被新手誤讀成「錢已經保住了」或「損失已經止血」。事實上,暫停出金只是防止漏洞被繼續利用,阻止更多用戶資產被同樣手法掏空,跟資金有沒有追回是兩件事。
被偷走的600萬美元,已經經過Curve換成DAI,流向Tornado Cash這類混幣工具,截至目前都沒有公開的追回進度。你在協議公告裡看到「已暫停」「調查中」這類字眼,只能代表協議正在止血,不代表你的錢已經拿得回來。換句話說,暫停出金保護的是還沒被波及的用戶,跟已經被偷走的那筆錢,完全是兩件事,別把兩者混為一談。
為什麼金庫記帳這麼容易被灌水?先搞懂totalAssets()這個攻擊突破口
金庫(Vault)明明只是把大家的錢集中起來去賺收益,為什麼記帳這麼容易出包?問題的核心在於「協議怎麼幫你算現在值多少錢」,不是保管錢的方式本身出了狀況。搞懂份額換算跟totalAssets()這個關鍵函式,你才能看懂Summer.fi的漏洞出在哪一步。
金庫(Vault)怎麼用份額換算你的資產
你存進金庫的錢,協議不會逐筆幫你記帳,會換算成一定數量的「份額」(share)。金庫總資產除以流通的份額總數,就是每一份額值多少錢,贖回時拿份額乘回這個單價,換算出能領回多少資產。這套設計省事、可組合,代價是整個系統只認一個數字——金庫總資產到底是多少。
只要總資產的數字被錯誤計算或人為操縱,不管你存的時候多謹慎,贖回算出來的金額都會跟著失真。Summer.fi的架構裡,這個計算工作由FleetCommander合約負責,底下再連接多個叫Ark的策略模組,投入不同借貸協議賺收益。份額換算的邏輯本身沒有錯,錯的是那個拿去換算的總資產數字。
totalAssets()是什麼,為什麼有心人能把它灌大
totalAssets()是金庫合約裡的一個函式,作用是即時回報「這個金庫現在總共持有多少資產」,份額單價就是靠這個數字算出來的。我第一次看到這個漏洞的描述時,也很訝異問題出在這麼基礎的地方:Summer.fi的Ark模組計算時,把「直接被存入合約地址的資產」也算進了總資產裡,沒有區分這筆錢是不是透過正規存款流程進來的。
這個設計等於留了一道後門:只要有人願意把資產直接捐給Ark,不透過正常存款管道,totalAssets()照樣把這筆錢算進去,拉高每一份額的價值。攻擊者的做法很單純:先低成本囤積份額,再把資產捐進去衝高單價,最後用手上份額換回灌水後的金額,完全不必偷金庫裡原本的一分一毫。這個突破口,是整起事件的核心所在。
閃電貸為什麼能在一個區塊內完成整套操縱
如果沒有閃電貸,上面這套操縱手法很難成立,因為攻擊者得先準備一大筆本金去囤積份額、灌水資產,資金成本高、風險也大。閃電貸解決的正是這個問題——瞬間借入巨額資金,在同一個區塊裡完成囤積份額、捐入資產、贖回套現,再把借款連本帶利還清,整個流程一氣呵成。
這也是為什麼這類攻擊往往幾秒鐘、一個區塊的時間內就結束,你根本來不及反應。對一般用戶而言,重點不是搞懂怎麼發動閃電貸,是看懂一件事:依賴即時計算總資產、又允許外部直接捐入資金的金庫設計,理論上都可能被同樣手法盯上。這也是為什麼近年審計公司特別關注這類「單一區塊完成套利」的攻擊模式。
Summer.fi 600萬美元事件實際上怎麼發生?閃電貸攻擊全流程拆解
搞懂原理之後,Summer.fi這次的攻擊實際上是怎麼一步步發生的?回頭看整個流程,你會發現每一步都精準對應到前面講的漏洞——這是算好每個步驟收益的完整計畫,從借錢、灌水到套現,再到資金洗白,幾乎一氣呵成,不像臨場發揮。拆解這三個步驟,你會更清楚為什麼這種攻擊防不勝防。
第一步:借入6,540萬美元閃電貸先囤積Silo份額
攻擊者第一步,是透過閃電貸借入6,540萬美元。這筆錢沒有直接拿去攻擊金庫,先拿去買進一款叫Silo: Varlamore USDC Growth的資產,累積成一定數量份額。這一步看起來只是單純市場操作,沒有動用任何漏洞、也沒觸發警示,因為協議本身完全允許用戶買進這款資產。從鏈上紀錄來看,這一步本身完全合規,是事後拆解攻擊流程時,才被拼湊出跟後續操縱的關聯。
這個步驟是幫後面操縱鋪路,先讓自己手上握有足夠份額,才有本錢在資產價值灌大之後,靠這些份額分到最大好處。如果沒有先囤積這一步,就算成功把totalAssets()灌水,攻擊者也分不到多少利益,整個計畫不成立。
第二步:捐入Ark灌大FleetCommander的totalAssets()
拿到份額之後,攻擊者接著把手上囤積的資產直接捐給Ark合約,跳過正常的存款流程。前面提過,FleetCommander的totalAssets()計算方式,沒有區分「正規存款」跟「直接捐入」,這筆被捐入的資產,馬上被算進金庫的總資產裡。
金庫總資產瞬間被拉高,但流通中的份額數量沒有跟著增加,結果就是每一份額能換到的資產價值被人為推升。這一步是整起事件最關鍵的操縱動作,前面囤積份額只是準備,這裡才是把記帳數字動手腳的核心所在。存款人多寡、市場行情,全都跟這個灌水過程無關,整個過程也沒有動用任何後門權限,單純是計算邏輯的漏洞被抓到並放大利用。
第三步:用7,090萬贖回套現,資金經Curve換DAI流向Tornado Cash
totalAssets()被灌水之後,攻擊者手上的份額瞬間變得更值錢,他把先前囤積的份額拿去贖回,換回7,090萬美元的資產。扣掉借來的6,540萬美元閃電貸本金與手續費,加上先前存入的6,480萬美元操作成本,淨賺600萬美元,這筆錢直接落袋,而且全部發生在同一個區塊、同一筆交易裡。
拿到套利之後,攻擊者沒有讓資金留在原本的鏈上,馬上透過Curve把資產換成DAI這種穩定幣,降低被追蹤、被交易所凍結的風險,接著把DAI存入Tornado Cash這類混幣工具切斷資金流向。截至目前,這筆600萬美元的下落,仍然沒有公開的追回進度。
同時間BONK DAO也出事,金庫/國庫類協議是不是特別危險?
Summer.fi事件爆發的同一時間,BONK DAO的國庫也傳出被掏空約2,000萬美元,兩起事件是不是代表金庫、國庫類協議特別容易出包?答案沒那麼單純:兩起事件的攻擊手法完全不同,一個是記帳漏洞,一個是治理機制被鑽漏洞。搞懂差異,你才知道評估協議風險該看哪些地方。
BONK DAO治理攻擊跟Summer.fi的攻擊手法差在哪
Summer.fi的問題出在智能合約怎麼計算資產,BONK DAO的問題完全不在程式碼漏洞,而在治理投票機制本身。攻擊者只花大約400萬美元買進BONK代幣,累積出足夠投票權重,拿去支持一項惡意提案,把國庫裡價值約2,000萬美元、換算下來高達4.426兆枚的BONK代幣轉到自己控制的錢包。
整個過程完全按照協議規則走完投票流程,沒有駭入任何系統,也沒有動用任何私鑰,問題出在提案本身沒被攔下來。這跟Summer.fi「合法操作、灌水數字」的模式類似,都是鑽規則本身的空子,只是Summer.fi鑽的是記帳邏輯,BONK DAO鑽的是投票門檻。
治理攻擊跟智能合約漏洞哪個更難防
從防禦難度來看,智能合約漏洞至少能靠審計、測試網模擬、程式碼審查抓出來,漏洞寫死在程式碼裡,只要有人願意花時間檢查,理論上抓得到。治理攻擊麻煩在於,投票機制本身沒有錯,錯的是沒設計時間鎖、最低法定人數門檻、多重簽章覆核這類安全煞車。
BONK DAO這次就是沒有時間鎖,提案通過後立刻執行,沒給任何人反應空間;也沒有最低法定人數門檻,讓一個只花400萬美元的人就能左右2,000萬美元的國庫決策。相較之下,治理攻擊更難靠事後補丁解決,問題出在整套決策機制的設計思路,不是靠改幾行程式碼就能處理。
怎麼判斷一個協議的金庫/國庫設計有沒有風險緩衝
遇到金庫或國庫類協議,你可以先看三件事:第一,資產計算的邏輯會不會受到外部直接捐入資金的影響;第二,重大操作有沒有時間鎖,讓社群有反應時間;第三,治理提案有沒有最低法定人數與多重簽章覆核,避免少數人就能左右巨額資金去向。
這三項如果都沒有,代表協議把「效率」放在「安全煞車」前面,一旦有人找到破綻,就沒有任何緩衝能爭取時間。你不需要看懂程式碼細節,但我建議你至少養成習慣,存錢前去查一下協議的治理文件跟合約設計說明,有沒有提到這些機制,這是判斷一個協議體質好壞最直接、也最省力的方法。

事件發生後,受影響的用戶資金現況與後續處理到哪一步?
錢被偷走之後,協議通常會在第一時間發公告說已經處理、正在調查,但這些字眼具體代表什麼進度?這一段整理Summer.fi跟BONK DAO各自走到哪一步,讓你知道「暫停」「凍結」「通報」這些動作,實際能不能換回你的錢。
Summer.fi目前的處理進度(金庫暫停與資金流向追蹤)
Summer.fi的協議守護者(guardian)在事件發生後,第一時間暫停整個Lazy Summer Protocol底下的所有金庫,防止漏洞被反覆利用、擴大損失。獨立研究者陸續公開分析,確認這次攻擊完全靠正常的存款、贖回、從Ark提款這類合法函式完成,沒有牽涉私鑰外洩或管理員權限。
截至目前,Summer.fi官方尚未針對這起事件發布正式聲明,資金流向的追蹤主要來自鏈上分析社群的持續觀察,確認被偷的600萬美元經過Curve換成DAI,最後流入Tornado Cash。金庫暫停解決的是「不再繼續失血」,不代表已經找回任何一筆資產。
BonkDAO的後續(交易所凍結充提、通報執法單位)
BONK DAO這邊的動作相對積極,團隊公開表示正跟Solana基金會以及多家交易所協調,追蹤並凍結流向交易所的贓款,同時著手向執法單位通報這起治理攻擊。部分被偷走的BONK代幣,已被觀察到開始移動到交易所地址,顯示攻擊者可能準備變現。
交易所凍結充提、執法單位介入調查,這些動作能拖慢攻擊者變現速度,也提高日後追回部分資金的機會,但都不是「錢已經拿回來」的保證。BONK因這起事件應聲下跌約8%到10%,對持有代幣或曾把資金放進國庫治理的用戶來說,這是實打實的損失,不會因為官方發了聲明就自動消失。
為什麼資金被凍結/標記不等於錢一定拿得回來
交易所凍結帳戶、鏈上分析師標記地址,這些動作聽起來很有進展,但能不能追回資金,取決於好幾個條件:攻擊者有沒有把資產轉到願意配合調查的交易所、有沒有先經過混幣工具切斷追蹤、當地執法單位有沒有跨境合作的能力跟意願。
Summer.fi的600萬美元已經進了Tornado Cash——這類工具存在的目的,就是讓資金流向追蹤失效,後續要追回的難度大幅提高。相對地,BONK DAO因為部分資金還沒完全脫手,被交易所攔下來的機會確實比較高。同樣是「凍結中」「調查中」的字眼,背後代表的追回機率可能天差地遠,新手不該一概而論。
存入DeFi金庫前,新手最常犯的3個判斷錯誤
看完兩起事件,你可能會想,是不是乾脆別碰金庫類產品比較保險?其實重點不在要不要碰,是存錢之前有沒有先做對判斷。很多人敗的不是資金不夠謹慎,是評估協議的方式從一開始就用錯了指標。這一段整理三個最常見的判斷錯誤,幫你把心態調整回來。
錯誤一:只看APY不看金庫底層資產組合與槓桿設計
APY數字漂亮,是很多人決定存不存錢的第一個、甚至唯一一個判斷依據。但APY只告訴你「預期能賺多少」——完全不告訴你這個收益從哪裡來,是靠底層借貸利差、槓桿操作,還是靠某種需要不斷有新資金進場才撐得住的機制。收益來源不同,承擔的風險天差地遠。
Summer.fi的金庫本身就是把資金分配到多個Ark策略模組去賺收益,策略模組愈多、串接的借貸協議愈複雜,系統的攻擊面就愈大,這跟APY高不高完全是兩回事。存錢前花十分鐘查一下金庫的資產配置說明,遠比盯著APY數字滑動更能幫你判斷風險。
錯誤二:以為知名協議背書=智能合約零風險
Summer.fi不是什麼名不見經傳的小協議,背後有一定知名度與資金規模,這也是不少用戶當初願意存錢進去的理由。但這次事件證明,協議知名度、團隊背景都不等於程式碼零漏洞,再成熟的團隊也可能在資產計算邏輯裡留下沒被發現的破綻。規模大、用的人多,反而容易讓人放鬆戒心,忘記去做最基本的安全功課。
把「大家都在用」「上線很久了」當成安全的唯一保證,是最容易踩的心態陷阱。比較務實的做法,是去看協議有沒有定期審計、審計報告公開透明程度如何、過去有沒有漏洞懸賞紀錄,我自己評估一個新協議時,一定會先找審計報告,找不到就直接跳過。
錯誤三:忽略緊急暫停開關本身就是協議承認有風險
幾乎所有主流DeFi協議都設有緊急暫停機制,讓守護者能在偵測到異常時第一時間喊停,防止損失擴大。這個設計其實是在告訴你一件事:協議團隊自己都認為系統有可能出錯,才需要預留這道煞車。換個角度想,如果一個系統完全不可能出錯,根本不需要設計這種緊急開關。
很多人看到「有暫停機制」反而覺得安心,誤以為代表有人隨時盯著、資金絕對安全,卻忽略暫停機制存在的前提,是風險本來就存在。存錢前不妨換個角度想:如果連協議自己都預留了緊急煞車,你有沒有幫自己的資金也留一道煞車,例如分散配置到不同協議,或替資產設定監控提醒?
一般用戶可以做的自保檢查清單,把風險降到最低
說了這麼多誤解跟漏洞,回到最實際的問題:你能做什麼,把風險降到自己能接受的範圍?這一段整理存款前、存款中、事件發生當下這三個階段各自該做的事,幫你把抽象的風險意識,轉成具體能照著做的動作,接下來我們就照著時間順序,一步步整理。
存款前怎麼查協議的審計報告與Bug懸賞紀錄
存錢進任何金庫之前,先花時間查三件事:協議有沒有找過知名審計公司做過審計、審計報告是不是公開可查閱、有沒有長期在營運的Bug懸賞計畫。這些資訊通常能在協議官網或官方文件裡找到,如果一個協議連審計報告都拿不出來,或懸賞計畫形同虛設,你就該提高警覺,懸賞金額是不是合理反映了協議管理的資金規模,也值得留意。
審計不是萬靈丹,Summer.fi的漏洞在事發前也不是完全沒被檢視過,但至少審計跟懸賞紀錄能反映一個協議團隊願不願意投入資源找漏洞。查證這件事花不了太多時間,卻能幫你篩掉一大批連基本功課都沒做的協議。
存款中分散配置與設定資產監控警示
就算你已經篩選過協議,也不建議把所有資金集中放進單一金庫。分散配置到不同協議、不同資產類型,能有效降低單一漏洞把你全部資金一次歸零的風險,這跟傳統投資「不要把雞蛋放同一個籃子」的邏輯完全一樣,只是DeFi的籃子換成了智能合約。
另外,建議替自己的資產設定監控警示,例如金庫totalAssets()異常變動、單一交易金額過大這類指標,一旦觸發就即時通知你。這類監控工具在鏈上分析平台通常都能自行設定,雖然不能阻止攻擊發生,但能讓你在第一時間知道異常,而不是事後看新聞才發現自己也是受害者之一。
事件發生當下第一時間該做的3件事
萬一你存錢的協議真的出事,慌張沒有用,照著固定的順序處理,才能把損失控制在最小範圍,也能保留後續求償或協助調查所需要的證據。以下三件事,建議照順序做:
- 立即確認自己的資產狀態:查看官方公告與區塊鏈瀏覽器上的錢包紀錄,確認資金是否真的受到影響,避免自己嚇自己,也避免遺漏受影響的部位。
- 截圖保存所有交易紀錄與官方公告:包含攻擊發生時間、金額、你自己的存取款紀錄,這些資料日後不管是配合協議調查,還是向執法單位報案,都是必要的佐證。
- 關注官方頻道而非社群謠言:協議暫停期間容易出現假冒客服、假理賠連結這類二次詐騙,務必只透過官方驗證過的管道確認最新進度,不要點擊任何私訊傳來的「協助追回資金」連結。
這三件事做完之後,才輪到評估要不要繼續持有其他部位、要不要調整資產配置。事件當下最忌諱的,是病急亂投醫,隨便相信來路不明的「代追回資金」服務,反而讓自己二次受害。
結語
Summer.fi這次事件,從頭到尾沒有一步用到駭客電影裡常見的入侵手法,靠的全是協議自己開放的功能,加上一個沒被抓到的記帳漏洞。BONK DAO的教訓也一樣,問題不在程式碼被破解,而在規則本身留了破綻。這篇文章的用意,不是要你從此對DeFi金庫敬而遠之——是提醒你,存錢前多花十分鐘查審計、看治理設計,遠比事後才在Tornado Cash的紀錄裡找自己的錢,划算得多。







