Bài viết
Chia sẻ kiến thức của bạn.
Các công cụ tốt nhất để kiểm tra mã Sui Move?
Tôi đang kiểm toán hợp đồng thông minh Sui Move và cần đảm bảo: An ninh, Tính đúng đắn, Hiệu quả Khí Thực tiễn tốt nhất
Thách thức hiện tại:
- Đánh giá thủ công tốn thời gian
- Không chắc chắn công cụ nào bao gồm các tính năng độc đáo của Sui
- Cần cả phân tích tĩnh và động
Câu hỏi:
- Máy phân tích tĩnh hiệu quả nhất cho Sui Move là gì?
- Làm thế nào để kiểm tra các bất biến phức tạp một cách chính thức?
- Có máy quét bảo mật dành riêng cho SUI không?
- Những kỹ thuật đánh giá thủ công nào bắt được những công cụ nào bỏ lỡ?
- Sui
- Move
Câu trả lời
2Để an toàn hơn, tôi vẫn thích không chỉ sử dụng công cụ mà còn có kiểm toán từ bên thứ 3.
Cho dù bạn đang phát triển ứng dụng DeFi, trò chơi blockchain hay bất kỳ dự án onchain nào trên Sui, một số công ty kiểm toán đã tích cực hỗ trợ hệ sinh thái, cung cấp các dịch vụ bảo mật trên các giai đoạn phát triển khác nhau: -Asymptotic- Xây dựng Sui Prover, một công cụ xác minh chính thức được thiết kế đặc biệt để xác nhận hợp đồng thông minh Sui. -** Blaize.Security**- Cung cấp các dịch vụ bảo mật tập trung vào UI toàn diện, bao gồm kiểm toán thủ công, bảo vệ đường ống CI/CD, giám sát trực tiếp và phân tích sự cố. -** Certora**- Kết hợp kiểm toán thủ công truyền thống với xác minh chính thức để tạo ra các đánh giá bảo mật kết hợp nghiêm ngặt. -MoveBit- Một trong những công ty sớm nhất áp dụng xác minh chính thức trong kiểm toán Sui, đồng thời đóng góp thông qua các công cụ dành cho nhà phát triển và các sự kiện CTF. -** OtterSec**- Được biết đến với việc kiểm toán thủ công kỹ lưỡng và hợp tác chặt chẽ với các nhóm trong suốt vòng đời kiểm toán. -Zellic- Cung cấp chuyên môn mạnh mẽ về ngôn ngữ Move và tích cực làm việc với nhiều dự án trong hệ sinh thái Sui.
Bên cạnh đó, các nhà phát triển Sui có thể tận dụngMove Registry (MVR) - một hệ thống quản lý gói onchain cho phép các nhóm đính kèm thông tin chính như mã nguồn, tài liệu và kết quả kiểm toán trực tiếp vào các hợp đồng thông minh đã triển khai của họ.
####1. Chuỗi công cụ kiểm toán thiết bản
#####Phân tích tĩnh
| Công cụ | Mục đích | Các tính năng chính |
| ---------------| --------------|
|** Move Prover** | Xác minh chính thức | - Bằng chứng toán học về bất biến - Phát hiện tràn số học
- Đảm bảo tính chính xác của kiểm soát
truy cập |
|** Move Analyzer** | Tích hợp IDE | - Phát hiện lỗi thời gian thực -
Kiểm tra loại - Xác thực
tham chiếu chênh lệch mô-đun |
sui move verify
sui client verify-source
|** Kiểm tra bảo mật Sui CLI** | Kiểm toán tích hợp | |
Ví dụ sử dụng Prover:
spec balance_never_negative {
invariant balance >= 0;
}
#####Phân tích động động
| Công cụ | Loại | Phạm vi bảo hiểm |
| ------------| ----------|
|** Sui Test Framework** | Kiểm tra đơn vị | - 100% phạm vi đường dẫn - Đối tượng/
đồng hồ giả mạo |
|** Sui Fuzzer** | Kiểm tra thuộc tính | - Tạo các trường hợp cạnh
- Tìm hoảng loạn trong số học |
Ví dụ về kiểm tra Fuzz:
#[test_only]
fun fuzz_transfer(amount: u64) {
let balance = 1000;
transfer(&mut balance, amount); // Auto-tests 0, MAX, etc.
}
####2. Máy quét dành riêng cho SUI
#####Bộ kiểm tra vòng đời đối tượng -** Trình phân tích chiết khấu lưu trữ Sui** | Phát hiện:
- Tăng trưởng đối tượng không giới hạn
- Thiếu
drop
khả năng - UID mồ côi
#####Kiểm toán kiểm soát truy cập
# Find all entry functions without signer checks
grep -r "public entry" ./sources | grep -v "&signer"
#####Linters đối tượng dùng chung Quy tắc tùy chỉnh cho:
- Thiếu kiểm tra kỷ nguyên
- Rủi ro sửa đổi đồng thời
- Tham chiếu đối tượng được chia sẻ cũ
####3. Kỹ thuật đánh giá thủ công
#####Kiểm tra quan trọng 1.** Các mẫu khả năng**:
// Verify admin caps are properly guarded
assert!(address_of(signer) == admin_cap.admin, EUnauthorized);
2.** An toàn trường động động**:
// Ensure no unvalidated user input in dynamic fields
dynamic_field::add(&mut obj, user_input, value); // RISKY
#####Khí nóng khí -** Hoạt động lưu trữ**:
// Prefer Table over vector for large collections
let bad: vector<u64>; // Expensive deletions
let good: Table<ID, u64>; // O(1) ops
#####Tuân thủ Khung Sui
- Kiểm tra chênh lệch đối với:
- sui: :coin
- sui: :đồng hồ
####4. Quy trình kiểm toán tích hợp
Bước 1: Quét tĩnh
sui move build --lint && \
sui move prove --path ./sources
Bước 2: Kiểm tra động động
sui move test --coverage && \
move-fuzzer ./sources -iterations 1000
Bước 3: Đánh giá thủ công
- Kiểm tra tất cả các
entry
chức năng:
- Người ký tên có mặt?
- Xác nhận đầu vào?
- Kiểm tra các đối tượng được chia sẻ:
- Kiểm tra kỷ nguyên?
- Cơ chế khóa?
####5. Những phát hiện phổ biến theo công cụ
Công cụ | Đánh bắt điển hình |
---|---|
Move Prover | |
Sui CLI | - Quyền sở hữu đối tượng không hợp lệ - Thiếu khả năng |
Fuzzer | - Giá trị hoảng loạn trên cạnh - Bom khí |
** Hướng dẫn sử dụng** | - Lỗ hổng logic kinh doanh - Khả năng tương thích thị trường |
####6. Mẹo chuyên nghiệp
✅** Kiểm toán liên tục**
# GitHub Action example
- uses: MoveAnalyst/move-security-check@v1
with:
path: ./sources
✅** So sánh với các lỗ hổng đã biết**
✅** Sử dụng nhiều RPC** Kiểm tra chống lại:
- Mạng cục bộ
- Mạng thử nghiệm
- Các nhà cung cấp fullnode khác nhau
Bạn có biết câu trả lời không?
Hãy đăng nhập và chia sẻ nó.
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Kiếm phần của bạn từ 1000 Sui
Tích lũy điểm danh tiếng và nhận phần thưởng khi giúp cộng đồng Sui phát triển.
- Tại sao BCS yêu cầu thứ tự trường chính xác để khử chuỗi khi cấu trúc Move có các trường được đặt tên?53
- Nhiều lỗi xác minh nguồn” trong các ấn phẩm về mô-đun Sui Move - Giải quyết lỗi tự động43
- Giao dịch Sui thất bại: Đối tượng được dành riêng cho giao dịch khác25
- Làm thế nào để các ràng buộc về khả năng tương tác với các trường động trong các bộ sưu tập không đồng nhất?05