2026 年 9 月 18 日,GIWA 生态出了条好消息:入选 Upbit GIWA 生态孵化计划的 DEX GIWATER 宣布接入一款集换式卡牌应用,成为韩国市场第一家。GIWA 是 Upbit 参与共建的以太坊二层,一年前 Dunamu 注册 GIWA 商标时就开始有名声,热度一直在爬。

官宣八天后,一个挂着 DYORSWAP 名头的交易前端开张了——接下来十四个小时里,以太坊主网 1331 个独立地址往一个他们以为是「GIWA 桥」的合约里打进了 771.18 ETH。

这篇文章的每一条数据都是我们自己拉的:完整转账历史逐页翻完、存储槽、块级余额快照、洗钱链路。不转述截图,不引用二手数字。这个骗局值得拆细,因为它的核心手法刚好破解了币圈最流行的那条尽调建议:「存钱之前先去 Etherscan 查查合约」。

假 RPC 到底控制了什么

每个钱包都通过 RPC 端点和链通信。多数人从没关心过自己的 RPC 是什么,因为它永远是预配置好的。这正是这类攻击下刀的位置。

如果一个前端、教程或者「客服」让你把钱包指向攻击者控制的 RPC,攻击者就接管了你钱包的整个「所见」。你的私钥没有离开设备——也不需要离开。假链可以显示一笔「到账」的余额,可以确认一笔在任何地方都没发生过的交易,可以把任何一个假合约挂上正常的名字。

本案里,受害者的入口是 DYORSWAP 界面,带完整的跨链桥流程。假 RPC 让整场戏自洽:你存入,假环境显示资金「到了 L2」,体验上没有任何异样。盗窃在发生的那一刻不可见——因为盗窃就是那笔存款交易本身。

转账数据里有个细节说明这场戏搭得有多深:假 portal 在 Sepolia 上收到过 0.05 ETH、在 Arbitrum 上收到 0.01 ETH。有受害者被手把手引导配置了一整套自定义网络,连测试网凭证都配齐了,然后才被路由到主网存款。当一个「主网跨链」要求你添加测试网时,你已经站在别人的摄影棚里。

这是钓鱼的升级版:从伪造登录页升级到伪造一整条链的世界观。

已验证合约的戏法

收款合约是 0xba9938c0b96a70e6479661b915e7e481fe435ab2。拉它的代码:标准 ERC-1967 代理合约,implementation 存储槽指向 0xe89f13c5ee4033b2d3cd76c9d6958efbfe26d3c2——一个在 Etherscan 上完整验证过的 OptimismPortal2。

这里值得停一下。OptimismPortal2 是 OP Stack 真正的门户合约——OP Mainnet、Base 以及 GIWA 这类 OP Stack 二层网络在以太坊主网上接收存款用的就是这一族。攻击者做的只是部署一个代理,delegatecall 到那个真的、已验证的 implementation。谨慎的受害者存钱前查了 Etherscan,看到绿色对勾和正经的 OP Stack 源码。一切都「对」。但有两条致命的错误:

  1. 存储属于代理的部署者。打进这个合约的 ETH 躺在攻击者的代理里,不在任何官方 portal 里。
  2. L2 根本不知道这件事。OP Stack 的 L2 从官方 portal 地址发出的事件推导存款。一个长得一样的假 portal 发出一模一样的事件,什么都改变不了——不存在任何 GIWA 账本给这些存款记账的路径。不存在「链还是会认」的侥幸。

还有第三个问题,比前两个都大:GIWA 的主网不存在。官方文档原文写着 “GIWA Mainnet is currently under development”,当前唯一公开的网络是 GIWA Sepolia——一条测试网。真实的 GIWA 主网跨链存款对任何人、通过任何界面都不存在。这个骗局变现的是一个还没发生的上线。

假链上架:官方前端如何把骗局卖给了用户

DYORSWAP 不是钓鱼品牌,而且——这段会改写整个故事——它的官方前端也没有被绕过。DYORSWAP 于 9 月 27 日 08:06:45 UTC 在其认证 X 账号(@DYORSWAPDEX,约 1.65 万粉丝)发布安全事件公告,等于承认平台自己就是分发渠道:

