Zing 论坛

正文

LLM-assisted-analysis:用大模型检测智能合约逻辑漏洞的新思路

该项目探索如何利用大语言模型(LLM)检测以太坊智能合约中的逻辑漏洞,特别是传统静态分析工具难以捕捉的业务逻辑缺陷,如经济操纵、执行顺序错误等。

智能合约安全审计LLM大语言模型Solidity以太坊漏洞检测静态分析SlitherClaude
发布时间 2026/04/09 16:11最近活动 2026/04/09 16:18预计阅读 2 分钟
LLM-assisted-analysis:用大模型检测智能合约逻辑漏洞的新思路
1

章节 01

导读 / 主楼:LLM-assisted-analysis:用大模型检测智能合约逻辑漏洞的新思路

该项目探索如何利用大语言模型(LLM)检测以太坊智能合约中的逻辑漏洞,特别是传统静态分析工具难以捕捉的业务逻辑缺陷,如经济操纵、执行顺序错误等。

2

章节 02

问题背景:传统工具的盲区

智能合约漏洞远不止于代码层面的语法错误。许多真实世界的攻击源于复杂的业务逻辑缺陷:

  • 执行顺序错误:关键检查与状态更新顺序不当
  • 缺失验证条件:未对关键参数进行充分校验
  • 经济操纵:如 AMM(自动做市商)价格操纵攻击
  • 外部依赖导致的拒绝服务:依赖外部合约调用被恶意利用

这些漏洞的共同特点是高度依赖上下文和业务语义,传统静态分析工具基于模式匹配的方法难以有效识别。

3

章节 03

核心思路:结构化 LLM 分析流程

该项目没有简单地将 LLM 当作黑盒检测器,而是设计了一套结构化的分析流程来提高可靠性并减少幻觉:

4

章节 04

分析流程

Solidity 合约
    ↓
函数提取
    ↓
LLM 分析(按漏洞类型)
  ├─ 场景检查
  ├─ 属性验证
    ↓
静态确认(可选)
    ↓
结果聚合
    ↓
报告 + 指标
5

章节 05

关键设计决策

  1. 函数级分析:不是将整个合约作为大段文本输入,而是按函数粒度进行分析,降低复杂度
  2. 场景匹配:识别与特定漏洞模式相关的代码场景
  3. 属性验证:检查是否存在不安全条件
  4. 可选静态确认:结合轻量级静态检查进行交叉验证
6

章节 06

目标漏洞类型

项目重点关注传统静态分析难以检测的逻辑漏洞:

漏洞类型 描述 示例场景
外部合约 DoS 依赖外部调用导致拒绝服务 恶意合约故意耗尽 gas
滑点攻击 缺少最小输出检查 AMM 交易中价格被操纵
未授权代币转移 权限验证不足 任意用户可提取他人资金
计息顺序错误 状态更新时序问题 借贷协议利息计算错误
抢跑风险 交易顺序依赖 MEV 攻击
价格操纵 AMM/预言机价格操控 闪电贷攻击
中心化风险 管理员权限过大 单点故障/恶意管理员
7

章节 07

多模型对比评估

项目的一个亮点是系统性对比不同 LLM 提供商的表现

  • Claude (Anthropic)
  • GPT (OpenAI)
  • Gemini (Google)

所有模型在相同条件下评估:

  • 相同输入
  • 相同提示结构
  • 相同输出约束(JSON 格式)
8

章节 08

评估维度

  1. 检测能力:能否发现真实存在的漏洞
  2. 误报率:报告了多少不存在的漏洞
  3. 一致性:多次运行结果是否稳定
  4. 成本效率:每次检测的 API 调用成本