关于 near-contract-audit
面向 NEAR Rust 智能合约的安全审计技能,供审计人员或编码 Agent 检查漏洞并整理修复建议。它结合自动化扫描与人工审查,并按严重性记录发现。
主要功能
- 01自动扫描常见漏洞模式
- 02人工审查业务逻辑与权限
- 03评估漏洞可利用性
- 04按严重性生成审计报告
- 05提供漏洞检测器参考
适用场景
- 01审查 NEAR Rust 合约安全性
- 02核实扫描发现是否为真实漏洞
- 03为漏洞整理修复建议
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ near/ agent-skills --skill near-contract-audit安装后在 Claude Code 中输入/near-contract-audit确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/high-severity.mdlow-severity.mdmedium-severity.md详细介绍
NEAR 合约审计
针对 Rust 编写的 NEAR 智能合约的安全审计技能。
审计工作流
阶段 1:自动化分析
使用你偏好的 Rust 静态分析工具和专注于 NEAR 安全的工具扫描合约,以便:
- 扫描常见漏洞模式(重入、算术不安全、未处理的 Promise、访问控制问题等)
- 标出需要进一步人工审查的潜在风险模式
阶段 2:人工审查
完成自动化分析后,人工审查以下内容:
- 业务逻辑漏洞
- 访问控制模式
- 经济攻击途径
- 跨合约交互安全性
阶段 3:代码专项分析
针对每项发现,确认:
- 这是否是真阳性?
- 可利用性如何?
- 建议的修复方法是什么?
阶段 4:生成报告
记录各项发现的严重性、位置、描述和修复措施。
漏洞速查
| 严重性 | 检测器 ID | 描述 |
|---|---|---|
| 高 | non-private-callback | 回调缺少 #[private] 宏 |
| 高 | reentrancy | 跨合约调用后更改状态 |
| 高 | incorrect-argument-or-return-types | 在 JSON 接口中使用原生整数类型 |
| 高 | unsaved-changes | 集合修改未持久化 |
| 高 | owner-check | 缺少调用者/所有者验证 |
| 高 | yocto-attach | 敏感函数缺少 assert_one_yocto |
| 高 | storage-collision | 不同集合使用相同存储前缀 |
| 高 | required-initialization-macro | 初始化方法缺少 #[init] |
| 中 | gas-griefing | 无界循环导致拒绝服务 |
| 中 | insecure-random | 基于区块数据生成可预测的随机数 |
| 中 | prepaid-gas | 为回调预留的 Gas 不足 |
| 低 | cover-storage-cost | 缺少存储押金验证 |
| 低 | unsafe-math | 算术运算未进行溢出检查 |
| 低 | float-math | 使用浮点类型进行金融计算 |
参考文件
如需查看包含代码示例的详细漏洞文档:
- high-severity.md - 严重漏洞(8 个检测器)
- medium-severity.md - 中等漏洞(4 个检测器)
- low-severity.md - 低严重性问题(3 个检测器)
评论
支持 Markdown