1 / 8 · 准备阶段
攻击者先改网页
当前参与者:攻击者 → Safe 发布环境
Bybit 尚未开始本次审批。
官方网页已包含恶意脚本。脚本等待目标钱包出现。
钱包仍由原有规则控制。
Safe 可以隔离开发者设备、撤销云端会话。发布校验可以阻止恶意脚本上线。
事件调查 · 2026 年 10 月 30 日
Bybit 管资产,Safe 提供钱包软件。
追查审批网页如何成为资产失窃的入口。
取证与链上记录 公司自报 未公开/研究判断
本次损失约为 14 亿至 15 亿美元。报道差异涉及估值时点与资产口径。报告包含注明出处的原图与教学示意。原图的证据范围见各图注。本次未找到同等证据支持另一宗更早的大额失窃。[6][9]
Bybit 使用 Safe 软件管理这只冷钱包。Bybit 的授权人员负责签名。Safe 提供钱包合约与操作网页。BlockSec 则发表了事后链上分析。这三种角色需要分开理解。[2][7]
| 机构 | 角色 | 与 Bybit 的关系 |
|---|---|---|
| Bybit | 交易所、受害方 | 管理客户资产。其授权人员批准钱包交易。[2] |
| Safe | 钱包软件与网页提供方 | Bybit 使用其多重签名钱包。此次入口在 Safe 开发者和网页发布环境。[3] |
| BlockSec | 外部链上分析机构 | 事后分析恶意交易与攻击演练。本文引用其研究。[7] |
| Sygnia、Verichains | Bybit 聘请的取证机构 | 检查设备、网页资源与攻击痕迹。[8] |
| AWS | Safe 网页的云端基础设施 | S3 存放网页资源。攻击者篡改其中的脚本。[2] |
| Hacken | 储备证明检查机构 | 核对资产覆盖。其说明明确排除安全评估。[14] |
| FBI、德国 BKA | 执法机构 | 分别公布攻击归因、查封相关兑换平台。[9][12] |
BlockSec 的分析文章能支持技术结论。它不能证明 BlockSec 负责 Bybit 的托管或签名。本文也未核实其事前审计职责。Sygnia 与 Verichains 的受聘关系则有公告支持。[7][8]
Safe 网页在浏览器中运行。它帮助用户准备交易,并显示审批内容。Safe 钱包合约在以太坊上运行。它按规则检查签名,并执行交易。资产记在链上,不在 Safe 的网页服务器里。[7][19]
网页准备交易数据。
Bybit 在此查看审批内容。
签名者使用自己的密钥。
多名签名者达到所需门槛。
合约检查签名与交易数据。
检查通过后执行指令。
此次攻击从第 ① 步进入。恶意网页让第 ② 步签署了错误指令。第 ③ 步接受有效签名,执行钱包控制逻辑变更。
BlockSec 位于审批流程之外:研究者事后读取公开链上记录,解释第 ③ 步发生了什么。
控制网页本身还不足以转走资产。攻击者还需要 Bybit 授权人员的有效签名。此次网页显示正常转账,却让他们签署恶意数据。签名验证通过后,钱包改用攻击者的执行逻辑。攻击者随后转走资产。[2][6]
这条路径没有要求 Safe 持有 Bybit 的私钥。攻击者利用了 Bybit 对审批网页的信任。多重签名检查谁签署了哪些数据。它无法单凭签名判断屏幕是否准确显示数据。多名签名者依赖同一网页,便共享同一个信息风险。
研究判断:冷钱包仍需要安全的交易准备流程。硬件保护密钥,多重签名分散授权。两者都需要独立核对真实交易内容。网页一旦篡改内容,审批环节必须能够发现差异。
目标是第三方钱包服务商 Safe 的开发者。Sygnia 披露,其 macOS 电脑在 2 月 4 日遭入侵。入口涉及社工诱导执行恶意 Python 应用。[3]
社工诱导运行恶意应用。
攻击者控制工作电脑。
窃取已认证会话令牌。
访问云端资源。
修改 S3 上的脚本。
恶意代码到达 Bybit 签名者。
公开记录未交代完整诱导话术。聊天平台、冒充身份与具体合作关系仍不清楚。Elastic 在复现报告中明确列出这些信息缺口。不能把“假招聘”或“熟悉的开源贡献者”写成定论。[4]
| 环节 | 已知能力 | 不能据此推断 |
|---|---|---|
| 开发者设备 | 恶意应用获得执行机会。[3] | 尚未核实特定 macOS 零日漏洞。 |
| AWS 身份 | 攻击者盗用有效会话令牌。[3] | 不能称为破解 MFA 算法。 |
| 持续访问 | 尝试注册新 MFA 设备,但未成功。[4] | 不能据此声称取得 AWS root。 |
| 生产发布 | 最终可改写 S3 上的网页脚本。[2][5] | 完整 IAM 策略与提权步骤未公开。 |
有效会话令牌代表已经通过认证的会话。盗取令牌后,攻击者可使用会话现有权限。因此,风险从本地执行扩大为云端访问。具体角色切换、权限新增与令牌存储方式仍未知。[4]
PyYAML 与 Docker 的位置
SlowMist 分析了同类恶意项目。其不安全 YAML 反序列化可执行远端代码。报告也描述诱导开启 Docker 特权配置。[17]
Elastic 用相关样本复现这类入侵。部分加载器、云端流程属于演练假设。现有证据不足以把完整复现路径等同 Safe 现场。[4]
研究判断:关键权限问题是开发者身份能触及生产发布物。是否存在额外漏洞提权,需要原始身份与访问日志才能回答。
2 月 4 日至 21 日相隔约 17 天。恶意网页从 2 月 19 日到 21 日存在约 2 天。前者描述入侵到失窃的日历间隔。后者描述已知网页污染窗口。它们均不代表精确在线时长。[3][5]
注册后续使用的控制域名。[3]
macOS 设备执行恶意应用。[3]
盗用会话令牌,随后侦察云端资源。[3]
钱包控制逻辑改变,资产随后转出。[6]
调查报告记录资源恢复的时间差。[5]
BlockSec 找到提前约两天的链上测试。攻击者部署测试 Safe 钱包及攻击合约。测试过程包括替换执行逻辑、提取资产。测试资产与 Bybit 目标钱包资产相符。正式攻击的升级调用与此前测试一致。[7]
链上测试说明攻击者验证了结果。它不能证明攻击者提前知道全部内部值班安排。[7]
这篇报告把链下签名与链上执行分开解释。以下两图保留原图内容。先读链下图,再看链上图。打开完整报告。
NCC 原图 1 · 多人如何签署同一恶意消息
这里存在两种“有效”。签名匹配恶意消息,却不匹配恢复后的正常消息。代码还原数据对象,不等于撤销签名。报告第 3—6 页据此分析 Gateway 的一致性校验缺口。
这是 NCC 根据代码与服务行为提出的重建。其第 6 页还记录了事后校验改动。不能把文章中的每个推断当作完整后台日志。
NCC 原图 2 · 攻击者如何使用已有签名
图中第 1 步由攻击者提交。足够签名构成执行授权,提交者无需再成为签名者。因此,“Bybit 不点提交”不能收回已流出的授权。
第 2—3 步改变执行合约地址。函数虽名为 transfer,其代码实际写入存储槽 0。名称不能证明它只是转账。第 4 步才是后续提款。
讲解重点:网页恢复正常内容 → 恶意签名仍保留 → 攻击者收集并提交。签名后的页面内容、签名实际绑定的消息,以及提交交易的人,是三个不同问题。
出处定位:第 3—6 页解释数据替换与 Gateway;第 7—8 页展示签名字段与设备;第 9—11 页解释控制逻辑变更与攻击者提交。原图 B、C 已在下一节保留。
先修正一个过度简化:签名设备不一定只显示摘要。支持结构化消息的界面可以显示字段。问题是字段能否让人理解实际操作。下图区分参考界面、研究者复现和链上分析。它们都不是 Bybit 员工当时的完整屏幕录像。
BlockSec 的文章发表于 2025 年 2 月 25 日。它当时仍未确认网页入侵的具体入口。本文用后续取证补足这一点,不把早期推测写成现场事实。
原图 A · Safe 界面参考,不是 Bybit 现场
请看右侧确认计数和 Confirm 按钮。它们帮助区分“准备交易”“收集确认”和“可执行”。这张图不能证明 Bybit 当时看到相同字段。图里的 Delegate call 也不单独证明恶意;合法操作也能使用该调用方式。
原图 B · NCC Group 复现的签名请求对照
| 字段 | 左侧 → 右侧 | 含义 |
|---|---|---|
| To | 0xf89d7…EaA40 → 0x96221…C7242 | 调用对象改变。 |
| Value | 999000000000000000 → 0 | 复现中原生 ETH 金额从 0.999 变成 0。零金额不代表没有资产风险。 |
| Data | 0x → 一长串字节 | 新增合约调用指令。必须解释其作用。 |
| Operation | 0 → 1 | 改用 delegatecall。外部代码能在钱包自身的存储环境执行。 |
这张图说明,独立钱包界面能够出现可核对的差异。“肉眼绝对看不出差别”不准确。但长地址、金额单位和嵌套调用不直接解释业务结果。也不能只因 Operation 为 1 就认定恶意。检查需要匹配本次批准的用途。
原图 C · 实物设备上的研究复现
这就是“在设备上确认”的具体含义:设备先显示消息字段,最后要求持有者按住确认。图中 Data 仍是字节串。能显示字段,与能解释“将更换钱包执行逻辑”,是不同能力。不能从这些照片推定现场设备的显示内容。
原图 D · 攻击者的链上演练
读图顺序:先看 TestingSafeWallet,再看 masterCopy 的变化。这里的 masterCopy 是钱包使用的执行合约地址。测试将它改为恶意地址。此图属于演练,不能计入 Bybit 的实际资金损失。
原图 E · Bybit 钱包的实际链上执行
上方 masterCopy 一行显示钱包改用了另一地址。下方三行 ecrecover 属于签名核对过程。随后执行恶意合约调用,最后出现 ExecutionSuccess。这些链上记录说明有效授权完成了控制逻辑变更。它们不证明签名者理解了这项变更。
原图 F · 先改变钱包,再执行提款
从下往上读红色标注。第一次调用改变执行逻辑,后续调用才提款。Amount 列的 0 ETH 只是交易附带的原生币金额。它不能代表合约执行没有转出资产。提款结果需要检查内部执行与代币余额变化。
讲解时按 A → B → C → E → F 阅读。A 说明操作界面。B、C 说明签名对象与设备确认。E、F 说明控制权变化和提款。D 补充攻击者事前测试。下面的互动示例只用于演示机制,不取代这些原始资料。
把讲解者放在 Bybit 签名者的位置。任务始终是“向运营钱包发送 100 ETH”。先只看签名者的屏幕,再揭开交易数据。正常流程是机制示例。攻击流程依据公开取证说明。五个阶段不是已核实的现场点击顺序。金额、余额、人员和界面均为教学设定。
本例从操作人员已准备好转账开始。签名者依次打开网页、核对申请、确认设备,再等待其他人签名与提交。岗位可以重合。这里没有复原某位员工的完整点击记录。[2][5]
Bybit 冷钱包 · 审批示意
待确认转账待核对
签名设备 · 示意屏幕
交易摘要
0xA1…DEMO未完整解释操作
发送 100 ETH 给运营钱包。
显示内容与签名数据一致。
运营钱包收到 100 ETH。冷钱包的执行逻辑不变。
Bybit 冷钱包 · 审批示意
待确认转账待核对
签名设备 · 示意屏幕
交易摘要
0xB2…DEMO未完整解释操作
调用恶意合约,更换钱包执行逻辑。
显示内容与签名数据不符。
钱包改用攻击者的执行逻辑。攻击者随后另发交易转走资产。
讲解提示:请朋友只看两边网页,指出哪里值得怀疑。此时网页没有提供可靠的区别。支持结构化消息的独立签名界面可显示不同字段,见原图 B。
两列同步推进。比较不表示两笔交易曾在现场并列显示。摘要使用虚构示例值;差异表示签名数据不同。普通正常交易的摘要本来也会变化,不能只凭“与上次不同”判断攻击。设备显示随软硬件版本而变,本图不代表真实设备截图。
| 观察项 | 平时 | 此次风险 |
|---|---|---|
| 网址 | 打开 Safe 官方网站。 | 仍是官方来源。网址正确不能证明脚本未遭篡改。 |
| 收款方与金额 | 网页正确解释交易。 | 网页保留正常转账的外观,签名数据却不同。 |
| 人的操作 | 核对、确认设备、等待其他签名。 | 动作可以相同。恶意脚本在签名前替换数据。 |
| 设备摘要 | 摘要对应正常交易。 | 摘要对应恶意交易。没有独立计算的预期值,人无法从摘要读出意图。 |
| 多人确认 | 多名人员授权同一笔正常交易。 | 多人共享受污染的信息来源,真实签名共同授权恶意数据。 |
| 链上结果 | 转账完成,钱包规则不变。 | 先改变执行逻辑,再发生攻击者提款。该差异不应等到执行后才发现。 |
风险来自屏幕解释与签名对象之间的差异。签名者可以使用正确网址、保护好私钥,并完成规定的点击动作。若缺少独立交易核对,签名仍会授权错误操作。独立工具应读取实际待签名数据,检查其是否匹配内部转账申请。[5][6]
硬件设备签署的是交易数据,不是网页截图。浏览器可以同时保留两份内容:一份供人阅读,一份交给签名设备。此次恶意代码在签名前替换后一份内容。签名完成后,页面又恢复显示用的数据。[5]
可以把它理解为两张内容不同的付款单。人读到“转入运营钱包”,签名设备收到“修改钱包执行逻辑”。设备证明某个密钥批准了这些数据。它不证明网页准确解释了这些数据。数据在签名前已经改变。签名后再改变同一交易的数据,原签名通常就无法通过验证。
动画按角色归纳过程。Bybit 操作人员与签名者属于业务方。Safe 开发者属于软件提供方,早先成为入侵目标。攻击者负责植入脚本及提款。合约与以太坊网络按程序处理交易。BlockSec 属于事后分析方。角色拆分不代表这些岗位由不同个人担任。[2][3][7]
教学示例 · 金额 100 ETH、地址简称、人员 A/B/C 与 3 人门槛均为演示设定。界面重新绘制,不是 Safe 原版截图。设备也不是具体品牌的真实界面。
0xCOLD…DEMO用途:补充运营钱包资金
签名者手中的硬件设备 · 示意
私钥留在设备中。
—设备签署数据摘要,不读取上方网页截图。
教学透视:实际数据的含义
向运营钱包转账这一栏供读者看。事发审批者没有看到这份清楚的解释。
示例将签名、授权凑齐和链上执行拆开。时间间隔不代表现场速度。交互只改变本页展示,不连接钱包、不生成签名、不提交交易。[5][6]
1 / 8 · 准备阶段
当前参与者:攻击者 → Safe 发布环境
Bybit 尚未开始本次审批。
官方网页已包含恶意脚本。脚本等待目标钱包出现。
钱包仍由原有规则控制。
Safe 可以隔离开发者设备、撤销云端会话。发布校验可以阻止恶意脚本上线。
2 / 8 · 仍可停止
当前参与者:Bybit 操作人员 → Safe 网页
操作人员想把冷钱包资产转入运营钱包。网页显示这一正常用途。
浏览器准备供签名使用的交易数据。此时还没有完成授权。
钱包未改变,资产未转出。
Bybit 可以用独立工具读取真实交易。独立工具不能继续信任同一网页的解释。
3 / 8 · 关键检查点
当前参与者:浏览器中的恶意脚本
审批者仍看到正常转账。屏幕上的地址和金额让人以为指令正确。
恶意脚本替换待签名字段。实际效果变为修改钱包执行逻辑。
这时改变的是待签名数据,链上钱包尚未改变。
独立解析或模拟应显示控制逻辑变更。普通转账策略应拒绝这种操作。
4 / 8 · 签名开始流出
当前参与者:Bybit 签名者 → 各自的签名设备
签名者以为自己批准正常转账。硬件设备未给出足够清楚的完整操作解释。
设备用私钥对实际交易数据的摘要签名。恶意数据得到真实签名。网页随后恢复显示用的数据。
私钥可以一直没有泄漏。签名已经授权了错误数据。
尚未达到门槛时,拒绝继续签名可以阻止凑齐授权。已交出的签名不能靠关闭网页收回。
5 / 8 · 授权危险点
当前参与者:多名 Bybit 签名者 → 交易提交者
每个人都以为其他人也核对了正常转账。
同一恶意交易获得足够签名。持有交易和签名的一方可以提交执行。
授权已足够,但链上控制权尚未改变。
自家系统可以停止提交。若别人已取得完整签名包,仅停止自家系统不够。必须争取链上处置,且不保证成功。
6 / 8 · 紧急竞速
当前参与者:交易提交者 → 以太坊网络
关闭页面或撤回内部审批,已不能自动删除网络中的交易。
网络收到恶意交易与有效签名,等待链上执行。NCC 报告将实际链上提交者识别为攻击者。
尚待执行,不等于安全。留给响应的时间不确定。
未执行交易的处置属于竞速。不能保证抢先使恶意授权失效,也不能假定所有待执行交易都可见。
7 / 8 · 控制权失守
当前参与者:Safe 钱包合约 → 攻击者的执行逻辑
审批者原本只想转账,此刻钱包控制规则已改变。
合约验证签名后执行恶意指令。钱包的执行合约地址改为攻击者指定的地址。
原有审批规则不再提供可靠保护。攻击者已取得资金转出能力。
常规审批撤销已来不及。必须按钱包失陷响应,判断是否仍有可行救援。不能假定原签名者可直接恢复。
8 / 8 · 转入资产追索
当前参与者:攻击者 → 收款地址;响应方开始追索
Bybit 发现资产流出。安全团队联系追踪机构、平台与执法机构。
后续提款交易把资产转出。链上转账没有银行式退款按钮。
在已确认的链上状态下,原钱包无法单方撤回资产。
追踪与止损仍继续。平台冻结、扣押和返还需要控制条件与法律程序;不能保证全部追回。
审批网页写的是“向运营钱包转账”。独立工具需要从实际待签名数据计算结果。它应指出:交易调用外部合约,改变钱包执行逻辑。安全策略据此拒绝签名。
核对者必须确认工具检查的交易,与设备将签署的交易完全相同。只把网页上的说明再读一遍,无法发现被替换的数据。
两个时间点不能混为一谈。签名凑齐时,危险授权已形成。恶意交易执行成功时,控制权才在链上改变。资产随后转出后,工作转向冻结与追索。流程暂停、网页关闭和内部撤销,都不会自动撤销已经形成的链上结果。
恶意代码按钱包地址定向触发。签名前,它替换交易字段。签名后,它还原界面使用的数据。其他用户访问同一网页不一定看到异常。[5]
Safe 代理钱包使用另一份合约中的执行逻辑。恶意交易以 delegatecall 修改钱包存储槽 0。这个位置保存执行合约地址。修改后,钱包执行攻击者的代码。[6]
| 字段 | 此次用途 |
|---|---|
to | 指向攻击者部署的合约。 |
operation = 1 | 在钱包自身存储环境执行外部代码。 |
data | 包含替换执行合约地址的参数。 |
| 存储槽 0 | 改为恶意执行合约地址。 |
依据 NCC Group 的代理合约与交易参数分析。[6]
三名签名者的电脑进入取证范围。多重签名接受了真实签名,未能识别错误意图。被盗资产包括约 401,347 ETH 及相关代币。全部美元损失不能只按原生 ETH 数量理解。[2][6]
硬件钱包保护私钥,但复杂操作仍需要可读解释。BlockSec 指出盲签风险。多个签名者若都依赖同一网页,检查仍共享同一错误来源。[7]
研究判断:独立审批必须独立解析待签名数据。增加审批人数无法单独消除共同显示来源的风险。
攻击者在失窃后迅速兑换、拆分和跨链。Elliptic 记录,相关代币先换成 ETH。资产随后分散到约 50 个钱包。最初的钱包到 3 月 3 日已清空。多数 ETH 后来兑换成 BTC,部分进入混币流程。[11]
相关代币 → ETH。
原生资产无中央发行人冻结开关。
ETH → 多个地址 → BTC。
更换链和服务,增加追踪工作。
掩盖不同资金之间的关联。
交易所或托管机构仍可冻结账户。
完整兑换路径与实际到账额未公开。
不能把链上搬移全部计为套现。
eXch 是公开追踪中的兑换服务之一。资金从钱包转出,只说明位置改变。追踪、冻结、扣押和返还分别需要不同证据。
实名审核通常称为 KYC,即了解客户。受监管平台承担客户识别等反洗钱义务。但全球规则与执行并不一致。FATF 在 2026 年仍指出离岸服务的监管缺口。钱包之间也能直接转账,不必每次经过交易所。[20][21]
有实名资料,不代表已识别资金的真正控制者。平台还需要核对身份真实性、资金来源与实际受益人。开户证件上的姓名,也可以是中间人的姓名。FATF 记录了无牌服务商冒充个人客户的情况。它们借用持牌平台提供服务,隐藏下游客户。[20]
| 环节 | 发生什么 | Bybit 证据边界 |
|---|---|---|
| 币种兑换 | ETH 换成 BTC。资产仍是加密资产。 | 链上研究记录了大量兑换。不能据此认定已收到法币。 |
| 隐藏来源与控制者 | 多次转移增加追踪难度。中间人增加最终受益人的识别难度。 | 本案有转移与混币记录。全部幕后账户关系未公开。 |
| 取得现实购买力 | 中间人支付法币,或代付商品与服务。 | 其他朝鲜案件有司法指控。本案完整变现账目仍未公开。 |
美国司法部在 2020 年起诉两名洗钱中间人。指控涉及逾 1 亿美元加密资产。案件材料称,相关人员使用虚假身份证明。材料还称,部分资金支付了攻击基础设施费用。该案记录了针对身份审核的欺骗指控。它属于其他案件,不能当作 Bybit 的变现记录。[22]
另一种情况是中间人代付采购款。攻击者交出加密资产,获得商品或服务。攻击者本人不必先向银行账户提取现金。司法部在 2025 年公告中提到相关指控:场外交易商帮助使用被盗资金采购商品。该公告涉及其他朝鲜相关案件。[23]
对 Bybit,本报告能确认到哪一步?公开分析支持币种兑换、资金分散和部分混币。它们不能证明全部资产已兑换为法币。完整的银行收款方、采购清单与最终净收益,仍缺少公开证据。[11]
实名审核仍有作用。资金进入可合作平台时,身份记录能支持调查。平台还能结合链上风险识别并冻结资产。FBI 因此公布涉案地址,要求相关服务商阻断资金。执法机构也追查中间人和兑换平台。效果取决于识别速度、平台合作与跨境执法。[9][12]
| 行动 | 已披露措施 | 实际解决的问题 |
|---|---|---|
| 维持提款 | 筹集短期资金、吸收存款并购买 ETH。[13] | 补充流动性,承接提款需求。 |
| 核对储备 | Hacken 在事件后核对资产覆盖。[14] | 证明核查范围内的储备情况。 |
| 合作追踪 | 链上机构共享地址;追回赏金最高为相关金额的 10%。[10] | 发现资金流向,协调托管方冻结。 |
| 打击兑换设施 | 德国警方于 2025-04-30 查封 eXch。[12] | 扣押平台设施、数据与资产。 |
| 司法追索 | Bybit 于 2026-08-07 披露诉讼与冻结禁令。[15] | 限制已识别资产继续转移。 |
德国公告中的扣押资产约为 3,400 万欧元。这是整个 eXch 查封行动的金额。不能全部计入 Bybit 追回额。此次未独立读取法院卷宗,也未证实反向入侵攻击者。[12][15]
新存款增加资产,也增加客户负债。借款增加现金或代币,也增加还款义务。因此,补充资产不能直接等同公司净资产增加。Hacken 明确表示,其储备证明工作不包括安全评估。[13][14]
截至本次检索,最新找到的官方累计更新是 2026 年 8 月 7 日。公司称已追回约 4,840 万美元,另有约 3,050 万美元仍冻结。冻结资产分布于超过 28 家交易所及托管机构。[15]
| 项目 | 金额/计算 | 时点 |
|---|---|---|
| 原始损失参考值 | 约 15 亿美元 | 2025-02 |
| 已追回 | 约 4,840 万美元 | 2026-08-07 |
| 仍冻结 | 约 3,050 万美元 | 2026-08-07 |
| 量级比较 | 4,840 ÷ 150,000 ≈ 3.2% | 研究计算 |
冻结金额不等于已返还金额。2025 年的早期冻结数字不能与最新数字相加。公司的诉讼与初步禁令也不等于最终胜诉。[15]
FBI 于 2025 年 2 月 26 日明确归因朝鲜。其公告采用 TraderTraitor 这个活动名称。行业报告常使用 Lazarus Group。机构命名不能直接对应到某个具体个人。FBI 未公开全部情报依据。[9]
Chainalysis 找到此次资产与既有朝鲜相关攻击的地址关联。这为归因提供链上支持。现有公开材料不足以认定特定 Bybit 员工的个人过失。[10]
Bybit 披露其他冷钱包未受此次事件影响。平台维持提款,并在约 72 小时内补充储备。资金安排降低了流动性压力,但没有消除盗窃损失。[13][14]
Bybit 强调调查未发现其基础设施入侵迹象。这限定了入侵位置,不能证明审批流程充分。Safe 发布环境遭篡改。Bybit 的交易内容核对未能阻止恶意交易获得授权。[8]
这里所说的核对失效,指已观察到的结果。Bybit 人员预期批准正常转账。实际获得签名的交易却改变了钱包执行逻辑。审批过程未能发现并阻止这项差异。有效签名与正确业务指令,是两项不同的检查。
公开证据不能据此认定员工违反规定。现有资料也不足以判断:独立核对当时不存在、设计不足,还是执行环节出现问题。若多人按规定查看同一受污染网页,他们也会共同批准错误数据。要分清这些原因,需要事前制度、签名设备显示与完整审批记录。
研究判断:这次事件要求把供应商网页纳入托管安全边界。私钥离线保管、真实多人签名和正常网址,仍不能单独保证交易意图正确。
攻击者实施盗窃。FBI 已将本次攻击归因朝鲜。Safe 的网页发布环境构成入侵路径。Bybit 的真实签名使恶意交易获得执行授权。这些技术事实不能直接给出双方赔偿比例。[9][2]
| 问题 | 目前可说什么 | 仍需什么材料 |
|---|---|---|
| 谁发动攻击 | 公开归因指向朝鲜相关攻击者。 | 具体个人责任仍需调查与司法认定。 |
| 谁管理入口 | 此次入口涉及 Safe 开发者与网页发布环境。 | 云端权限、发布审核、访问日志。 |
| 谁负责资产操作 | Bybit 管理资产并组织签名。内容核对未阻止恶意授权。 | 审批制度、签名记录、独立验证机制。 |
| 谁向客户承担损失 | Bybit 对外承诺覆盖客户资产,并补充储备。 | 对应客户合同、主体与适用法律。 |
| Safe 是否应赔偿 Bybit | 本次未取得足以判定赔偿责任的材料。 | 双方实际法律关系、适用条款、义务及违约证据。 |
Bybit 补充储备是已披露的业务处置。它不等于法院已判定 Safe 无责。软件发生安全事件,也不自动等于提供方必须全额赔偿。具体责任需要对应主体、合同与适用法律。本报告未核实双方合同,也未取得分配双方责任的裁判。[13]
工程判断:Safe 应控制发布权限与软件完整性。Bybit 应确保签名指令符合资产操作意图。两端各有可设置的阻断措施。这个判断不裁定双方是否违法,也不把受骗的员工直接认定为过失方。
“任一员工”超出了现有证据。本案涉及一名开发者的设备与有效云端会话。公开资料没有表明所有员工都有相同权限。职位名称也不能说明实际访问范围。[3]
按本案路径推演,再次失窃需要多个条件连接。攻击者必须从受侵设备取得可用访问能力。随后必须影响 Bybit 使用的交易网页。Bybit 的签名环节还必须接受恶意数据。足够签名与链上执行最后使资产面临直接风险。
上述阻断点属于机制分析,不是整改效果证明。确认是否仍有同类风险,需要测试两个问题:单个员工会话能否改写生产网页?当网页故意显示假内容时,独立控制能否拒绝恶意交易?现有公司整改公告不足以代替这两项测试。[16][18]
检查系统必须从另一条可信路径取得依据。Safe 网页可以生成交易候选数据。Bybit 的内部申请记录实际业务意图。独立系统读取待签名数据,并核对两者。网页上的收款方、金额和模拟结果,都不能单独作为批准依据。
以下是针对本案机制提出的方案。它不代表 Bybit 已部署,也不认定当时完全没有相关控制。签名欺骗机制见取证与合约分析。[5][6]
沿用演示:向运营钱包发送 100 ETH
来源:Bybit 内部审批系统。
来源:待签名交易与可信链上状态。
| 检查 | 读取什么 | 拒绝条件 |
|---|---|---|
| 独立业务申请 | 来源钱包、链、资产、数量、收款方与用途。 | 没有有效申请,或申请未经对应权限批准。 |
| 实际交易解析 | 完整待签名数据、调用对象与操作类型。 | 交易无法解释,或操作不符合申请。 |
| 执行策略检查 | 允许的转账类型、地址、金额及权限变化。 | 普通转账中出现更换执行逻辑等管理操作。 |
| 核对签名对象 | 包括钱包、链和 nonce 在内的实际签名内容。 | 设备签署的数据与独立检查批准的数据不同。 |
nonce 是钱包用于区分交易次序的值。链、钱包与交易数据共同确定审批对象。独立系统应自行计算对应摘要。检查完成后,后续环节不能再替换数据。数据有变化,就重新检查。仅比较网页显示的哈希,仍会信任攻击者提供的信息。
解析与模拟各有作用。解析说明交易要求执行什么。模拟帮助检查预计资产变化与状态变化。但模拟依赖所用代码和链上状态,不能保证未来执行结果。普通资金调拨应限制操作类型。无法解释的交易应停止签名,交由单独流程处理。
第二块屏幕不自动形成独立检查。若两块屏幕读取同一网页的说明,错误会同步出现。检查程序需要独立的数据解析与发布控制。它还需要可信的业务申请和链上数据来源。不能让同一组受侵凭据同时修改网页与检查策略。
检查必须接入签名门槛。只显示红色警告、仍允许任意点击确认,不能证明攻击已被阻止。设计目标是:检查拒绝后,攻击者无法取得足够的可执行签名。具体做法应结合钱包合约、签名设备和机构审批方式验证。
日常调拨与钱包管理应使用不同策略。运营人员获准转账,不应因此获得更换执行逻辑的日常权限。管理操作需要更严格的独立审核。限额、钱包分区和分开的授权体系还能限制损失。多个钱包若共享同一受侵审批路径,分区效果就会下降。
Safe 一侧也需要控制发布能力。员工会话不应直接成为单人改写生产网页的通道。最小权限、独立发布批准与发布物校验可以缩小入口风险。Bybit 仍应测试供应商网页已经失守的情形。
在隔离环境中保留正常转账的网页显示。向签名流程提交本案同类恶意指令。测试使用没有真实资金的环境。以下是建议的通过标准。
| 测试输入 | 预期结果 |
|---|---|
| 网页显示 100 ETH 转账,实际要求更换执行逻辑。 | 独立系统报告操作不符。签名流程无法凑齐可执行授权。 |
| 独立检查通过后,浏览器替换收款方或操作。 | 摘要不匹配。设备不为替换后的数据生成有效授权。 |
| 多名人员都依据假网页点击确认。 | 独立控制仍拒绝。不能依靠人员偶然发现异常。 |
| 检查服务不可用,或交易不能完整解析。 | 停止签名。恢复或专门审核前,不自动改为盲签。 |
| 供应商员工会话失窃。 | 权限与发布控制阻止单凭该会话改写生产网页。 |
| 某个钱包或审批路径失陷。 | 实测其他钱包的独立性,并确认损失限制是否有效。 |
验收记录应保留业务申请、实际交易和检查版本。记录批准摘要、拒绝原因与签名状态。关键证据是攻击不能获得足够授权。仅展示监控报警,或资产转出后的通知,不足以证明签名前阻断。
2025 年 6 月公告称,事件后一个月完成九次安全审计,并新增超过 50 项措施。2026 年 8 月又披露链上监控与风险审核进展。以下均为公司自报,本次没有独立复测。[16][18]
| 公司披露 | 对应风险 | 仍需核对 |
|---|---|---|
| 安全专家监督完整授权流程 | 减少仅凭网页审批。 | 专家是否使用独立解析数据? |
| 采用 MPC 钱包保护 | 将签名计算分散给多个参与方。 | 多个参与方是否共享同一错误输入? |
| 强化 HSM 硬件保护 | 限制密钥暴露与使用。 | 硬件是否拒绝未经批准的权限变化? |
| 加密通信及静态数据 | 减少通信与文件泄漏。 | 已认证会话遭盗用时如何阻断? |
| 监控业务相关链上活动 | 覆盖代币合约、生态合约与各类钱包。 | 哪些控制发生在交易执行前? |
| 提款风险审核 | 识别可疑客户提款。 | 能否覆盖冷钱包管理操作? |
| 自动化安全测试及告警分析 | 加快发现公开资产与安全问题。 | 是否实际复测本案攻击链? |
前四项依据 2025-06-04 公告,后三项依据 2026-08-18 公告。右列是研究提出的验证要求。[16][18]
2026 年报告称平均风险初审耗时 4.7 分钟。数据覆盖 1 月 1 日至 6 月 15 日。这是客户风险审核指标,不能证明可在冷钱包资产转出前阻断。公告将相关指标标为内部系统自报数据。[18]
脱离受污染网页,核对真实操作。
将权限修改与日常调拨分开审批。
策略失败时停止签名或广播。
整改验收应重放同一恶意交易。检查独立解析是否显示真实收款方和权限变化。检查普通转账混入升级操作时是否拒绝。检查单个钱包失守后的损失上限。
还应模拟供应商网页和有效云端会话同时失守。记录哪项控制阻断交易,以及阻断发生的阶段。事后告警应单独计分,不能当作执行前保护。
本页对照设备取证、网页历史记录与链上分析。调查截止日为 2026 年 10 月 30 日。交易机制主要依据 Verichains、Sygnia、NCC Group 和 BlockSec。后续回收及整改数据主要来自公司公告。
| 证据 | 支持范围 | 限制 |
|---|---|---|
| 浏览器缓存与网页存档 | 官方资源曾包含恶意脚本。[2][5] | 不能单独还原全部社工过程。 |
| 链上交易与测试记录 | 升级与提款机制可核对。[6][7] | 本次未自行重放完整链上状态。 |
| FBI 公告 | 官方归因朝鲜。[9] | 完整情报依据未公开。 |
| 追回与整改公告 | 记录公司的具体主张。[15][16][18] | 未独立核对法院卷宗或复测新系统。 |
Safe 的 2025 年 3 月 6 日原帖未能直接读取。NCC Group 正文采用 PDF 镜像。德国警方部分信息依据官方搜索索引。本页保留这些访问限制,不把二手复现当成现场取证。
仍缺少完整社工对话、IAM 权限与发布审批日志。每名签名者设备上的显示记录也未完整公开。补充资金的贷款及抵押条件、追回估值和返还日期,需要进一步核实。
向技术负责人求证
请展示事发前后的审批流程差异。请用同一恶意交易展示独立控制的拒绝结果。请说明拒绝发生在签名前、广播前,还是资产转出后。
修订:2026-10-30。按入侵、执行、收尾与整改重组报告。补充链上演练、复现边界和 2026 年安全披露。新增机构关系图,区分钱包网页、链上合约与事后调查职责。补充实名审核与变现机制,区分本案记录和其他案件指控。新增审批过程示例。用转账网页、签名设备和实际数据展示审批差异。支持逐步确认及独立检查拦截。补充控制职责、赔偿证据边界与员工权限条件。新增假网页防御方案、独立检查边界和验收测试。补充签名者视角的正常/攻击同步模拟与差异表。新增八幅来源原图及放大查看。补充 NCC 链下/链上导读、签名与数据错配、攻击者提交及证据边界。修正设备只显示摘要的过度简化。