返回博客

Rustle:NEAR社区首个自动化审计工具

Code Auditing
2022年11月1日

我们很高兴发布 Rustle —— BlockSec 为 NEAR 社区提供的首个自动化审计工具。

Rustle 具有以下优点:

  • Rustle 目前可以检测 NEAR 合约中 20 多种类型的漏洞。请参阅“检测器”部分获取完整的检测器列表。
  • Rustle 易于使用。我们提供了详细的安装命令和教程。此外,我们还为用户准备了 Docker,以便快速上手。
  • Rustle 非常快速,大多数 NEAR 合约分析可以在 3 分钟内完成。
  • Rustle 用户友好,报告格式支持 CSV 和 JSON。我们还提供了一个脚本,帮助您将结果导入 Notion。

检测器

Rustle 可以检测的所有漏洞。详细文档可在此处找到。

检测器 ID 描述 严重程度
unhandled-promise 检测未处理的 Promise 高
non-private-callback 回调函数缺少 #[private] 宏 高
reentrancy 查找易受重入攻击的函数 高
unsafe-math 算术运算缺少溢出检查 高
self-transfer 缺少发送方 != 接收方的检查 高
incorrect-json-type 参数或返回值中使用错误的类型 高
div-before-mul 由于操作顺序不正确导致的精度损失 中
round 未指定 ceil 或 floor 的四舍五入 中
lock-callback 回调函数中的 panic 可能导致合约被锁定 中
yocto-attach 特权函数中缺少 assert_one_yocto 中
prepaid-gas ft_transfer_call 中缺少预付费 gas 检查 低
non-callback-private 在非回调函数中使用 #[private] 宏 低
unused-ret 函数结果未被使用或检查 低
upgrade-func 合约中没有升级函数 低
tautology 条件分支中使用重言式 低
inconsistency 使用相似但略有不同的符号 低
timestamp 查找所有时间戳的使用 信息
complex-loop 查找所有具有复杂逻辑的循环,可能导致 DoS 信息
ext-call 查找所有跨合约调用 信息
promise-result 查找所有 promise 结果的使用 信息
transfer 查找所有转账操作 信息

如何使用

我们使用 Rustle 分析了一个流行的 NEAR 合约(例如 LiNEAR)。命令已在 Ubuntu 20.04 LTS 中进行测试。

  1. 按照 GitHub 页面上的安装手册进行操作。如果您想使用 Docker,请跳过此步骤,直接转到 Docker 手册。

  2. 准备要让 Rustle 分析的 NEAR 合约。

     git clone https://github.com/linear-protocol/LiNEAR.git ~/near-repo/LiNEAR
    
  3. 通过运行 ./rustle 开始分析。

     ./rustle -t ~/near-repo/LiNEAR ~/near-repo/LiNEAR/contracts/linear
    
  1. 在 audit-result/summary.csv 中检查报告
  1. 您可以指定要使用的检测器或严重性组。

./rustle -h 查看详细信息。

示例:

./rustle -t ~/near-repo/LiNEAR ~/near-repo/LiNEAR/contracts/linear -d high,medium,complex-loop

额外说明

Rustle 可用于开发过程,以迭代方式扫描 NEAR 智能合约。这可以节省大量手动工作并减轻部分潜在问题。但是,复杂逻辑或与语义相关的问题仍然是 Rustle 的局限性。定位复杂的语义问题需要 BlockSec 的专家进行全面细致的审查。请联系我们进行审计服务。

也欢迎提交 Issue 和 Pull Request。

关于 BlockSec

BlockSec 是一家开创性的区块链安全公司,由一群享誉全球的安全专家于 2021 年创立。公司致力于提高新兴 Web3 世界的安全性和可用性,以促进其大规模采用。为此,BlockSec 提供智能合约和 EVM 链安全审计服务、用于安全开发和主动威胁拦截的 Phalcon 平台、用于资金追踪和调查的 MetaSleuth 平台,以及用于 Web3 构建者在加密世界中高效冲浪的 MetaSuites 扩展。

迄今为止,公司已为 MetaMask、Uniswap Foundation、Compound、Forta 和 PancakeSwap 等 300 多家知名客户提供服务,并在两轮融资中从 Matrix Partners、Vitalbridge Capital 和 Fenbushi Capital 等知名投资者处获得了数千万美元的投资。

官方网站:https://blocksec.com/

官方 Twitter 账号:https://twitter.com/BlockSecTeam

订阅最新动态
Autheo Network、UNCX 遭黑客攻击,损失约387万 USD | BlockSec 周报
Security Insights

Autheo Network、UNCX 遭黑客攻击,损失约387万 USD | BlockSec 周报

本周报告涵盖 2026年10月12日–2026年10月18日 期间的 3 起安全事件,估计总损失约为 387万 USD。Autheo Network 因私钥泄露损失约 176万 USD,Qubic Wallet 因种子生成机制薄弱损失约 130万 USD;UNCX Network 在 Ethereum、BNB Chain、Base 和 Robinhood Chain 上的 Smart Token Vesting V2 合约因会计核算错误损失约 80.7万 USD。重点分析的 UNCX 事件说明,有缺陷的总份额计算将按不同代币与份额兑换比率创建的归属批次混合计算,从而使人能够从共享资金池超额提取。

损失约54.2万美元:MakerDaoBot 漏洞利用事件|BlockSec 周报
Security Insights

损失约54.2万美元:MakerDaoBot 漏洞利用事件|BlockSec 周报

本报告涵盖2026/10/05至2026/10/11以太坊上的1起安全事件,估计损失约54.2万美元。攻击合约部署恶意适配器,并将其传入缺乏访问控制的MakerDaoBot函数,使机器人授予该适配器操作其内部MakerDAO余额的权限。适配器结算了4笔旧版ETH-A拍卖,将200单位ETH-A抵押品兑换为WETH;攻击合约随后将其解包,并向攻击者转出200 ETH。

损失约4.18亿美元:Bitget、NEAR Intents遭利用攻击 | BlockSec Weekly
Security Insights

损失约4.18亿美元:Bitget、NEAR Intents遭利用攻击 | BlockSec Weekly

本双周安全报告记录了2026年9月21日至10月4日期间发生的八起事件,涉及以太坊、BNB Chain、Solana、比特币、波场、XRP Ledger、Zcash、Avalanche、NEAR等网络,损失约4.184亿美元。详细分析涵盖Bitget因第三方安全产品漏洞损失3.875亿美元,以及NEAR Intents因退款验证缺陷和状态回滚缺失损失387万美元。

Web3 最佳安全审计方

在上线之前验证设计、代码与业务逻辑,对标业内最高安全标准。

BlockSec 审计