IsSlashy/solana-security-checklist

GitHub: IsSlashy/solana-security-checklist

一份面向 Solana 程序开发者的安全清单,汇总 12 类最常见的高危漏洞模式及其单行修复方案,帮助团队在正式审计前自行排查资金安全问题。

Stars: 0 | Forks: 0

# Solana 安全清单 导致 Solana 程序资金被抽干的 12 类漏洞,包含易受攻击的模式以及针对每一项的 单行修复方案。涵盖 Anchor 和原生 Rust。免费、独立、可直接复制粘贴。 在此阅读:[SECURITY-CHECKLIST.md](./SECURITY-CHECKLIST.md) ## 为什么会有这个清单 大多数 Solana 漏洞利用并非什么深奥的密码学问题。它们往往是因为一个未被 约束的账户、一个未被要求的签名者、一个向错误 方支付的 `close` 操作,或者一个只被检查了一半的证明。这些同样枯燥且重复出现的 漏洞类别在一次又一次的审计中频频出现,而这恰恰是 清单能够捕捉到的漏洞,也是赶进度时的一双新眼睛容易漏掉的漏洞。 一次完整的人工审计通常需要花费数千到数万美元,而审计人员大部分的 初步工作都花在了寻找这些同样枯燥的漏洞上。请先自行清除它们。你的 代码不会因为一个清单漏洞而感到难堪,而且你付费的审计时间可以 投入到更复杂的逻辑中。 ## 包含哪些内容 [SECURITY-CHECKLIST.md](./SECURITY-CHECKLIST.md) 涵盖了以下内容,每一项都提供了存在漏洞的 代码片段和单行修复方案: 1. 缺少 `has_one` 绑定(托管资金抽干) 2. 缺少所有者检查(原生) 3. 缺少签名者 4. 存在签名者但未与存储的权限绑定 5. 非规范 PDA bump 6. 任意 CPI 目标 7. 整数溢出和下溢 8. `close =` 窃取托管的本金 9. 账户重新初始化(`init_if_needed` 重新初始化) 10. SPL token mint 和所有者不匹配 11. 重复的可变账户(自转账别名) 12. 接受仅验证了一半的证明(如果您进行了任何验证) 每项检查都标记为“严重”或“高危”,并且适用于 Anchor 和原生 (`solana-program`)程序。 ## 如何使用它 对照这 12 项检查,逐一审查您程序中的每个指令处理程序。对于每一项 检查,要么用一行理由将其标记为 PASS,要么记录一个发现。仔细阅读实际的 `#[derive(Accounts)]` 结构体(Anchor)或手动账户解析(原生), 检查每个余额上的算术运算,以及 lamports 或 token 流动的每一个 地方。不要因为代码乍一看看起来很干净就跳过检查,这正是这些 漏洞隐藏的地方。 ## 编写者信息 基于在真实的 Solana 程序(一种后量子隐私支付协议和一个 P2P 托管)上部署的实际修复构建,并在 devnet 上进行了验证。这些检查不是通用的 模板,它们是在主网部署前实际捕获并修复的漏洞类别, 包括向错误接收者支付的托管、向 keeper 而非用户关闭的退款、 缺少校验和的一次性签名,以及多个指令仅验证了一半的 STARK 证明。 ## 本清单的局限性 这是一个包含 12 项检查的预览,并非人工审计。它不证明经济或 博弈论的稳健性,不建模 MEV 或预言机操纵,不正式验证 电路,也不替代 fuzzing。通过检查仅意味着“未发现已知的清单漏洞”, 绝不代表“该程序是安全的”。在主网上使用真实资金之前,请务必 进行人工审计并运行 fuzzer。这份清单的存在是为了让这些后续步骤更有价值,而不是 取代它们。 ## 完整版本(可选) 如果您想要完整的审查流程,这里有一款付费的 Claude Code 技能:Solana Pre-Audit Gate(24 欧元)。它通过 8 个步骤运行 45 项检查,首先映射您的整个 程序,并编写一份分类报告(严重 / 高危 / 中危 / 信息), 其中包含 file:line 引用以及针对每个发现的具体修复。这里的 12 项检查是 其核心子集,它们可以独立使用。完整的技能在这里: https://slashyfx.gumroad.com/l/solana-pre-audit-gate ## 许可证 MIT。可随意使用、fork,或将其粘贴到您自己的审查文档中。参见 [LICENSE](./LICENSE)。 ## 贡献 发现了此清单遗漏的漏洞类别,或者有错误、可以更严谨的修复方案吗? 欢迎提交 issue 或 PR。Solana 的漏洞攻击面在不断演进(Token-2022、新的 CPI 模式、新的证明系统),此清单也应随之不断更新。
标签:Rust, Solana, 区块链安全, 可视化界面, 智能合约审计, 网络流量审计, 防御加固