ulsreall/solana-security-audit
GitHub: ulsreall/solana-security-audit
基于 AI 的 Solana 智能合约安全审计工具,能自动扫描 30 余种漏洞模式并生成专业报告。
Stars: 0 | Forks: 0
# Solana 安全审计技能
一个用于审计 Solana 智能合约(Anchor + 原生 Rust)的生产级 AI 技能。可扫描涵盖 8 个类别的 30 多种漏洞模式,并生成带有严重性评级和修复方案的专业安全报告。
## 功能介绍
自动检测:
- **账户验证** — UncheckedAccount、缺失 has_one、类型混淆
- **PDA 种子操纵** — 缺失 bump、种子碰撞
- **CPI 安全** — 未检查的目标、权限提升、重入
- **整数溢出** — 未检查的算术运算、BPF 上的 wrapped 操作
- **签名者绕过** — 关键函数缺失 Signer 约束
- **Token 验证** — 未检查的 mint/owner、任意 token 接受
- **权限风险** — 单一管理员密钥、无 timelock、升级权限问题
- **业务逻辑** — 首个存款者攻击、预言机操纵、费用绕过
## 使用方法
### 配合 Claude Code / Codex
```
Load the solana-security-audit skill, then audit the program at /path/to/program
```
### 手动使用
```
# Clone 目标
git clone --depth 1 $REPO /tmp/audit-target
cd /tmp/audit-target
# 运行自动化扫描
bash scripts/scan.sh
# 在 output 中审查 findings
```
## 输出结果
安全发现结构如下:
```
[SEVERITY] Title
├── File: programs/src/lib.rs:L42
├── Category: Account Validation
├── Impact: Direct fund loss via...
├── Remediation: Add #[account(has_one = authority)]
└── Code:
```
## 真实安全发现案例
此技能的方法论曾用于发现以下问题:
- **KausaLayer** — 未经身份验证的私钥导出(严重)
- **Quip Network** — 抢跑 initialize() + API 密钥泄露(严重)
- **Owntown.fun** — 访客 socket 完整状态泄露(高危)
- **Modulo Finance** — Firebase Admin SDK token 泄露(严重)
## 覆盖类别
| # | 类别 | 模式 |
|---|----------|----------|
| 1 | 账户验证 | 6 种模式 |
| 2 | PDA 种子 | 4 种模式 |
| 3 | CPI 安全 | 5 种模式 |
| 4 | 算术运算 | 4 种模式 |
| 5 | 签名者验证 | 4 种模式 |
| 6 | Token 验证 | 5 种模式 |
| 7 | 权限与访问 | 4 种模式 |
| 8 | 业务逻辑 | 8 种模式 |
## 许可证
MIT — 作者 maulana (khasbimln@gmail.com)
标签:AI, Cutter, Rust, Solana, 区块链安全, 可视化界面, 智能合约, 特征库, 网络流量审计, 自动化代码审查