「我们确认,此前识别的所谓 GIWA Mainnet 实为诈骗者搭建的假链。假网络使用了正确的 GIWA Chain ID (9134),这使它在我们最初的验证中显得合法。……不幸的是,已有重大损失经由欺诈性跨链桥发生。」

注意措辞。「我们此前识别的」(we previously identified)——DYORSWAP 曾经把这条「GIWA Mainnet」列为受支持网络。受害者不是被骗进了仿冒站;他们打开的是真 dyorswap.org,看到 GIWA Mainnet 和 Arc、Base、Arbitrum 并排列着,然后通过它跨链。公告还确认公司正在接洽安全团队做链上追踪、保全「聊天记录、RPC 信息、桥地址和链上交易」作为证据——并且准备动用金库资金赔偿受影响用户。赔偿承诺实际上等于承认:官方列表就是漏斗。

让它得逞的机制简单到令人沮丧:EIP-155 的 chain ID 不是身份。协议层没有任何东西阻止任何人跑一条自报任意 chain ID 的链。真 GIWA 测试网跑的是 91342(GIWA 官方文档),假主网按 DYORSWAP 公告的说法报了「正确的 GIWA Chain ID」(公告里写作 9134——可能是公告里的截笔也可能是攻击者自己的选择,我们把两个都记下,不替任何一方裁决)。如果一个多链平台的上架验证止步于「chain ID 和项目公布的对得上」,那么一条 ID 正确、RPC 攻击者可控的假链就能通过全部检查——然后平台把自己的域名、界面和信誉借给骗局。用户自己的尽调从头到尾没有出场机会:你不可能比托管按钮的平台更审慎。

这也把我们此前重建中悬着的问题全解开了——为什么存款全是以太坊主网普通交易(桥流程的 L1 侧:OP Stack 式的主网 depositTransaction,假链的 RPC 随便「确认」L2 到账,反正那条 L2 不存在)、为什么出现 Sepolia 痕迹(用户被引导走完整的加网流程)、为什么流量曲线像一场对准官方前端入口的协调推送。这是一次链层面的供应链攻击:不是假网站,不是假合约——是一条穿着正确 chain ID 的假网络,上架在真平台上。

(注:DYORSWAP 现在的公开文档列十六条支持链、没有 GIWA——那是事发后撤下假列表的状态。我们此前把该页面读成「GIWA 从未被支持」,犯的是快照谬误:今天的配置不能为昨天作证。)

对每个多链平台的刺眼结论:你的链上架流程是一道安全边界。chain ID 匹配是戏服,不是凭证。加固这道边界意味着带外验证——和链项目的官方渠道核对(官方公布的 RPC 域名、创世哈希、浏览器交叉验证,而不是候选链自报的元数据),并且把任何出现在项目自己官宣主网之前的「主网」默认视为假。对用户,教训落在另一头:平台上架即背书——所以你真正要投保的不再是自己的警惕性,而是平台的。

入金曲线:这是流量泵,不是搜索结果

2297 笔直接转账逐页拉完,形状自己会说话:

假 portal 入金时间线:绿柱为每 5 分钟入金 ETH,琥珀线为累计金额

按小时:转账笔数(柱)与 ETH(线),红色柱为爆发三小时

时间(UTC,9 月 26–27 日)笔数ETH
26 日 18:00–23:59161.13
27 日 00:00–01:5973.42
27 日 02:003211.22
27 日 03:00748174.57
27 日 04:00685269.00
27 日 05:00445225.59
27 日 06:0023449.28
27 日 07:0013120.30

第一晚是涓涓细流,一小时一两笔——零星受害者自己撞上钓鱼链接的自然节奏。然后 02:00 流量抬头,03:00 到 05:59 三个小时灌进 1878 笔、669 ETH——占全部赃款的 82%。这不是 SEO,不是口碑传播,是协调式分发:一条链接被同时推进有触达能力的渠道,最可能是韩语 TG 群和社交信息流,时间掐在韩国中午到下午(03:00–06:00 UTC = 韩国 12:00–15:00)散户刷手机的高峰。

