defi-amm-security
作者 affaan-mdefi-amm-security 是一套專為 Solidity AMM、流動性池、LP vault 與 swap 流程設計的安全檢查清單。它能幫助稽核人員與工程師檢視重入、CEI 順序、捐贈或通膨攻擊、預言機假設、滑點、管理權限控制與整數運算,減少像使用通用提示詞時那樣的猜測成本。
這個技能評分為 78/100,代表它對需要 DeFi AMM 專屬安全指引的目錄使用者來說,是相當扎實的收錄候選。它提供了足夠具體的工作流程內容,實用性明顯高於一般通用提示詞,但仍缺少一些導入輔助,例如專用安裝指令與支援參考檔案。
- 明確對應 AMM、流動性池與 swap 流程稽核情境,讓代理能以較低的猜測成本觸發使用
- 內容具備實質的清單與模式說明,涵蓋重入、CEI 順序、捐贈/通膨攻擊、預言機操縱與管理控制等安全主題
- 作業結構良好:frontmatter 有效、標題層級完整,且包含程式碼範例,可幫助代理遵循較穩健的實作模式
- 沒有安裝指令,也沒有支援檔案(scripts、references、resources),因此採用主要仍仰賴 SKILL.md 內容
- 儲存庫預覽只顯示單一檔案,使用者應將其視為聚焦的檢查清單技能,而非更完整的自動化稽核工作流程
defi-amm-security 技能總覽
defi-amm-security 是用來做什麼的
defi-amm-security 技能是一個專門用來檢視 Solidity AMM、流動性池、LP vault 和 swap 邏輯的輔助工具。它能幫你稽核最容易先出問題的部分:重入、checks-effects-interactions 順序、儲備與份額計算、滑點處理、oracle 假設、捐贈或通膨攻擊,以及特權管理控制。
誰應該安裝它
如果你正在開發或審查一個包含代幣餘額、定價邏輯或使用者入口點的 DeFi 協議,就應該安裝 defi-amm-security 技能。它特別適合稽核員、協議工程師與資安審查人員,因為他們需要的是實際可用的 defi-amm-security for Security Audit 工作流程,而不是通用的 Solidity 檢查清單。
它的不同之處
這個技能比一般的智慧合約安全提示更聚焦。defi-amm-security 的價值在於,它把真正會影響資金、定價與份額帳務的 AMM 失效模式放到核心位置。當你需要判斷池子能不能安全上線、swap 路徑會不會被操縱,或 vault 的計算是否會被空狀態或基於餘額的邊界情況扭曲時,它能讓你少猜很多。
如何使用 defi-amm-security 技能
安裝並找到這個技能
先依照你環境中的儲存庫安裝流程操作,然後把你的 agent 指向 skills/defi-amm-security。一開始請先讀 SKILL.md,因為它會說明預期的範圍,以及這個技能希望你檢查哪些資安類別。
提供正確的輸入給技能
defi-amm-security usage 最有效的使用方式,是在提示詞裡包含:
- 合約類型:AMM、LP vault、router、swapper 或 fee module
- 高風險函式:
swap、deposit、withdraw、mint、burn、skim、sync - 代幣模型:ERC20、fee-on-transfer、rebasing 或 wrapped assets
- 定價模型:constant product、stableswap、基於份額的帳務,或依賴 oracle 的定價
更好的提示詞會很具體,例如:「請稽核這個 AMM 是否有捐贈攻擊、重入與儲備操縱問題,並檢查 token.balanceOf(address(this)) 是否可能在份額計算中被濫用。」這比單純說「請審查這個 DeFi 合約」有用得多。
依照正確順序閱讀儲存庫
在 defi-amm-security install 的情境下,最有訊號的閱讀順序是:
SKILL.md:先看範圍與範例- 目標 AMM 或 vault 合約
- 任何會影響定價或執行的 router、adapter 或 oracle 檔案
- 覆蓋邊界情況的測試,特別是零流動性、費率變更,以及不尋常的代幣行為
這個技能不依賴儲存庫中的 helper 資料夾,所以它的主要價值在於把檢查清單套用到你的程式碼庫,而不是依賴額外資產。
使用資安稽核工作流程
把這個技能當成對每個入口點與帳務假設的一次完整檢查:
- 在狀態更新之前,先檢查外部呼叫
- 驗證使用者預期需要的滑點與 deadline 保護是否存在
- 測試存款、提款或 swap 是否會被過時餘額扭曲
- 確認管理者權限不能在沒有控制或事件紀錄的情況下,悄悄改變經濟參數
defi-amm-security guide 最好的用法,是把每個函式對應到一種威脅類別,然後寫下你要排除的具體利用路徑。
defi-amm-security 技能 FAQ
這只適用於 AMM 嗎?
不是。defi-amm-security 技能也適合 LP vault、swap router,以及任何會根據餘額或儲備來為資產定價的 Solidity 合約。只要合約會搬移代幣並計算份額,這個技能就有關聯。
什麼時候不該用它?
不要把 defi-amm-security 當成治理、跨鏈橋或非 DeFi 商業邏輯的唯一審查方法。它是專門針對池子計算、swap 執行與代幣流安全設計的,因此更廣泛的協議風險仍需要額外審查。
它比通用提示詞更好嗎?
就這個用途來說,通常是的。通用提示詞可能會漏掉捐贈攻擊、儲備不同步、oracle 依賴,或 swap 路徑中的 CEI 違規。defi-amm-security skill 會把注意力收斂到真正會造成 AMM 損失的問題上。
對新手友善嗎?
如果你已經懂基本的 Solidity 與 ERC20 行為,那就友善。這個技能對新手有幫助,因為它提供了明確的審查框架,但你仍然需要先理解餘額、份額與外部呼叫之間的互動,才能信任結果。
如何改進 defi-amm-security 技能
先把合約背景提供完整
當你加入池子設計、代幣行為與信任假設後,defi-amm-security 的輸出品質會更好。要說清楚是否有手續費、協議是否使用 oracle,以及管理者能不能暫停、升級或設定參數。這些細節會直接改變攻擊面。
要求它說明失效模式,不只是抓 bug
好的 defi-amm-security usage 提示詞會要求模型說明問題可能如何被利用,以及是哪個狀態轉換讓它成為可能。這樣產出的審查筆記會比單純的「找漏洞」更實用。
強制檢查邊界情況
AMM 稽核裡最大的失效模式,通常都跟空池、首次存款、四捨五入、fee-on-transfer 代幣,以及基於餘額的帳務有關。要明確要求技能測這些路徑,這樣你拿到的訊號才不會只是標準的重入建議。
搭配程式碼與測試輸出反覆修正
第一次跑完後,把你要重新檢查的精確函式、不變量或失敗測試丟回去。對 defi-amm-security for Security Audit 來說,最快的改進方式就是縮小問題範圍:「如果代幣會收 transfer fee,這條 withdraw 路徑還能抵抗捐贈攻擊嗎?」
