Cuối tuần qua, một kẻ tấn công đã rút 186,4 triệu ZEAL và 54,4 tỷ NACHO khỏi ví cầu nối Kaspa KRC-20 mà không cần sở hữu khóa riêng tư của ví, sau đó tái chế các token này qua các mạng lớp hai (L2) và bán chúng vào các bể thanh khoản. Điều kỳ lạ là chính Kaspa không bị hack. Năm giao dịch hợp lệ đã đánh lừa một công cụ lập chỉ mục ngoài chuỗi (off-chain indexer) khiến nó công nhận các giao dịch chuyển nhượng mà thực tế không ai ký xác nhận, dẫn đến việc các token được cầu nối không còn được đảm bảo và một số bể thanh khoản bị mất tới 99,6% giá trị phía KAS.
Chương trình Kasplex KRC-20 Indexer Signature Bypass đã rút cạn hai nhóm token

Điểm chính cần lưu ý
- Một kẻ tấn công đã chuyển 54,4 tỷ NACHO mà không cần nắm giữ khóa riêng tư của ví cầu nối.
- Các bể thanh khoản Zealous Swap đã mất từ 94% đến 99,6% giá trị phía KAS sau các giao dịch giả mạo.
- Igra đã tạm dừng các hoạt động rút tiền quan trọng trong khi các nhà điều hành KRC-20 chuẩn bị vá lỗi và lập chỉ mục lại hệ thống.
Năm giao dịch, không cần khóa riêng
Khóa riêng tư được coi là ranh giới giữa việc sở hữu tiền điện tử và chỉ đơn thuần biết nó nằm ở đâu. Vào ngày 20 tháng 9, ai đó đã tìm ra cách vượt qua giả định đó đối với các token KRC-20 mà không cần phá vỡ chuỗi cơ sở của Kaspa.
Kẻ tấn công đã chuyển 186.425.259 ZEAL và 54.397.983.246 NACHO từ một địa chỉ lưu ký cầu nối, mặc dù chúng không kiểm soát được khóa riêng của địa chỉ đó. Những token này sau đó được gửi trở lại cùng địa chỉ lưu ký như các khoản tiền gửi cầu thông thường, được đúc trên lớp EVM của Igra Labs và Kasplex L2, rồi được đổ vào các bể thanh khoản của Zealous Swap.
Khi mọi việc lắng xuống, số dư ZEAL và NACHO trên L2 của kẻ tấn công đã cạn kiệt, trong khi các bể thanh khoản bị ảnh hưởng đã mất từ 94% đến 99,6% giá trị phía KAS. Điểm mấu chốt là: Lớp một (L1) của Kaspa đã hoạt động chính xác như dự kiến.
Một chữ ký trống nhưng vẫn được chấp nhận
Quyền sở hữu token KRC-20 không được thực thi trực tiếp bởi cơ chế đồng thuận của Kaspa. Các lệnh liên quan đến token được chứa trong các giao dịch Kaspa, trong khi một trình lập chỉ mục Kasplex ngoài chuỗi sẽ đọc các lệnh đó và xác định ai sở hữu gì. Thông thường, một giao dịch chuyển KRC-20 chứa khóa công khai, các chỉ thị token và một chữ ký hợp lệ. Kẻ tấn công vẫn giữ nguyên cấu trúc quen thuộc đó nhưng cung cấp một chữ ký trống và thêm OP_NOT sau OP_ENDIF.