入金金额印证散户盘:中位数小额,全场最大单笔只有 19 ETH,另有 89 笔共 16.71 ETH 的内部转账只来自两个中转合约——与假前端用路由合约归集部分存款的模式一致。这是一场针对人群的收割,定价人人可参与。

我们刻意不点名该时段任何推广账号:分发渠道常常不知道自己在分发什么,操盘手才是故事本身。但这个模式——上线前热度窗口里,一股协调流量对准假前端的爆发——会被复用。

出金:一笔扫走,然后 50 ETH 标准块

  • 9 月 27 日 07:29:59 UTC — 执行器合约 0xccc2aecf5d24f0ea30cf81ec0dbec59f19ddcd10(首笔活动就是这一分钟)收到操作员 EOA 发起的 executeTransaction 调用,一笔内部转账把 766.254042109579 ETH 从假 portal 转到 0x04a9c8d8fee491411bda28b68ad80f0122fc4134(交易)——全新地址,12 分钟后才开始自己的第一笔转出。块级余额核对:扫款前一刻假 portal 恰好持有 766.254 ETH,扫款后归零。
  • 07:41–07:53 — 目的地按 50 ETH 标准块向 0x8c563fc543f6ecc2c8c09eb09d82798f7a7f3da4 拆出 251 ETH(1 + 50×5)。
  • 07:57–08:05 — 同样手法向 0xec160acd00d95ebbbe0394161101eb577ca96b60 拆出 301 ETH(1 + 50×6)。
  • 其后 — 我们分析时,0xec16...6b60 已以 15 笔共 87 ETH 继续转往下一跳地址;0x8c56...3da4 尚未动过;根地址 0x04a9...4134 还持有 217.25 ETH。教科书式分层——拆分、扇出、待命(混币器、跨链跳、场外,随便哪个)。

资金流向:1331 名受害者 → 假 portal → 单笔扫出 → 50 ETH 标准块分层

账目精确闭合:总入 771.18 ETH,扫出 766.25,残余约 1.39 加 gas。出金没有任何即兴成分——执行器在使用的那一分钟才部署,扫款目的地是全新的,子钱包结构提前备好。这是一份带收尾清单的行动,在流量泵后的第二天早上 07:29 执行,比最后一笔散户入账(08:04)还早一个小时。

基础设施图谱

把部署记录、存储槽、资金流拼起来:

  • 操作员 EOA 0x119e68b59c44291f76324c76377b776d0b4dd38c — 9 月 26 日 09:47 UTC 首次主网活动,gas 由 0x016606ac...49ee(一个活跃史追溯到 2022 年的地址)注入 0.045 ETH。九小时后部署,再九小时后第一笔受害者入账。
  • 假 portal 代理 0xba99...5ab2 — ERC-1967,admin 槽 0x91afa0ac...2472,implementation = 已验证 OptimismPortal2。
  • 执行器 0xccc2...cd10 — 与 766.25 ETH 扫款同一分钟诞生并被使用。
  • 扫款目的地 0x04a9...4134 与子钱包 0x8c56...3da4、0xec16...6b60。

五个合约加一个 EOA,从第一笔 gas 到最后一笔拆分,总活跃时长约 22 小时。这套指纹——新 EOA 由老地址注资、穿着已验证代码的代理、即用即部署的执行器、50 ETH 标准块分层——可以用来比对未来的行动。完整转账数据集我们留档了。

合约审查:为什么每层检查都通过了

我们对存款合约的架构做了一次结构化审查(AI 辅助,DeepSeek v4 Flash,输入为我们自拉的链上状态)。结论与要点:

