当前位置: 首页 > news >正文

ZetaChain 是一条内置跨链托管与消息传递的 Layer 1

ZetaChain 是一条内置跨链托管与消息传递的 Layer 1,其 PoS 验证者通过运行多链节点、以 TSS 联合签名的方式在 ZetaChain 与其他链之间传递消息并执行交易。

20260428,ZetaChain 遭受了跨链调用攻击,由于对跨链信息缺乏校验与限制,黑客通过构造恶意的跨链信息,将目标链上曾经对 Gateway 合约授权的用户的资金进行转移。

从 ZetaChain → Ethereum 的跨链流程:

  1. 用户在 ZetaChain 上调用 GatewayZEVM 的 withdrawAndCall(带资产)或 call(纯消息),指定 Ethereum 目标地址、Gas Token(ZRC-20)与 calldata。
  2. GatewayZEVM 将请求写入 ZetaChain 的 CrossChain 模块,生成一条状态为 PendingOutbound 的跨链交易(CCTX),明确 Ethereum 端需执行的交易参数。
  3. 验证者读取 CCTX,通过 TSS 密钥分片进行 MPC 式联合签名。达到阈值后,生成标准 ECDSA 签名,并由 ZetaClient 向 Ethereum 网络广播交易。
  4. Ethereum 执行
    • 若提取资产:TSS 交易触发 ERC20Custody 释放锁定的 ERC-20,或由 TSS 地址转账原生 ETH。
    • 若合约调用:TSS 交易直接调用 Ethereum 目标合约。
  5. ZetaClient 监听 Ethereum 结果:
    • 成功 → CCTX 标记为 OutboundMined,流程结束。
    • 失败 → 生成 PendingRevert,TSS 重新签名一笔回滚交易,经 GatewayEVM 将资产/消息退回 ZetaChain,最终触发 App 的 onRevert 兜底。
  • ZetaChain Tx:https://zetascan.com/tx/0xdaa19f9952b8d171ae3481a0b31b6c63d8ee4da03c5821663be5cdb29ddc4521
  • ZetaChain GatewayZEVM:https://zetascan.com/address/0xd9dbEec028C12D2dA09a05C9d26709c0Ec722BC1
  • Ethereum Tx:https://app.blocksec.com/phalcon/explorer/tx/eth/0x81fc9b2457b3ea66e2cefe2afe65d083ce358a11520e0f4aa5faad0bfea18a56
  • Ethereum GatewayEVM:https://etherscan.io/address/0x48b9aacc350b20147001f88821d31731ba4c30ed

这里参考了 SlowMist 推文中提到的两笔 tx,Ethereum 上发生的攻击交易好找,就是不知道 ZetaChain 上的交易是通过什么信息检索出来的,了解的读者可以指点一下小弟,十分感谢。

Trace 分析

在 ZetaChain Tx 中,攻击者调用 GatewayZEVM.call() 函数,传入以下参数:

  • receiver:设为 Ethereum 上的 USDT 地址
  • message:设为 USDT.transferFrom() 的 calldate

随后该笔跨链调用被验证者捕获,经过 TSS 的签名后,在 Ethereum 上被执行。

在 Ethereum Tx 中,执行了跨链信息,从 0x8f1a 中转移了 USDT。

代码分析

ZetaChain GatewayZEVM

由于 ZetaChain GatewayZEVM 在区块链浏览器上没有开源,所以通过 Github 的代码进行分析:https://github.com/zeta-chain/protocol-contracts-evm/blob/f8f4aef0ddc47a4de0734271db6063f459967c7f/contracts/zevm/GatewayZEVM.sol

可以看到 call() 函数没权限管理,任何人都可以调用。其次在参数校验方面,在打印 Called event 之前,进行了 validateCallAndRevertOptions 和 validateReceiver 两个校验。

validateCallAndRevertOptions 只检查了 gas limit 和 message size 两个方面。

validateReceiver 只检查了 receiver 地址为合约地址。

