Cảnh báo rủi ro: Đề phòng huy động vốn bất hợp pháp dưới danh nghĩa 'tiền điện tử' và 'blockchain'. — Năm cơ quan bao gồm Ủy ban Giám sát Ngân hàng và Bảo hiểm
Tìm kiếm
Đăng nhập
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
Xem thị trường
Nemo合约安全漏洞致259万美元被盗,Sui链上资产安全再敲警钟
ExVul Security
特邀专栏作者
@exvulsec
2giờ trước
Bài viết này có khoảng 1531 từ, đọc toàn bộ bài viết mất khoảng 3 phút
北京时间2025年9月7日,Sui链上的 Nemo 被攻击,黑客通过操作py_index以窃取约259万美元。此次Nemo被盗根本原因是PyState错误地设置为可变引用。

事件概述:

北京时间 2025 年 9 月 7 日,Sui 链上的 Nemo 被攻击,黑客通过操作 py_index 以窃取约 259 万美元。

Attacker Address:

0x01229b3cc8469779d42d59cfc18141e4b13566b581787bf16eb5d61058c1c724

Attack Transaction:

https://suivision.xyz/txblock/HMMicxQWn 43 rnNswi 4 gNHanUaeiWW 5 ijqM 5 bHLca 67 D 9?tab=Overview

Nemo Package:

0x0f286ad004ea93ea6ad3a953b5d4f3c7306378b0dcc354c3f4ebb1d506d3b47f

根本原因:

此次 Nemo 被盗根本原因是 PyState 错误地设置为可变引用,导致攻击者可以恶意修改 py_index,在调用 mint_py 函数时通过 py_index 与分离出 SY 参数相乘得到大量的 PT 和 YT。

经过深入分析发现,在 py.get_sy_amount_in_for_exact_py_out 函数调用 py.current_py_index 时允许传入一个毫无约束的数用于修改 pyState 的 py_index 字段。

·py.get_sy_amount_in_for_exact_py_out 计算出 PY 输出所需要的 SY 的输入量,然而这里 index 没有任何限制

·py.current_py_index 将传入的 py_index 和存储的 index 比较,返回最大的作为 py_state.py_index_stored 的最新值

攻击过程分析:

1. 攻击者调用 init_py_position 函数初始化一个 py_position(初始化用户的仓位记录,与本次攻击无关)。

2. 接着利用闪电贷 py.borrow_pt_amount 借出大量 PT 代币(后续通过 swap 换取 SY 余额)。

3. 调用 100 次 market.swap_exact_pt_for_sy 将 PT 兑换成 SY 代币。

4. 通过 py.get_sy_amount_in_for_exact_py_out 计算出 PY 输出所需要的 SY 的输入量,这里攻击者将 py_index 传入一个构造的极大的数 553402322211286548480000,破坏了原本的结构。

5. 接着攻击者利用被异常放大的指数,在调用 yield_factory.mint_py 时,以畸高的折扣利率铸造 PT 与 YT,从而套取大量 PT。

MintEvent 如下:

6. 最后攻击者使用铸造的 PT 通过 py.repay_pt_amount 偿还债务,然后通过 redeem 赎回收益型资产,并在 Scallop 中提取代币。

至此攻击者通过操作 py_index 已盗取大约 259 万美元,之后将资产转换为 USDC 并通过 Bridge 进行跨链转移,最终转换为 ETH 和 DAI 存储在 0x41b1906c4BCded607c6b02861cE15C2E49FF7576。

在攻击发生后 Nemo 团队紧急暂停了智能合约功能,并开始调查攻击事件。调查结果表明 259 万美元资产损失攻击源于在未充分审计的情况下上线新功能。

事件总结:

此次攻击的核心在于将敏感数据错误地设置为可写状态导致攻击者可以自由传入参数并进行修改,对于敏感数据的状态应做好严格限制和检查。

Sự an toàn
DeFi
Sui
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký
https://t.me/Odaily_News
Tài khoản chính thức
https://twitter.com/OdailyChina