[Critical] 一个已验证的 OptimismPortal2 implementation 藏在仿冒的 ERC-1967 代理背后,加上假链环境,把 depositTransaction 变成了不可逆的 ETH 转移。任何 OP Stack 推导都永远不会认这些存款。

  • 代理/implementation 验证断层。代理持有余额和存储;admin 槽(0x91af...2472)随时可以换掉逻辑。验证 implementation 只证明字节码与源码一致——不证明这个代理是 canonical,也不证明它不可变。检测方法:读 EIP-1967 impl/admin 槽,三个地址全部对照官方文档和 L2Beat。
  • depositTransaction 语义被滥用。在真 portal 上它锁定 ETH 并发出 TransactionDeposited 事件;L2 推导只盯 canonical portal 地址。这里代理收下 ETH、可以发出长得一样的事件,但没有真的 L2 在听。检测方法:L1 交易成功只算桥存款的第一半,官方 L2 浏览器确认到账才算数。
  • 自定义 RPC 的链伪造。钱包信任 RPC 提供的链元数据,假环境让「GIWA」显得活着、显得有 Upbit 背书。检测方法:RPC 端点只从官方文档拿,chainId 和创世哈希独立验证。
  • URL 参数链配置。被 ?chainId= 驱动的多链前端,如果盲从钱包上下文,就成了一台不受信的配置加载器:谁控制 RPC,谁就控制链身份、合约地址和「成功」长什么样。给 dApp 开发者的检测方法:chainId → RPC → canonical 合约写死白名单,永远不从钱包提供的状态推导桥地址。

这套模式值得一句话讲透:用户被告知「查域名、查合约」。他们查了。两项都通过。攻击就住在这两项下面一层。

时机就是武器

每个环节都卡在 GIWA 的曝光曲线上。9 月 18 日 TCG 集成新闻把「GIWA 生态」送进信息流,八天后操作员地址苏醒。对一条主网没上线的链,「有名到值得搜」和「真实基础设施存在、可以对照」之间的窗口不是缝隙,是全部机会——没有 canonical 桥地址可以 diff,用户还没养成查官方文档的习惯,而一年多的 GIWA 新闻已经把人群的情绪调到了「想提前上车」。

韩国市场语境放大了效果。Upbit 用户群常年被仿冒钓鱼轮番轰炸,GIWA 热度本身已在 2025 年逼出过一次官方辟谣——Upbit 专门否认过一条「GIWA 链稳定币发行」的假消息。一个既兴奋又对风险提示疲劳的市场,正是假「早期跨链」转化率最高的地方。

按顺序验证一座真桥

  1. 主网到底存在吗?只看官方文档。项目自己的文档写着主网开发中——GIWA 今天就是这样——那么所有面向你的「主网桥」「提前存款」「创世流动性」都不是高风险,是虚构。
  2. RPC 端点只从官方文档域名拿。不从群聊、App 引导页、广告站点、热心陌生人拿。假 RPC 让后续一切校验失效——它是你钱包显示的所有东西的信任根。
  3. 核对地址,不是核对代码。任何 OP Stack L2 的 canonical portal 是一个具体地址,公布在官方文档和 L2Beat。一个验证过的 OptimismPortal2 出现在别的地址,只能证明攻击者抄了好代码。
  4. 把测试网痕迹当红旗。「主网跨链」流程要求你添加测试网、在你没选过的网络上批准合约,就是在给你搭台演戏。
  5. chain ID 是戏服,不是凭证。协议层拦不住攻击者的链自报和真项目相同的 ID。验证一条「新主网」要带外取证:项目自己的官宣、官方 RPC 域名、创世哈希——而不是候选链的自我介绍。出现在多链应用上、但项目自己还没官宣主网的「主网」,默认是假的。
  6. 警惕流量来源。中午饭点从群聊里炸出来、而不是官方渠道触达你的「GIWA 应用」,这个传播路径本身就是本案的特征。一个「GIWA」或上线前应用的链接正在 TG 群里刷屏,刷屏这件事是警报,不是社会证明。
  7. 如果已经发生:停止使用那个钱包会话,保存 URL 和交易哈希,然后按钱包被盗后的行动清单处理。

值得记住的形态

剥掉韩国市场的具体外衣,这个结构可以整体移植:一个上线前的窗口、一个有名的名字、一股协调的流量泵、一套自洽的假环境、一个干着从未被授权的活的真合约。同样的配方对任何 L2 上线前、任何「生态合作伙伴」官宣、任何接受自定义 RPC 的钱包都有效。

