你是不是也觉得「闪电贷攻击」是电影才会出现的黑客戏码,跟你把钱存进金库领利息完全是两回事?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的纪录里找自己的钱,划算得多。







