KeyFrame內部研究專用

Smart Contract Security Through Damn Vulnerable DeFi v4 | Tincho (The Red Guild) - DSS 101 2024

DeFi Security Summit - DSS·12月13日週五·60 min英文

三句話摘要

《Damn Vulnerable DeFi》——免費開源智能合約安全教育平台的現場演示與解題教學。 Damn Vulnerable DeFi是DeFi安全入門的最佳實踐平台,通過18個遞進難度的挑戰教授智能合約漏洞的真實形態,讓初學者在低成本、無壓力的環境中反覆練習,為參與漏洞賞金和安全審計工作奠定基礎。 任意調用的危害 — Thruster挑戰揭示flashLoan函數接受目標地址和調用數據參數,允許攻擊者強制合約執行非預期函數(如approve),這種遠程執行能力在web3中類似於web2的命令注入。

重點整理

重點
  • 1

    任意調用的危害 — Thruster挑戰揭示flashLoan函數接受目標地址和調用數據參數,允許攻擊者強制合約執行非預期函數(如approve),這種遠程執行能力在web3中類似於web2的命令注入。

  • 2

    函數組合創造漏洞 — Side Entrance展示單個函數(deposit、withdraw、flashLoan)各自看似安全,但通過deposit→flashLoan→withdraw的調用組合可以繞過償還檢查,這是重入思維的現代演繹。

  • 3

    白帽心態的訓練 — 平台強調「救援資金」(rescue)而非「竊取資金」(steal),所有exploit都應存款到指定recovery帳戶,訓練參與者參加漏洞賞金計畫時的正確心態。

實用技巧與重點

乾貨
  • 基本資訊
  • 官網:www.defidai.xyz
  • 倉庫:github.com/tinchoabbate/damn-vulnerable-defi
  • 所有者/講者:Tincho(Red Guild共同創辦人)
  • 機構:Red Guild(拉丁美洲安全團隊,由以太坊基金會贊助)
  • 挑戰規模
  • 總計18個挑戰
  • 版本:v4(已上線)
  • 涵蓋主題:Flash Loan、治理、NFT、DEX、借貸、Permit、Reentrancy、時間戳操控、交易排序、多簽調用等
  • 技術棧
  • 開發框架:Foundry
  • IDE:Visual Studio Code
  • 環境:Dev Container(推薦)
  • 依賴:OpenZeppelin、Uniswap v2/v3、Safe、Multicall等成熟協議合約
  • Thruster挑戰具體數據
  • 池中代幣:100萬DVT(Damn Valuable Token)
  • 玩家初始資金:0
  • 目標:單筆交易內救援所有資金到recovery帳戶
  • 漏洞根源:flashLoan允許任意調用,執行token.approve()可授予攻擊者無限額度
  • Side Entrance挑戰具體數據
  • 池中ETH:1,000 Ether
  • 玩家初始資金:1 Ether
  • 目標:單筆交易內救援所有資金到recovery帳戶
  • 漏洞根源:通過deposit函數應金額回存但仍保持flash loan保護失效
  • 後續活動
  • Capture the Flag報名:www.ctf.theedgames.com
  • 隔天(同會議期間)dev環境安全工作坊:13:10開始,講者:Mata

結論

結論

Damn Vulnerable DeFi是DeFi安全入門的最佳實踐平台,通過18個遞進難度的挑戰教授智能合約漏洞的真實形態,讓初學者在低成本、無壓力的環境中反覆練習,為參與漏洞賞金和安全審計工作奠定基礎。

完整解析

詳細

Damn Vulnerable DeFi是由Red Guild開發的教育性智能合約安全平台,Red Guild是一個來自拉丁美洲的小型安全團隊,由以太坊基金會贊助。不同於商業安全審計公司,Red Guild專注於為以太坊社群提供免費的安全教育和公共產品。講者Tincho在會上強調,許多知名安全研究員都是通過Damn Vulnerable DeFi入門的,該平台已存在超過四年,主要透過口碑傳播。

平台本身極其簡潔,無需登錄、無需付費、無需任何外部服務。開發者只需在本機安裝Foundry開發框架,就能將整個repo克隆下來,執行`forge build`編譯,立即開始解題。這種低摩擦的設計讓初學者無需面對繁複的環境配置問題。