防御方式很朴素也很绝对:主网不存在的时候,就没有任何东西可跨。告诉你 otherwise 的人,确实赶上了什么早期——只是不是那条链的早期。

链上数据为写作时通过 Etherscan API 及块级余额查询取得,余额和活动此后可能已变化。涉案地址:假 portal 代理 0xba99...5ab2 · 已验证 implementation 0xe89f...d3c2 · 操作员 EOA 0x119e...d38c · 执行器 0xccc2...cd10 · 扫款目的地 0x04a9...4134 · 子钱包 0x8c56...3da4、0xec16...6b60。

常见问题

假 RPC 攻击是什么?会偷我的私钥吗?

假 RPC 攻击替换的是你钱包连接的服务器,不是你设备上的私钥——攻击者根本不需要你的私钥。谁控制 RPC,谁就控制你钱包显示的一切:可以让「跨链到账」看起来真实发生,可以确认任何没发生过的交易,可以让任何合约顶任何名字。盗窃就是那笔存款交易本身,由你在一个所见皆假的环境里亲手签名完成。本案里甚至有受害者被手把手引导配置了整套假链(连测试网都配了)——Sepolia 上有一笔 0.05 ETH 打进了骗局地址。

Etherscan 显示合约已验证,不是说明安全吗?

不是。绿色对勾的含义是「这份字节码与公开的这份源码一致」,不是「这个地址是某条链的官方合约」。0xba99 这个代理指向的 implementation 是真的 OptimismPortal2(本身确实已验证)——任何人都能部署一个代理指向任何公开的已验证源码。要核对的是地址本身:官方文档或 L2Beat 上列出的 canonical portal 是不是这一个,而不是代码看着正不正经。

这次总共被骗了多少?多少人受害?

按我们逐笔拉取的完整数据:9 月 26 日 18:18 到 9 月 27 日 08:04 UTC,以太坊主网 1331 个独立地址共打入 771.18 ETH——2297 笔直接转账 754.46 ETH,加 89 笔经两个中转合约路由的内部转账 16.71 ETH。Arbitrum 上另有 0.01 ETH、Sepolia 上 0.05 ETH 的零星存入。最大单笔 19 ETH,主体是散户小额。9 月 27 日 07:29 UTC 一笔内部转账扫出 766.25 ETH。

DYORSWAP 是行骗方还是被黑了?

按现有证据两者都不是:DYORSWAP 是被骗的平台。其官方安全公告确认假 GIWA Mainnet「使用了正确的 GIWA Chain ID (9134),使它在我们最初的验证中显得合法」——即 DYORSWAP 把假链当作受支持网络上架,用户经官方列表入口跨链,平台现在正动用金库赔偿。骗局是一条穿着真 chain ID 的假网络,上架在真前端上。存款合约(0xba99...5ab2,指向已验证 OptimismPortal2 的代理)从不在 DYORSWAP 的合法配置里——它是假链上下文里的桥目标。

被骗的钱去哪了?

9 月 27 日 07:29 UTC,全部赃款从假 portal 转到全新地址 0x04a9...4134。36 分钟内开始按 50 ETH 标准块拆分:251 ETH 给 0x8c56...3da4(我们分析时仍未动),301 ETH 给 0xec16...6b60(已继续以 15 笔共 87 ETH 转往下一跳)。根地址当时还持有 217.25 ETH。典型的混币前置分层,截至写作时未观察到交易所充值。

怎么验证自己连的 RPC 和桥是真的?

两个都只从项目官方文档域名拿——GIWA 的官方文档是 docs.giwa.io,端点公布在那里,且当前明写主网开发中。永远不要接受来自群聊、App 引导页、广告站点或「热心网友」的 RPC 地址或链配置。拿到桥合约地址后对照官方文档或 L2Beat 核对。最重要的一条:主网没上线的项目,「提前跨链」「创世流动性」不是高风险,是虚构——不存在的东西无法参与。