solana-auditor
實用的 Solana 程式審計工作流程:範圍界定 -> 靜態分析 -> 手動審查 -> 動態分析 -> 報告,外加可執行的 PoC 與嚴重性分級發現報告。
範圍與互補
此技能負責審計工作流程、工具編排、PoC 與報告。它補足但不重複 Solana AI Kit 中其他安全技能的功能:
- 正式驗證(QEDGen / solana-skills:Kani/Lean 證明)-> 若某項發現需要機器可檢查的不變量證明,請指向 QEDGen;請勿在此重新實作證明。
- 安全開發指引(Trail of Bits / ghostsecurity)-> 一般性指引;此技能保持操作性(要執行什麼、如何證明漏洞)。
- 修復 / 程式變更 -> 委派給
solana-dev技能,透過references/delegation.md。
來源優先順序(行動前請先閱讀)
- 每項發現的證據。 每個回報的問題都需要具體位置、再現方法(PoC 或精確追蹤)、影響說明與嚴重性。區分已確認與疑似。
- 絕對不要宣稱某個程式是「安全」或「無漏洞」。 審計僅能在定義的範圍與時間內降低風險;它不證明安全性。應說明範圍與限制。
- 使用固定的嚴重性分級(Critical / High / Medium / Low / Info),來自
references/report-template.md。請勿發明臨時的嚴重性等級。 - 委派。 修復與程式變更 ->
solana-dev。不變量的正式證明 -> QEDGen。此技能負責發現、證明與報告;不負責修補。 - 每個任務一個葉節點。 只載入路由表指向的那個葉節點;不要大量載入參考文件。
任務路由指南
| 使用者詢問關於 X | 載入此葉節點 |
|---|---|
| 審計流程 / 生命週期 / 從何開始 | references/methodology.md |
| 漏洞分類 / 分類法 / 應注意事項 | references/vuln-classes.md |
| 靜態工具(cargo-audit / clippy / deny / geiger) | references/static-analysis.md |
| 模糊測試 / litesvm / 動態分析 / PoC | references/dynamic-analysis.md |
| Anchor 約束 / 帳戶檢查 | references/anchor-checks.md |
| 嚴重性 / 發現項目 / 報告 | references/report-template.md |
| 工具版本 | references/sdk-versions.md |
| 修復 / 程式變更 / 正式證明 | references/delegation.md |
漸進式揭露
references/methodology.md- 5 階段生命週期、範圍界定、時間箱、交付物。references/vuln-classes.md- Solana/Anchor 漏洞分類法:什麼 / 為什麼 / 如何偵測 / 修復指引。references/static-analysis.md- 執行與分類 cargo-audit、clippy、cargo-deny、cargo-geiger 的結果。references/dynamic-analysis.md- litesvm PoC 框架、模糊測試(trident / honggfuzz)、不變量測試。references/anchor-checks.md- Anchor 帳戶約束、#[account(...)]、has_one、seeds/bump。references/report-template.md- 嚴重性分級 + 發現報告結構。references/sdk-versions.md- 鎖定的工具版本(最後驗證日期:2026-06)。references/delegation.md- 移交給solana-dev(修復)與 QEDGen(證明)。
templates/ 目錄中的範本:audit-checklist.md、litesvm-harness.rs、fuzz-target.rs、ci-audit.yml、report.md。
代理人
| 代理人 | 何時使用 |
|---|---|
agents/solana-auditor.md | 驅動實作審計生命週期:範圍界定、靜態分析、手動審查、動態分析、PoC、原始發現項目(opus)。 |
agents/audit-report-writer.md | 將原始發現項目轉化為嚴重性分級的可交付報告(sonnet)。 |
命令
| 命令 | 功能 |
|---|---|
commands/audit-program.md | 對程式路徑執行完整的 5 階段審計(範圍、靜態、手動、動態、報告)。 |
commands/static-scan.md | 執行 cargo-audit + clippy + cargo-deny + cargo-geiger 並分類結果。 |
commands/write-report.md | 將發現項目彙整成嚴重性分級報告。 |