所以,由以上的代码可以得知,在 ZetaChain 上调用 GatewayZEVM.call() 函数所进行的参数检查是很宽松的。这也就导致了攻击者可以利用这个特点,构造恶意的跨链信息。

Ethereum GatewayEVM

跨链信息在被验证者捕获后,交由 TSS 签名,并在 Ethereum GatewayEVM 中通过 execute() 执行。权限控制:仅为 TSS_ROLE 调用。

进入到 _executeArbitraryCall() 函数,直接对跨链的目标合约与 calldata 进行调用。

基于上面的两个链上的 Gateway 合约代码,可以确认这个漏洞的影响范围是所有给 Ethereum GatewayEVM 进行过授权的用户。(按理来说其他 EVM 链也是一样的情况)攻击者可以跨链传入恶意的 message,利用 GatewayEVM 将已授权用户的资金转移。

后记

最近跨链桥多事之秋啊,前段时间 HyperBridge 才出了事情,今天又轮到 ZetaChain 了。写得比较匆忙,如果有不对的地方可以多多指教。最后,感谢你的阅读。

http://www.zskr.cn/news/1369759.html

相关文章:

  • 渗透测试入门真相:不是黑进系统,而是验证风险
  • 2026浙江成人教育机构大盘点:谁才是真正的卷王? - 奔跑123
  • 告别城市喧嚣!隔音窗选购全攻略,静华轩隔音窗打造安静居家环境 - 维小达科技
  • Cursor Pro破解工具完整指南:5步实现机器标识重置与永久Pro功能解锁
  • 如何用嘎嘎降AI处理新闻学论文:新闻学毕业论文降AI4.8元完整操作教程
  • 使用 Node.js 和 Taotoken 快速构建一个聊天应用后端
  • 分布鲁棒与风险感知优化:在不确定性中制定对抗性决策
  • 明日方舟MAA助手:5分钟快速上手的智能自动化工具终极指南
  • 2026年4月合肥GEO优化公司排名:口碑服务五家对比评测推荐 - 行业深度观察C
  • 完整实战指南:高效配置Realtek RTL8125网卡ESXi驱动的专业方法
  • macOS百度网盘高速下载破解:3步实现SVIP级别下载体验
  • C51变量固定内存地址定位的3种方法与实践
  • DVWA靶场搭建超详细教程:Linux服务栈深度配置指南
  • OBS高级计时器插件:7种专业模式让你的直播时间管理精准无忧
  • 洛谷 P3366 【模板】最小生成树 题解 1
  • 2026 南京品牌手表回收老店对比:添价收精准评估占据竞争优势 - 薛定谔的梨花猫
  • 3步解决微信缓存膨胀:CleanMyWechat实战指南
  • 5分钟掌握unrpa:解锁Ren‘Py游戏资源的全能提取工具
  • Maccy:macOS剪贴板管理的终极解决方案,重新定义你的复制粘贴效率
  • Loop:优雅的Mac窗口管理工具,让你告别杂乱桌面
  • 洗牌与重构:合肥“科技之都”背景下的AI营销服务商竞速赛 - 行业深度观察C
  • 2026年便携式荧光法溶解氧仪品牌排行榜:国产十强专业评测与选型指南 - 仪表品牌排行榜
  • 2026年,这家专业做料浆泵的公司有何独特之处?快来一探究竟! - 资讯纵览
  • 为Hermes Agent自定义模型供应商并接入Taotoken服务
  • TestDisk与PhotoRec:数据丢失救星的终极恢复指南
  • 初次使用 Taotoken 的 API Key 管理与访问控制功能体验
  • 初创公司如何借助Taotoken快速原型验证多个大模型能力
  • 2026年西安防水补漏行业合规经营机构梳理与不同场景消费选型参考 苏州防水补漏维修公司靠谱品牌排名 - 冠盾建筑修缮
  • 为什么92%的DeepSeek集成项目在Stage环境失败?——基于17个真实客户案例的故障根因图谱
  • Windows与iPhone的格式和解:揭秘HEIC缩略图背后的技术魔法