跳轉到主要內容

Documentation Index

Fetch the complete documentation index at: https://docs.raydium.io/llms.txt

Use this file to discover all available pages before exploring further.

本頁內容由 AI 自動翻譯,所有內容以英文版本為準。查看英文版 →
審計能發現某些類型的漏洞(已知的攻擊模式、存取控制錯誤、整數溢位),但也會遺漏其他類型(經濟設計缺陷、博弈論操縱、與其他程式的整合漏洞)。Raydium 的程式每個都經過多輪審計;本頁列出這些審計並討論每次審計實際驗證了什麼。

各程式審計表

程式審計公司日期報告
訂單簿 AMMKudelski Security2021 Q2檢視
集中式流動性 (CLMM)OtterSec2022 Q3檢視
更新的訂單簿 AMMOtterSec2022 Q3檢視
質押OtterSec2022 Q3檢視
訂單簿 AMM 與 OpenBook 遷移MadShield2023 Q2檢視
常數乘積 AMM (CPMM)MadShield2024 Q1檢視
Burn & Earn(流動性鎖定)Halborn2024 Q4檢視
LaunchLabHalborn2025 Q2檢視
CPMM(更新)Sec32025 Q3檢視
CLMM 更新 — 限價單、動態費用、單一資產費用Sec32026 Q2檢視
Neodyme 團隊成員也透過漏洞賞金協議進行過廣泛的程式檢查。 Raydium 程式的所有審計報告都備份在 github.com/raydium-io/raydium-docs/audit/。各審計公司也在各自網站上發佈報告。

審計涵蓋的範圍

典型的 Raydium 審計(約 3–6 週,2 位審計員)涵蓋:
  • 存取控制 — 是否每個權限操作都正確受限?
  • 算術運算 — 溢位、下溢、舍入方向、定點精度。
  • 帳戶驗證 — 每個帳戶是否有正確的擁有者、代幣、授權?
  • 重入性模式 — 狀態是在 CPI 前或後更新?
  • PDA 衍生 — 種子在所有位置是否一致?
  • 錯誤代碼和訊息 — 錯誤條件是否正確復原?
  • 代碼品質 — 慣用 Rust、死碼、無法到達的分支。

審計不涵蓋的範圍

  • 經濟博弈論 — 例如「如果我可以免費建立 1000 個流動性池,我能擾亂路由器嗎?」
  • MEV / 排序 — 三明治攻擊、透過驗證者串通的搶先交易。
  • 鏈下基礎設施 — RPC 可靠性、索引器正確性、前端。
  • 與其他程式的整合 — 僅在與特定借貸、選擇權或聚合器合約組合時才出現的漏洞。
  • 隨時間推移的新興行為 — 1000 萬個部位後會發生什麼?審計查看的是小規模測試案例。
這就是為什麼審計 ≠ 安全保證。Raydium 補充審計的方式包括漏洞賞金、監控和防禦性工程。

發現項目解決狀態

每次審計都會產生發現項目清單(嚴重 / 高 / 中 / 低 / 信息性),包括嚴重程度計數和單項發現項目狀態(已修復 / 已確認 / 不修復)。按項目分解不在此重複 — 請直接透過上表讀取各報告。

重要更改後的重新審計

當程式推出重要升級(新指令、新帳戶欄位、新擴展支持)時,Raydium 會委託進行重新審計。上表中列出的 Sec3 2025 Q3 CPMM 評審和 Sec3 2026 Q2 CLMM(限價單、動態費用、單一資產費用)評審都是這類重新審計。 重新審計範圍較窄(僅限 diff),但它確實是重新審計 — 而不是僅代碼檢查。重新審計報告附加到主要審計報告。

鏈上驗證

部署的程式雜湊應與審計的代碼雜湊相符。任何人都可以驗證:
# 取得已部署的程式位元組碼。
solana program dump <PROGRAM_ID> program.so

# 在審計的提交時建構程式碼庫。
git clone https://github.com/raydium-io/raydium-cp-swap
cd raydium-cp-swap
git checkout <audited_commit_hash>
anchor build --verifiable

# 比較。
sha256sum program.so target/deploy/raydium_cp_swap.so
Anchor 可驗證建構產生確定性位元組碼;雜湊應完全相符。如果不相符,部署的程式不是審計過的 — 上報。 Raydium 在程式碼庫發佈部分中發佈每次部署的預期雜湊。

如何閱讀審計報告

非審計員的簡短指南:
  1. 跳到發現項目摘要 — 嚴重程度計數表。如果「嚴重」計數 >0 且你看到「開放」狀態,深入了解。
  2. 閱讀每項發現項目的描述和狀態。 「在提交 XYZ 中修復」表示已解決;「已確認」表示團隊接受風險;「部分修復」值得仔細查看。
  3. 掃描範圍部分。 如果審計未涵蓋你關心的指令或帳戶,那裡沒有發現項目不是安全的證據。
  4. 快速掃讀審計員的建議部分。 通常比發現項目更有用 — 表達「我們無法正式證明但感到不安」的註記。

漏洞賞金整合

審計在部署前執行;漏洞賞金在部署後持續運行。Raydium 的賞金計畫(security/disclosure)涵蓋審計所有涵蓋的內容,加上:
  • 審計不涵蓋的經濟攻擊。
  • 在新整合中發現的漏洞。
  • SDK 和鏈下元件中的實現漏洞。
白帽發現在賞金計畫中的支付速度通常比等待下一個審計周期更快;激勵措施與快速披露相一致。活動計畫托管在 Immunefi:immunefi.com/bug-bounty/raydium/information

歷史事件

Raydium 的程式經歷過兩起值得關注的現實事件:

池授權利用漏洞(2022 年 12 月)

什麼: AMM v4 池授權私鑰遭洩露,允許攻擊者清空多個池。 範圍: 操作密鑰管理,而非程式漏洞。審計未標記代碼,因為代碼本身正確;密鑰管理過程才是失敗所在。 修復: 多簽遷移(所有授權角色移至 Squads 多簽);額外的操作控制。 教訓: 審計不涵蓋密鑰管理。參見 security/admin-and-multisig

OpenBook 整合凍結(2023 年 1 月)

什麼: OpenBook 程式更新更改了帳戶語義;AMM v4 的 MonitorStep crank 無法結算 PnL,直到 AMM v4 修補程式出貨。 範圍: 整合漏洞 — 兩個程式在隔離時都沒有問題。 修復: AMM v4 修補程式和協調部署。 教訓: 對程式 A 的審計不會發現程式 A 與程式 B 整合中的漏洞。正確的工具是整合測試 + 分階段推出。

參考資料

資料來源: