Symmetry Sniper Skill 半年发现20个关键漏洞

zerocool_ai 发布于 2026-06-24 阅读 120

Symmetry Sniper是一种新的安全审计技能,专注于发现智能合约中配对操作(如存款/取款、铸造/销毁)之间的对称性破坏漏洞。它通过在文档、命名、事件、接口或测试中确认两个函数本应对称后,直接比较它们的状态写入、资产移动、授权、舍入和边界情况,找出可能破坏不变量、授权不匹配、收费不对称或批量绕过的问题。该技能已在六个月内发现240个已确认问题,包括20个关键、105个高、115个中等级别漏洞,并在Panoptic和Alchemix V3审计中成功应用。

图像

Symmetry Sniper 是 Zero Cool 推出的最新 Zero Skill。Skills 是 Zero Cool 在寻找安全漏洞时使用的多种方法之一。要了解更多关于 Skills 的信息,请查看我们之前的文章:这个 Skill 保证能赚 10,000 美元,否则退款! Vyper Vanguard 介绍

Symmetry Sniper 已经运行了六个月。在此期间,它发现了 240 个已确认的问题,包括 20 个严重、105 个高、115 个中等。难以置信,对吧?

智能合约是成对构建的

这些操作本应是彼此的镜像。一个向某个方向改变合约的状态,另一个预期将其恢复。当这种对称性被打破时,微妙的漏洞就会出现:值可能在一次往返中泄漏,一个验证可能保护了一条路径但没有保护其对应路径,或者记账可能在入口更新而在出口被遗忘。

Symmetry Sniper 寻找这类问题。大多数检测器扫描一个危险的原始操作。这个检测器扫描一个被破坏的关系,因为漏洞很少单独存在于某个函数中。它存在于两个本应一致的函数之间的鸿沟中。

在评判之前先建立对称性

这种视角的失败模式是发明一个协议从未预期的镜像。所以该技能不会猜测。它只会在从文档、命名、事件、接口或测试中确定两个函数意在镜像,或者单个路径和批量路径作用于同一个核心状态时,才继续执行。然后它直接比较两侧,查看每个写入的状态、每个移动的资产、每个强制执行的授权、每个的舍入方式,以及每个如何处理零值和边界情况。

一个可报告的问题必须具有可衡量的影响,例如:

  • 不变性破坏
  • 授权不匹配
  • 费用或舍入不对称
  • 批量绕过

Symmetry Sniper 迄今为止发现了什么?

Panoptic。在 Code4rena Panoptic: Next Core 比赛中,Symmetry Sniper 标记了发布为 H-01 的问题。BuilderWallet 的 init() 未受保护且可重新初始化,因此任何人都可以覆盖构建者管理员,然后通过 sweep() 清空钱包。一个 init 路径没有与合约其余部分假设的访问控制相对应的部分。

Alchemix V3。Symmetry Sniper 在 Alchemix V3 中发现了一个中等严重性问题,该问题是 Zero Cool 报告的一部分,促使团队决定延迟发布以修复发现的问题。

这些都不特殊。两者单独看起来都是干净的,直到你将两侧并排放置。这正是重点。

发布它

Symmetry Sniper 已在 Zero Skills 仓库中上线。给 Zero Skills 仓库点个星标以捕获下一个。

图像

代号:Symmetry Sniper

---
---
name: symmetry-sniper
description: 在配对智能合约操作中查找不对称逻辑,这些操作本应彼此镜像(存款/取款、铸造/销毁、质押/解除质押、添加/移除、开仓/平仓,以及单路径与批量变体),其中不匹配破坏了不变性,遗漏了仅在一侧存在的检查,或者允许攻击者通过往返操作提取价值。在审查暴露配对或反向状态变更入口点的合约时使用。
---

分析代码库中的对称性违规:成对的操作本应是逻辑逆操作或严格镜像,但在破坏不变性、绕过检查或创建获利和泄漏路径的方式上存在差异。

仅报告可能导致不变性破坏、未授权状态变更、价值提取、资金泄漏、资金锁定或攻击者可强制执行的记账漂移的问题。文档化且安全的差异、仅限内部且攻击者无法触及的差异,或者未影响安全关键状态的差异,不属于发现。

## 适用门控

如果存在以下任一情况,则继续:

- 通过命名、文档、测试、事件或接口明显的操作对(存款/取款、铸造/销毁、质押/解除质押、添加/移除、开仓/平仓)
- 作用于相同核心状态或资产的单路径与批量变体(doX 与 doMany/multicall)

否则,不要强行报告发现。

## 高信号探测

### 1) 映射候选对

使用命名、事件、接口和测试来识别意在镜像的操作。包括路由器与包装函数以及它们调用的底层核心函数。

在判断任何差异之前,先建立预期的对称性。如果没有实际意在镜像的对,则不要报告。

### 2) 对对中的状态和值进行差异分析

对于每一对,直接比较两侧:

- 状态更新(哪些映射、结构字段和总计发生变化,以及变化多少)
- 资产移动(代币/ETH 转账、费用收集、销毁、托管变更)
- 边界情况(零、最大值、边界条件、部分填充、取消路径)

如果这对未能保持或正确反转其跟踪的量(份额、totalAssets、余额、债务),并且攻击者可以获得价值或锁定赎回,则报告。

### 3) 授权对等性

检查一侧的每个敏感守卫是否在另一侧有对应项:角色、所有权、白名单、暂停、限制。

如果检查存在于一侧但在其对应侧缺失,导致未经授权的退出、取款、销毁或平仓,则报告。

### 4) 舍入、费用和往返操作

查看每一侧舍入的方向以及费用如何在整个循环中应用。

如果攻击者可以往返操作一对以提取价值或跳过费用,或者重复循环产生对攻击者有利的漂移,则报告。

### 5) 批量与单路径对等性

对于批量和 multicall 操作,每个项目的行为必须与单路径匹配:

- 每个项目的验证和访问控制得以保留
- 限制和上限按预期应用于每个项目或每批,且不能被绕过
- 失败处理是有意的(原子性或部分性),不会导致 griefing 或记账漂移

如果批量路径跳过了单路径强制执行的检查或约束,并且攻击者可以利用它,则报告。

想了解更多关于 Zero Cool 的信息吗?

如果你是一名安全研究员或开发者,有兴趣使用 Zero Cool 来保护你的协议,请立即联系我们申请演示(私信开放!)或访问我们的网站 www.zerocool.ai

  • 原文链接: x.com/ZeroCool_AI/status...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~

相关文章

0 条评论