講者現場示範了兩個挑戰的解題過程。首先是Thruster挑戰,焦點是Flash Loan函數的漏洞。該函數接受四個參數:借款金額、借款人地址、目標合約地址、以及調用目標合約的任意數據。開發者的本意是讓借款人實現execute函數來處理借款後的邏輯,然後在同一筆交易內償還。但問題在於——函數允許攻擊者指定任意目標地址和任意調用數據。這意味著攻擊者可以強制Flash Loan合約去調用其他合約上的任何函數。講者利用這一點,構造一個exploit合約,在Flash Loan過程中強制目標合約對DVT token執行approve()函數,授予自己無限額度。隨後利用這個approval,直接從token合約轉移池中的100萬DVT代幣到recovery帳戶。整個過程中,攻擊者從未通過Flash Loan的返款檢查,因為approval是隱形的——池中的代幣餘額沒有直接減少。

第二個Side Entrance挑戰揭示了更深層的安全思維:單個函數不一定脆弱,但函數的組合調用可能產生漏洞。該合約有三個函數:deposit(接收Ether並記錄餘額映射)、withdraw(檢查餘額後轉移Ether)、flashLoan(檢查交易前後的Ether餘額)。單獨看,這三個函數都遵循了推薦的安全模式(checks-effects-interactions)。但攻擊者可以這樣利用:在flashLoan的execute回調函數中,不是償還Ether,而是調用deposit將Ether重新存入合約。這樣一來,flashLoan看到的事後餘額仍然足額(資金確實進入了合約),但資金所有權被映射到了攻擊者名下。交易完成後,攻擊者再次調用withdraw就能將這些Ether取出。這實質上是一種重入攻擊的變體——不是直接在同一函數內遞迴調用,而是利用多個函數的狀態不一致性。

整個過程中,講者強調了白帽安全研究的心態:平台使用「救援資金」(rescue)而非「竊取」(steal),所有exploit都必須將資金存放到指定的recovery帳戶(通常屬於某個協議)。這訓練參與者將學到的攻擊技術應用在漏洞賞金計畫而非惡意目的上,是安全教育中至關重要的倫理層面。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web3 安全」的內容

IF YOU OWN XRP YOU NEED TO SEE THIS PRICE MANIPULATION! ⚠️
8 min
Web3 安全英文8月14日

IF YOU OWN XRP YOU NEED TO SEE THIS PRICE MANIPULATION! ⚠️

Zach Humphries

  • 機構支撐的積極意義:價格操縱常被視為負面,但Ripple掌握大量XRP供應與escrow,在熊市期間提高價格下限,實際上替零售投資者鎖定了低風險的積累區間,這不是剝削而是市場穩定機制。
  • 歷史模式驗證:2024年7月至11月XRP在50美分附近橫盤整理,低點觸及42美分(wick),高點65美分;隨後11月5日至12月5日單月上漲456%,年底到2025年初累計漲幅534%,這個歷史周期正在1美元價位重演。
  • 比特幣聯動邏輯:講者在4-5月就預測「如果比特幣跌至60k以下,XRP會跌至1美元或更低」,此預測精準應驗,反映出熊市中兩者的明確連動關係。
Minimmit, Multimmit and the New Consensus Frontier with Patrick O'Grady
72 min
Web3 安全英文PODCAST8月5日

Minimmit, Multimmit and the New Consensus Frontier with Patrick O'Grady

Zero Knowledge

  • 反向 Linux 架構:Commonware 刻意暴露棧各層級控制,讓開發者自訂執行環境、共識機制、密碼學實現,而非像 Cosmos SDK 只允許應用層以上定制。2-3 個月能組裝一條定製鏈,代價是額外深度但回報是長期維護成本降低及效能優化彈性。
  • 容錯假設的典範轉移:Alpine Glow(Solana 2025)實現單輪投票定終的關鍵是將容錯預算分離為獨立的 Byzantine 和 Crash 容限。傳統系統把 33% 當一個整體預算;新模型允許 20% 惡意加 20% 崩潰,打破了 PBFT 理論界線,釋放單輪設計空間。
  • Minimet 與 Multimet 的遞進:Minimet 是 5F+1 設定下的乾淨構造,實現更短視圖延遲;Multimet(剛發布)進一步允許並行 mini-commits 且驗證者可推翻領導者審查,使用者交易在全球分布式網路達到 200-300 毫秒端到端定終。
Private Information Retrieval (PIR) with Alex Hoover
64 min
Web3 安全英文PODCAST7月29日

Private Information Retrieval (PIR) with Alex Hoover

Zero Knowledge

  • PIR 保護的是訪問模式,不是資料本身
  • PIR 與加密不同,它關注的是隱藏「客戶端查詢了什麼」,而非「資料是否加密」。在公開資料庫(如區塊鏈)上,客戶端可以在不洩露查詢對象給伺服器的情況下檢索特定條目,解決了輕量級客戶端的隱私和防審查問題。
  • 客戶端預處理方案是突破瓶頸的關鍵