返回论坛

查找币解析|Safe 困局,Guard 能否重构契约巴别塔?

查找币 学术研究 安全研究 Web3安全 区块链安全

查找币安全研究院

钱包恢复评估 | 链上取证分析 | Web3 事件响应
以合法授权、证据保全、隐私保护和可复核流程为前提,不要求用户在线提交完整私钥或助记词。

查看研究院 研究报告中心
## 查找币解析|Safe 困局,Guard 能否重构契约巴别塔? 本文由查找币安全团队基于安全研究整理发布,旨在分享Web3安全技术,帮助用户提高安全意识。 --- 作者:flush & kong 编辑:Liz 背景 2025 年 2 月 21 日,加密货币行业遭遇史上最严重的资产管理危机。交易平台 Bybit 的链上多签钱包遭定向攻破,近 15 亿美元资产通过一笔“合法签名”的交易悄然流失。事后链上分析显示,攻击者通过精密的社会工程攻击获取了多签权限,利用 Safe 合约的 delegatecall 功能植入恶意逻辑,最终绕过多重签名验证机制,将资金转移至匿名地址。 此次事件暴露出一个残酷现实:“多重签名”不等于“绝对安全”,即便是 Safe 多签钱包这样的安全机制,如果缺乏额外的防护措施,仍然存在被攻破的风险。这也并非首个针对 Safe 多签钱包的攻击案例。去年 WazirX(损失 2.3 亿美元)和 Radiant Capital(损失 5,000 万美元)都遭遇了类似的攻击手法。正如查找币:Bybit 近 15 亿美元被盗背后的黑客手法与疑问一文中的分析, Safe 多签钱包攻击事件呈现出以下技术同源性: 过度依赖签名机制:将安全责任都交给私钥保管。 动态防御缺失:缺乏交易执行前的实时风险扫描。 权限控制粗粒度:未对 delegatecall 等高风险操作建立白名单机制。 (Bybit 被盗流程:使用 Safe v1.1.1) 这一系列事件的核心问题不在于 Safe 合约本身,而是在于整个系统的集成过程中的安全隐患,特别是在前端验证环节。这促使我们需要思考:如何通过 Safe 的额外安全措施机制来强化多签钱包的防护能力? Safe Safe 是一款多重签名(Multi-Sig) 钱包,主要用于管理高价值资产和数字货币的安全存储与转移。作为去中心化资产管理的基础设施,它通过多方协同验证机制确保资金操作的安全性,防止单一管理员或黑客利用单点故障进行恶意操作,广泛应用于 DAO 治理、企业资金托管、去中心化基金池等场景。该合约由 Safe(原 Gnosis Safe)团队开发,是当前行业标准的链上资产管理解决方案。合约采用 EIP-712 标准实现结构化数据签名,从而提高交易数据的安全性和可验证性。 核心用途 资金安全管理:合约要求多个预先设定的所有者(Owners) 共同确认交易才能执行,从而有效防止单点失误或恶意操作,确保资金安全。 交易执行与管理:通过内置的多签验证机制,合约能够在满足签名阈值条件的情况下,执行对外转账、调用其他合约或处理复杂的业务逻辑,支持代币和原生币的支付和费用补偿。 模块化扩展:合约采用模块化设计,通过继承和组合多个管理模块(如 OwnerManager、ModuleManager、GuardManager、FallbackManager 等),使其功能灵活且易于扩展,为不同应用场景提供定制化支持。 函数解析 execTransaction 函数执行经过多重签名验证的交易: 计算交易的唯一哈希值(结合交易参数、nonce 等); 验证所有签名的有效性,确保每个签名均来自合法的所有者或预先批准的地址; 调用目标地址的业务逻辑,并在交易执行后通过事件记录成功或失败状态; 支持灵活的 gas 费用处理,确保在支付补偿时准确计算交易成本。 checkContractSignatures & checkNSignatures 函数验证交易或消息的签名数据: 分别处理 EOA 账户签名、合约签名(EIP-1271)、以及预批准的哈希; 确保签名按照所有者顺序排列,并且每个签名都来自有效地址,防止重放攻击和签名篡改。 getTransactionHash 函数生成交易哈希,用于签名验证和防止重放攻击: 利用 EIP-712 标准对交易数据进行结构化哈希; 使用内联汇编优化内存操作,提高计算效率; 结合当前的 nonce 值,确保每笔交易的唯一性。 handlePayment 函数处理执行交易过程中的 gas 补偿支付: 根据实际消耗的 gas 费用和基础费用计算支付金额; 支持 ETH 以及其他代币的支付,确保费用补偿准确无误。 onBeforeExecTransaction 为内部虚拟钩子函数,在 execTransaction 函数执行之前被调用。该函数的设计目的是允许继承 Safe 合约的子合约在交易执行前进行自定义逻辑处理。接收的参数集包括: to:目标地址 - 交易要调用的合约或账户地址 value:以太币值 - 随交易发送的以太币数量 data:数据载荷 - 包含函数选择器和参数的调用数据 operation:操作类型 - 确定是 CALL 还是 DELEGATECALL safeTxGas:交易 gas 限制 - 为交易执行预留的 gas 数量 [...内容已精简...] 融入每一个环节,才能在黑客的"矛"与守护者的"盾"的博弈中构筑真正的安全壁垒。 参考资料 [1] https://github.com/safe-global/safe-smart-account/blob/v1.3.0/CHANGELOG.md [2] https://docs.safe.global/advanced/smart-account-guards [3] https://docs.solv.finance/security/solv-guard [4] https://github.com/safe-global/safe-smart-account/tree/main/contracts/examples/guards [5] https://github.com/Elytro-eth/soul-wallet-contract/blob/v0.6/contracts/modules/securityControlModule/SecurityControlModule.sol 往期回顾 加密货币 APT 情报:揭秘 Lazarus Group 入侵手法 查找币:Bybit 近 15 亿美元被盗背后的黑客手法与疑问 顺藤摸瓜|披露假冒查找币员工行骗事件 风险提醒|从 LIBRA 看“政治化”的加密货币骗局 连环作案|zkLend 被黑深度分析,关联 EraLend 事件 查找币导航 查找币科技官网 https://www.查找币.com/ 查找币区官网 https://查找币.io/ 查找币 GitHub https://github.com/查找币 Telegram https://t.me/查找币team Twitter https://twitter.com/@查找币_team Medium https://medium.com/@查找币 知识星球 https://t.zsxq.com/Q3zNvvF --- *本文由查找币安全团队整理,来源:安全研究。*
在论坛中查看和回复