意圖複製攻擊和普通的 MEV 夾擊攻擊(Sandwich Attack)有什麼具體差別?哪個更危險?
兩者都利用了區塊鏈交易的可見性,但攻擊的層次和目標完全不同。
MEV 夾擊攻擊(短期、戰術層面):攻擊者發現你的一筆待確認交易,在它前後各插入一筆交易,讓你以更差的價格成交,攻擊者獲利。每次攻擊是獨立的、一次性的。對你的損失是「這筆交易比最優成交差了 X%」。攻擊者不需要了解你的整體策略,只需要發現一筆有利可圖的交易。
意圖複製攻擊(長期、戰略層面):攻擊者不針對單筆交易,而是透過分析你的 Agent 過去幾週、幾個月的操作歷史,推算出你的完整策略邏輯——「每當 ETH 現貨相對期貨溢價超過 Y 個基點,這個 Agent 就會執行 Z 操作」。一旦規律被掌握,攻擊者在 Agent 的觸發條件滿足之前就先入場,Agent 的每次交易都在「高位接盤」。損失不是一筆交易的滑點,而是整個策略的 Alpha(超額收益)被徹底消耗——策略本來可以賺 10%,但因為有人一直搶先,實際只賺了 1%,甚至持續虧損。
哪個更危險:從單次損失看,MEV 夾擊更直接。但從長期影響看,意圖複製攻擊更致命——它是隱性的、累積的、而且不容易被發現(你的 Agent 仍然在「正常運作」,只是收益越來越差,你可能把這個歸因於市場環境,而不是被攻擊)。
攻擊者怎麼從鏈上數據推算出一個 Agent 的策略?技術上需要什麼能力?
這個攻擊的技術可行性比很多人想像的更高,因為區塊鏈的設計本身就是完全透明的。
攻擊者需要的資料來源:你的 Agent 錢包地址的鏈上交易歷史(全部公開);交易發生時的市場狀態(可以從歷史價格 API 重建);以及交易的時間模式(時間戳、操作間隔規律)。這些數據都可以免費從鏈上查詢。
推算策略的方法:攻擊者用機器學習模型分析「什麼市場條件下,這個地址會發出什麼操作」的歷史相關性。例如:分析過去 200 次操作,發現「ETH 4 小時 RSI 低於 30 且 Aave USDC 利率高於 7% 時,這個 Agent 100% 會增加 USDC 倉位」。這個模式被提取出來後,攻擊者只需要監控相同的市場指標,在 Agent 的觸發條件即將滿足前提前入場。
技術門檻:需要 Python 或類似語言的數據分析能力;鏈上數據查詢(The Graph、Dune Analytics);以及基礎的機器學習或統計分析知識。這不是高難度的攻擊——有足夠的量化分析背景的人完全可以執行。對 Agent 操作的鏈上歷史越長、操作越規律,推算策略就越容易。
防禦意圖複製攻擊有哪些有效手段?完全防禦是否可能?
完全防禦不可能,因為鏈上交易天然是公開的。但有幾個手段可以顯著提高攻擊難度:
策略混淆(最重要):讓 Agent 的操作不完全由確定性規則驅動,加入隨機元素。例如:條件滿足後,隨機等待 0-60 分鐘才執行;把固定閾值(RSI < 30)改成一個浮動範圍(RSI < 28 到 35 之間隨機選一個值);把單次大額操作拆分成多次隨機大小的操作,分散在不同時間執行。這讓攻擊者即使掌握了你的大致策略邏輯,也無法精確預測你的入場時間點和交易量。
使用私有 RPC:讓 Agent 的交易不廣播到公開 Mempool,透過 Flashbots Protect 或類似的私有交易通道直接提交給礦工。攻擊者看不到你的待確認交易,就沒辦法做即時的搶跑。但這只能保護「交易廣播」這一步,不能隱藏已確認交易的鏈上歷史。
錢包地址輪換:定期(例如每月)讓 Agent 切換到一個新的操作錢包地址。舊地址的歷史雖然仍公開,但攻擊者需要重新積累新地址的數據才能建立新的策略推算模型,增加了攻擊的成本和時間。
跨鏈和跨協議分散:不要讓 Agent 所有的操作都集中在一個鏈的幾個協議上。把操作分散到多個鏈和多個協議,攻擊者需要追蹤更多地址和更複雜的跨鏈邏輯,攻擊成本顯著上升。
如何偵測你的 Agent 正在被意圖複製攻擊?有哪些信號可以觀察?
意圖複製攻擊很難直接偵測,因為它不像 MEV 夾擊那樣「每筆交易都有明顯異常」,而是表現為策略收益的長期、緩慢惡化。但有幾個可以監控的信號:
第一,成交質量下降:觀察 Agent 的交易成交價格和發出交易時的市場中間價的差距(滑點)。如果這個差距在過去幾週呈現系統性擴大的趨勢(不只是在市場波動大的時候,而是在各種市場條件下都在惡化),可能是有人在你之前交易推高了你的成交成本。
第二,異常的搶先成交:分析在 Agent 執行操作前 1-3 個區塊內,是否有特定地址反覆出現,且這個地址的操作方向和 Agent 相同?如果你發現一個地址在 Agent 的大多數操作前都出現了相同方向的交易,高度懷疑是被追蹤。
第三,策略 Alpha 衰減:對比 Agent 策略在「初期(前 3 個月)」和「近期(最近 3 個月)」的超額收益率。如果策略 Alpha 持續下滑而你的策略邏輯沒有改變、市場結構也沒有根本性變化,被策略複製攻擊的可能性很高。
第四,工具調用:建立一個「競爭者監控」工具,定期掃描你的 Agent 常操作的 DEX/協議上,前 N 個區塊內出現過的所有交易,計算方向和時間與 Agent 的相關性。這個主動偵測可以幫助你更早發現攻擊模式。
真實攻擊場景模擬:一個套利 Agent 的策略被複製
這是一個基於真實攻擊原理的模擬場景,展示意圖複製攻擊從偵察到執行的完整過程。
被攻擊的 Agent:「ArbiBot」,一個在 Uniswap 和 Curve 之間做 USDC/USDT 穩定幣價差套利的 Agent。策略邏輯:當 Uniswap 的 USDC/USDT 報價比 Curve 高出 0.03% 以上時,在 Uniswap 賣出 USDC、在 Curve 買入 USDC,套利差額扣掉 Gas 後仍有利潤。這個策略在頭 2 個月表現穩定,月均套利收益約 $800。
攻擊者的偵察(第 3 個月初):攻擊者發現 ArbiBot 的錢包地址,用 Dune Analytics 分析它過去 60 天的交易歷史,建立一個統計模型:「當兩個 DEX 的 USDC/USDT 價差超過 0.028%(比 ArbiBot 的閾值稍低),ArbiBot 將在 15 秒內執行套利。」
攻擊執行(第 3 個月):攻擊者部署自己的機器人,監控相同的價差指標。每當價差超過 0.025%(比 ArbiBot 的閾值更低),攻擊者的機器人搶先執行套利,把差價壓縮到 ArbiBot 的觸發閾值以下。當 ArbiBot 嘗試執行時,價差已消失,交易要嘛成交虧損要嘛因滑點超限自動取消。
攻擊結果:ArbiBot 的月均套利次數從 150 次降到 20 次,月均收益從 $800 降到 $80——卻不知道自己被攻擊,以為只是「市場套利機會變少了」。策略 Alpha 被竊取了 90%。
這個例子清楚地說明意圖複製攻擊的「無聲」本質:Agent 仍然在「正常運行」,但收益已空殼化。
防禦意圖複製攻擊的手段(策略混淆、隨機延遲、地址輪換)都有代價:它們讓 Agent 的行為變得不穩定,有時會錯過最優的執行時機。一個加入了 30 分鐘隨機延遲的套利 Agent,可能在等待期間讓市場機會消失,本來能賺的錢沒賺到。這是一個「策略隱蔽性 vs 執行最優性」的取捨。完全放棄混淆以追求執行最優 → 策略被複製,長期 Alpha 歸零。過度混淆以求最大隱蔽 → 執行效率低,短期也賺不到錢。實際設計應該根據策略的時效敏感度來調整混淆程度:高頻套利策略(機會窗口以秒計)不適合加長時間延遲;低頻 DeFi 再平衡策略(機會窗口以小時計)可以接受更大的隨機延遲而不影響獲利。