T

substrate-vulnerability-scanner

bởi trailofbits

substrate-vulnerability-scanner giúp kiểm tra Substrate và các pallet FRAME để phát hiện những vấn đề nghiêm trọng như tràn số học, DoS do panic, kiểm tra origin sai, weight không chính xác và extrinsic không an toàn ở dạng unsigned. Dùng skill substrate-vulnerability-scanner này cho các lượt Security Audit khi rà soát runtime, extrinsic của pallet và logic weight.

Stars5k
Yêu thích0
Bình luận0
Đã thêm4 thg 5, 2026
Danh mụcSecurity Audit
Lệnh cài đặt
npx skills add trailofbits/skills --skill substrate-vulnerability-scanner
Điểm tuyển chọn

Skill này đạt 78/100, tức là một ứng viên khá tốt cho danh mục: có use case bảo mật rõ ràng dành riêng cho Substrate, đủ chi tiết quy trình để hướng dẫn thực hiện, và đủ độ “thật” của repository để đáng cân nhắc cài đặt. Tuy vậy, người dùng vẫn nên lưu ý mức độ ma sát khi áp dụng vì không có lệnh cài đặt và quy trình chủ yếu dựa trên tài liệu, chưa được tự động hóa bằng công cụ.

78/100
Điểm mạnh
  • Nhắm rất rõ vào việc kiểm tra audit các pallet Substrate/FRAME, với các tình huống sử dụng cụ thể như rà soát runtime, đánh giá trước khi phát hành và xác thực dispatchable.
  • Bao phủ có hệ thống 7 mẫu lỗi bảo mật đặc trưng của Substrate, kèm một file tham chiếu riêng về pattern phát hiện và cách khắc phục.
  • Có hướng dẫn vận hành khá đầy đủ như dấu hiệu nhận diện nền tảng, ví dụ code và các ràng buộc, giúp agent giảm đáng kể phần đoán mò.
Điểm cần lưu ý
  • Không có lệnh cài đặt hay script tự động nào được cung cấp, nên người dùng phải tự tích hợp vào quy trình của mình.
  • Skill này có vẻ thiên về tài liệu hơn là thực thi, vì vậy chất lượng kết quả có thể phụ thuộc vào việc agent diễn giải đúng các pattern thay vì đi theo một pipeline có thể chạy trực tiếp.
Tổng quan

Tổng quan về skill substrate-vulnerability-scanner

substrate-vulnerability-scanner làm gì

Skill substrate-vulnerability-scanner giúp bạn audit code Substrate và FRAME để tìm bảy lỗi có rủi ro cao, đặc thù theo nền tảng, có thể dẫn đến crash, từ chối dịch vụ hoặc thay đổi trạng thái trái phép. Skill này hữu ích nhất khi bạn cần một substrate-vulnerability-scanner tập trung cho workflow Security Audit, thay vì một lượt review Rust tổng quát.

Ai nên dùng

Hãy dùng skill này nếu bạn đang rà soát custom pallet, runtime extrinsics, logic weight hoặc phần xác thực unsigned transaction trong Polkadot parachains hay các chain Substrate độc lập. Đây là lựa chọn rất hợp cho security engineer, protocol developer và reviewer cần một lượt sàng lọc bảo mật nhanh ban đầu trước khi đi vào phân tích thủ công sâu hơn.

Nó bắt tốt nhất những gì

Repository này được tối ưu cho các mẫu lỗi thường lọt qua review code thông thường: tràn số học, DoS do panic, kiểm tra origin sai, weight tính không đúng, unsafe unsigned extrinsics và các lỗi FRAME tương tự. Giá trị chính không nằm ở việc hiểu toàn bộ code; nó nằm ở việc chỉ ra các lớp lỗi bảo mật quan trọng nhất trong code runtime của Substrate.

Cách dùng skill substrate-vulnerability-scanner

Cài đặt và khoanh phạm vi review

Chạy luồng substrate-vulnerability-scanner install cùng gói trailofbits skills, rồi trỏ nó vào một boundary của runtime hoặc pallet thay vì toàn bộ monorepo. Kết quả tốt nhất thường đến khi đầu vào nói rõ đang audit cái gì, pallet hay chain nào nằm trong phạm vi, và bạn quan tâm đến khả năng khai thác, khuyến nghị sửa hay một lượt kiểm tra kiểu checklist.

Đọc các file này trước

Bắt đầu với SKILL.md để hiểu logic phát hiện, rồi đọc resources/VULNERABILITY_PATTERNS.md để xem các pattern kiểm tra và biện pháp giảm thiểu thực sự. Nếu repository có nhiều pallet, hãy xem trước các file lib.rs hoặc mod.rs của pallet, cùng với các file weight và mọi code xác thực unsigned transaction, vì đó là những chỗ skill này thường mang lại giá trị cao nhất.

Đưa cho skill một prompt đầy đủ

