UXLINK被盗约1130万美元技术分析

9月23日,UXLINK项目因多签钱包私钥泄露遭遇攻击,约1130万美元加密资产被盗。事件发生后,项目方紧急联系各大交易所冻结资金并向警方报案,目前大部分被盗资产已被标记冻结。

  • 事件核心:攻击者利用私钥泄露,将恶意地址添加为多签成员,并将Gnosis Safe Proxy合约的签名阈值改为1,从而绕过原有安全机制,逐步移除其他所有者并完全控制合约。
  • 攻击手法:通过调用合约的execTransaction函数,结合delegatecallmultiSend功能,内部回调removeOwner函数删除合法成员。
  • 最新进展:流入交易所的黑客资金已被冻结。有趣的是,该黑客在盗取资产后,其非法获取的部分代币疑似在后续操作中遭遇了“Inferno Drainer”钓鱼攻击。
  • 安全启示:此次事件暴露了多签机制在私钥管理上的脆弱性,强调需要更分散、安全的私钥存储和管理方式。
总结

事件描述

9月23日,UXLINK项目多签名钱包私钥泄漏,导致约1130万美元资产的加密货币被盗取,并已被分散转移至多个中心化(CEX)和去中心化(DEX)交易所。在被攻击的第一时间,我们与UXLINK一起调查分析这起攻击以及监控了资金流动。UXLINK紧急联系各大交易所请求冻结可疑资金,已向警方及相关机构报案以寻求法律支持和资产追回,黑客的大部分资产已被各大交易所标记冻结,从而最大程度地降低了社区面临的进一步风险。项目方承诺将对社区保持透明,ExVul也将持续分析跟进事件进展。

https://x.com/UXLINKofficial/status/1970181382107476362)

最新进展

在黑客资金流转过程中,流入交易所的资金已被冻结。通过初步链上追踪发现,此前盗取UXLINK资产的黑客,疑似遭遇Inferno Drainer钓鱼攻击。经核实,其非法获取的约5.42亿枚$UXLINK代币已被“授权钓鱼”手法窃取。

黑客被钓鱼交易: https://arbiscan.io/tx/0xa70674ccc9caa17d6efaf3f6fcbd5dec40011744c18a1057f391a822f11986ee

未经授权的1B $UXLINK铸币: https://arbiscan.io/tx/0x2466caf408248d1b6fc6fd9d7ec8eb8d8e70cab52dacff1f94b056c10f253bc2

攻击分析

  1. 此前合约因多签Owner存在恶意操作或私钥泄露问题,致使恶意地址被添加为多签账户,同时合约的签名阈值(threshold)被重置为1,即只需单一账户签名即可执行合约操作。黑客设置了新的Owner地址为0x2EF43c1D0c88C071d242B6c2D0430e1751607B87。

(https://arbiscan.io/tx/0x8504a830e7a7a1ca0308a71130efdebddd78b90a1dcc8a64d7c1d86261754689)

  1. 攻击者首先调用Gnosis Safe Proxy合约中的execTransaction函数。该函数成为恶意移除多签成员的入口,后续所有恶意操作均在此次交易的内部被执行。

(https://arbiscan.io/address/0x7715200141cfd94570bc9d97260ec974ee747972#code)

  1. 在调用execTransaction时,攻击者在其data参数中指定了一个恶意操作:通过delegatecall方式调用Safe: Multi Send Call Only 1.3.0实现合约。

(https://arbiscan.io/address/0x40a2accbd92bca938b02010e17a5b8929b49130d)

  1. 在Safe: Multi Send Call Only 1.3.0的multiSend函数中,执行流回调至Gnosis Safe Proxy合约的removeOwner。具体过程为:攻击者先通过对代理合约执行的delegatecall调用了MultiSend实现合约,使其在代理合约的上下文中运行 multiSend;随后,multiSend根据攻击者构造的参数,以call方式回调Gnosis Safe Proxy合约自身并触发removeOwner函数,从而移除既有的Owner地址。

(https://arbiscan.io/address/0x40a2accbd92bca938b02010e17a5b8929b49130d#code)

  1. 调用能够成功的核心在于满足条件msg.sender == address(this)。在removeOwner函数中,为了防止外部直接调用,合约设置了authorized验证,其内部逻辑通常要求调用者必须是合约自身 (msg.sender == address(this))。因此,只有当合约内部流程回调自身时,removeOwner才会被成功执行。

  1. 黑客通过上述手法逐一删除多签中的其他Owner,破坏多签机制并最终接管合约。

  1. 至此,攻击者通过不断重复上述步骤,导致原有的多签安全机制彻底失效。此时,仅凭单一恶意Owner的签名即可通过多签验证,从而实现对合约的完全控制。

(https://arbiscan.io/txs?a=0x2ef43c1d0c88c071d242b6c2d0430e1751607b87&p=2)

总结

由于多签Owner存在恶意操作或私钥泄露,攻击者将恶意地址添加为多签成员,并将Gnosis Safe Proxy的签名阈值(threshold)设置为1,致使原有的多签安全设计彻底失效。此后,单一恶意Owner即可通过多签验证。攻击者继而逐步移除合约中的其他Owner,最终实现对合约的完全控制,并进一步转移合约资产,在链上恶意铸造$UXLINK代币。

本次攻击事件凸显了多签管理在区块链安全中的关键作用。尽管该项目采用了Safe多签机制并配置了多个多签账户,但由于管理方式存在缺陷,最终使多签设计形同虚设。ExVul团队建议,项目方在多签管理上应尽量实现分散化,例如由不同成员分别保管私钥,并采取多样化的私钥存储方式,从而确保多签机制真正发挥应有的安全防护效果。

附录

以下为ExVul团队链上追踪到的疑似黑客地址:

分享至:

作者:ExVul Security

本文为PANews入驻专栏作者的观点,不代表PANews立场,不承担法律责任。

文章及观点也不构成投资意见

图片来源:ExVul Security如有侵权,请联系作者删除。

关注PANews官方账号,一起穿越牛熊
推荐阅读
2025-12-06 01:43
2025-12-06 00:28
2025-12-05 14:15
2025-12-05 12:30
2025-12-05 06:39
2025-12-05 04:11

热门文章

行业要闻
市场热点
精选读物

精选专题

App内阅读