Một chữ ký trống khiến OP_CHECKSIG trả về giá trị false thay vì hủy giao dịch ngay lập tức. Lệnh OP_NOT bổ sung đã đảo ngược kết quả đó thành true, khiến Kaspa coi giao dịch đó là hợp lệ. Không có gì sai sót ở lớp đồng thuận. Trình lập chỉ mục lại là một câu chuyện khác. Nó nhận ra bao bì KRC-20 nhưng không yêu cầu tập lệnh phải khớp chính xác với định dạng chuẩn. Do đó, nó đã công nhận giao dịch giả mạo là hợp pháp. Ngay cả API của chính Kasplex cũng trả về opAccept: 1 đối với giao dịch ZEAL giả mạo đầu tiên.
Bất kỳ ai cũng có thể tạo ra giao dịch giả mạo
Điều đáng lo ngại nhất là kẻ tấn công không cần phải tìm ra bất kỳ thông tin xác thực ẩn nào. Một địa chỉ Kaspa tiêu chuẩn đã tiết lộ khóa công khai cần thiết để tạo ra giao dịch KRC-20 giả mạo. Điều đó có nghĩa là việc chuyển các token sang một địa chỉ khác sẽ không giải quyết được vấn đề cốt lõi. Cho đến khi trình lập chỉ mục được vá lỗi và lịch sử của nó được lập chỉ mục lại, lỗ hổng tương tự về mặt lý thuyết vẫn có thể được sử dụng để tấn công các số dư KRC-20 ở những nơi khác.
Có năm giao dịch giả mạo các khoản chuyển ZEAL và NACHO. Ngược lại, chín giao dịch rút tiền nhỏ chỉ một đơn vị đã được ký xác thực bởi đơn vị lưu ký và dường như là các thử nghiệm để kiểm tra xem đường thoát có hoạt động hay không. Điều thú vị là các giao dịch hợp pháp lại là những giao dịch nhỏ. Ví lưu ký chứa khoảng 50 token KRC-20 khác. Kẻ tấn công đã chọn hai trong số đó.
Các token vẫn còn đó, nhưng tài sản đảm bảo thì không
Vào sáng Chủ nhật, Igra cho biết toàn bộ số ZEAL và NACHO trong ví lưu ký đã bị lấy đi, để lại 97.651.212 ZEAL và 42.570.879.908 NACHO trên các mạng Layer 2 mà không có sự hỗ trợ đầy đủ từ L1. Kẻ tấn công vẫn giữ thêm 4,5 tỷ NACHO trên L1.
Igra đã tạm dừng các giao dịch rút iKAS sang Kaspa L1 và chuyển khoản qua Hyperlane, đồng thời cảnh báo người dùng không nên cầu nối các token KRC-20, mua ZEAL hoặc NACHO trên các sàn giao dịch phi tập trung (DEX) L2, hoặc cung cấp thanh khoản cho các bể bị ảnh hưởng. Các tài sản gốc KAS, cơ chế đồng thuận Kaspa và tài sản Igra (không phải là token KRC-20 được cầu nối) được xác nhận là không bị ảnh hưởng.
Chỉ sửa lỗi phần mềm thôi sẽ không thể giải quyết triệt để vấn đề. Zealous Swap cho biết các nhà điều hành cần vá lỗi trình lập chỉ mục và lập chỉ mục lại lịch sử, từ chối các chữ ký trống, thẻ định dạng sai và các đoạn mã tiếp tục vượt quá OP_ENDIF. Trong khi đó, Nacho the Kat cho biết cộng đồng có ý định chuyển sang tiêu chuẩn KCC-20, một tiêu chuẩn được thiết kế để đưa các quy tắc token vào các đoạn mã được chính mạng lưới thực thi.
Vấn đề này xảy ra sau hàng loạt vụ khai thác lỗ hổng, lỗi, tấn công và rò rỉ dữ liệu trong vài tuần qua. Vào thứ Bảy, Blink Wallet – nhà cung cấp hạ tầng Lightning Network cả dạng lưu ký và không lưu ký – đã tiết lộ rằng “vài chục” tài khoản lưu ký đã bị rút cạn. Công ty an ninh mạng DCENT cũng ghi nhận việc các ví DCENT App bị rút tiền trái phép trong tuần này. Sự việc diễn ra trong bối cảnh các cuộc tấn công an ninh mạng đang gia tăng, và một số người nghi ngờ rằng trí tuệ nhân tạo (AI) đang hỗ trợ làn sóng các kẻ khai thác này.
Bài viết này được dịch từ tiếng Anh bằng AI. Phiên bản gốc bằng tiếng Anh là nguồn có thẩm quyền; các bản dịch tự động có thể chứa thông tin không chính xác, đặc biệt là trong thuật ngữ pháp lý và quy định.