Một prompt yếu sẽ là: “Scan pallet này để tìm vấn đề.” Một prompt tốt hơn sẽ là: “Review pallet_balances for Substrate-specific vulnerabilities. Focus on extrinsics, storage mutation, weight calculation, and origin checks. Flag any arithmetic that is not checked, any panic path reachable from user input, and any unsigned extrinsic validation gaps. Return findings with file paths, impacted function names, exploit impact, and remediation suggestions.” Kiểu prompt này làm cho substrate-vulnerability-scanner usage đáng tin cậy hơn vì nó nói rõ mô hình cần ưu tiên gì và bạn muốn đầu ra theo định dạng nào.

Mẹo workflow giúp tín hiệu tốt hơn

Hãy dùng skill như một lượt sàng lọc có cấu trúc trước, rồi xác minh lại từng đường dẫn bị đánh dấu trong ngữ cảnh runtime. Khi bạn dán code, hãy kèm cả các định nghĩa type xung quanh và helper function, vì nhiều lỗi Substrate phụ thuộc vào config trait, origin type hoặc giả định về weight mà nhìn một hàm riêng lẻ sẽ không thấy rõ. Nếu repo có nhiều pallet, hãy chạy skill theo từng pallet thay vì yêu cầu một kết luận toàn cục.

FAQ về substrate-vulnerability-scanner skill

substrate-vulnerability-scanner chỉ dành cho Substrate thôi à?

Đúng, nó được thiết kế cho các pattern của Substrate/FRAME, không phải cho ứng dụng Rust tổng quát. Một prompt bình thường có thể tìm ra code smell, nhưng substrate-vulnerability-scanner sẽ phù hợp hơn khi bạn cần đánh giá bảo mật runtime chain gắn với semantics của pallet và hành vi dispatchable.

Tôi có cần là chuyên gia Substrate không?

Không, nhưng kết quả sẽ tốt hơn nếu bạn phân biệt được phần nào là logic runtime và phần nào là công cụ chạy ngoài chuỗi. Người mới vẫn có thể dùng skill này nếu cung cấp đúng đường dẫn pallet và yêu cầu các phát hiện cụ thể thay vì lời khuyên chung chung.

Khi nào không nên dùng skill này?

Đừng dùng nó như cách audit duy nhất cho business logic, cryptography hoặc dịch vụ off-chain. Nếu khu vực rủi ro nằm ngoài runtime pallet, skill có thể bỏ sót vấn đề thật vì bộ quy tắc phát hiện của nó được tối ưu cho FRAME và các hàm dispatchable.

Nó khác gì so với một prompt bảo mật tổng quát?

Một prompt tổng quát có thể đưa ra các ghi chú review rộng, nhưng skill này được neo vào một bộ pattern lỗ hổng Substrate đã được tuyển chọn và những vị trí thường xuất hiện của chúng. Điều đó làm cho substrate-vulnerability-scanner guide thân thiện hơn với việc ra quyết định khi bạn cần một lượt rà soát code runtime theo hướng bảo mật mà ít phải đoán mò hơn.

Cách cải thiện substrate-vulnerability-scanner skill

Cung cấp đúng ngữ cảnh ngay từ đầu

Đầu vào tốt nhất sẽ nêu tên pallet, loại chain và các đường code bạn quan tâm nhất. Hãy cho biết code đó xử lý balances, rewards, fees, governance, unsigned transactions hay root-only calls, vì những chi tiết này sẽ làm thay đổi loại lỗ hổng nào là đáng chú ý nhất.

Hỏi về đường khai thác được, không chỉ hỏi về match

Một lỗi thường gặp là nhận về danh sách dòng code đáng ngờ nhưng không có ý nghĩa bảo mật. Hãy yêu cầu skill giải thích pattern đó có thực sự reachable hay không, input nào kích hoạt nó, tác động là gì, và liệu vấn đề có phải false positive do config trait hoặc invariant từ upstream hay không. Điều đó làm cho substrate-vulnerability-scanner usage hữu ích hơn nhiều cho khâu triage.

Siết lại phạm vi sau lượt đầu

Nếu kết quả đầu ra quá nhiễu, hãy thu hẹp phạm vi xuống một pallet, một extrinsic hoặc một mối quan tâm cụ thể như các kiểm tra ensure_*, phép tính weight hay số học trên storage. Nếu kết quả quá nông, hãy yêu cầu một lượt kiểm tra thứ hai so sánh code bị đánh dấu với các pattern trong resources/VULNERABILITY_PATTERNS.md và các trait bound xung quanh, vì chính những chi tiết này thường phân biệt bug thật với abstraction an toàn.

Đánh giá & nhận xét

Chưa có đánh giá nào
Chia sẻ nhận xét của bạn
Đăng nhập để chấm điểm và để lại nhận xét cho skill này.
G
0/10000
Nhận xét mới nhất
Đang lưu...