SuperAPI AI 工具集

solana-security-standard

安全与审计

查看项目

更新于 10-15 15:45

技能介绍

用途

Solana Security Standard 是一套针对 Solana 程序的安全规则标准,编号为 SOL-0XX,共 37 条规则。这些规则从超过 5.14 亿美元的真实 Solana 漏洞利用案例中提炼而来,用于在编码过程中扫描、检测和预防 Solana 程序漏洞。它能够捕获调用方控制的时钟值、跨市场状态不对称、缺失的 Anchor 约束、包装器/引擎逻辑漂移等 37 类缺陷,并可在 AI 工具、编辑器、CLI 和 CI 中实时触发。

主要能力

该标准覆盖链上关键规则与集成方/客户端规则。链上关键规则包括:SOL-001 未认证的 now_slot/时钟欺骗(已有 2 次确认的赏金获胜案例)、SOL-002 跨市场状态不对称、SOL-003 包装器重新实现引擎逻辑、SOL-004 缺失签名者检查、SOL-005 缺失所有者检查、SOL-006 账户数据类型混淆、SOL-007 未初始化账户、SOL-008 算术溢出/下溢、SOL-009 PDA 派生不匹配、SOL-010 缺失租金豁免等。集成方/客户端规则包括:SOL-029 客户端算术溢出(TypeScript/JS)、SOL-030 缺失交易模拟、SOL-031 客户端硬编码程序 ID 等。每条规则都关联到真实已披露的漏洞利用案例,例如 SOL-001 关联 Wormhole(3.25 亿美元)与 percolator 赏金,SOL-008 关联 Mango Markets(1.14 亿美元),SOL-010 关联 Cashio(5200 万美元),SOL-017 关联 Crema Finance(880 万美元)。

使用方式

该标准支持多种集成方式:

  • Claude Code:可通过 curl 下载 plugin-guidance.md 与 security-patterns.yaml 到 .claude 目录,然后安装 security-guidance 插件;或通过插件市场添加并安装完整的 MCP 驱动插件。
  • CLI:使用 npx @jelleo/solana-security-standard scan ./programs 即可扫描,无需安装,零依赖。支持扫描目录或指定文件,支持 JSON 与 SARIF 输出格式,支持 --min-tier 按严重级别过滤,支持 --baseline 基线模式仅对新增发现进行拦截。CLI 在发现问题时以非零状态退出,可用于 CI 门禁。
  • GitHub Action:在 .github/workflows/solana-security.yml 中配置,支持 paths、fail-on-findings、upload-sarif、min-tier、baseline 等选项,需要 security-events: write 权限。
  • VS Code / Cursor / Windsurf:从 Open VSX 安装扩展,或在 VS Code 中侧载 .vsix,可在 Rust 和 TypeScript/JS 文件中输入时显示内联警告。
  • MCP:在 MCP 设置中添加 npx -y @jelleo/solana-security-mcp,暴露 scan_solana_code 工具与 list_solana_security_rules 资源。
  • AI 代理:为 Codex/AGENTS.md、GitHub Copilot、Cursor、Windsurf、Cline、Aider 等工具复制对应的规则文件到仓库。
  • Semgrep:通过 semgrep --config 指向远程规则文件进行扫描。

适用场景

适用于 Solana 程序开发过程中的安全审查,包括本地开发时的实时检测、提交前钩子检查、CI 流水线门禁、多仓库 monorepo 扫描,以及通过 MCP 让 AI 代理自动扫描代码或查询规则。基线工作流可用于仅对回归问题进行拦截。

限制

CLI 不支持按单条规则过滤,但可通过 JSON 输出配合 jq 进行筛选。基线模式仅拦截新增发现,不会抑制已知发现。对于误报,可通过注释或使用 Anchor 的 Signer/UncheckedAccount 来抑制。GitHub Action 需要确保 security-events: write 权限以避免 SARIF 错误。