T

solana-vulnerability-scanner

bởi trailofbits

solana-vulnerability-scanner là một skill kiểm toán bảo mật Solana chuyên sâu dành cho các chương trình native Rust và Anchor. Skill này hỗ trợ rà soát logic CPI, xác thực PDA, kiểm tra signer và quyền sở hữu, cùng nguy cơ giả mạo sysvar để phát hiện sáu lỗ hổng nghiêm trọng đặc thù Solana trước khi triển khai.

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

Skill này đạt 86/100 vì cung cấp một quy trình kiểm toán đáng tin cậy, đặc thù cho Solana, mà tác nhân có thể kích hoạt với rất ít phỏng đoán. Với người dùng thư mục, điều đó có nghĩa là rất đáng cài nếu họ cần rà soát tập trung các vấn đề bảo mật Solana/Anchor, nhất là lỗi CPI, PDA và xác thực tài khoản; tuy nhiên, nên kỳ vọng đây là một trình quét chuyên biệt hơn là một khung bảo mật toàn diện.

86/100
Điểm mạnh
  • Phạm vi được xác định rõ cho kiểm toán Solana/Anchor, với các tình huống sử dụng cụ thể như rà soát CPI, xác thực PDA, kiểm tra signer/quyền sở hữu và đánh giá bảo mật trước khi phát hành.
  • Có hướng dẫn vận hành khá đầy đủ: skill bao gồm tín hiệu nhận diện nền tảng, chỉ dấu mã và một tệp tham chiếu mẫu lỗ hổng chi tiết với ví dụ và cách khắc phục cụ thể.
  • Khả năng kích hoạt cho tác nhân tốt: phần frontmatter và nội dung nêu rõ khi nào nên dùng và cần kiểm tra những mẫu nào, giúp giảm mơ hồ so với một prompt chung chung.
Điểm cần lưu ý
  • Không có lệnh cài đặt, script hay công cụ tự động nào, nên đây là bộ hướng dẫn nhiều hơn là một quy trình quét có thể chạy trực tiếp.
  • Kho này có vẻ tập trung hẹp vào sáu mẫu lỗ hổng критical, vì vậy có thể bỏ sót các nhu cầu rà soát Solana rộng hơn ngoài những trường hợp được bao phủ.
Tổng quan

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

solana-vulnerability-scanner là một skill audit chuyên sâu để rà soát các chương trình Solana nhằm phát hiện những vấn đề bảo mật rất dễ bị bỏ sót trong một lượt review Rust tổng quát. Skill này phù hợp nhất với kỹ sư, auditor và đội ngũ bảo mật đang kiểm tra native Solana hoặc Anchor program trước khi triển khai, đặc biệt khi code có dùng CPI, logic PDA, kiểm tra signer, kiểm tra quyền sở hữu account hoặc introspection instruction.

Skill solana-vulnerability-scanner không phải là một trình kiểm tra smart contract tổng quát; nó được thiết kế để làm nổi bật một tập nhỏ các lỗi đặc thù của Solana nhưng có tác động lớn, đồng thời giúp bạn quyết định một program đã đủ an toàn để ship hay còn cần review thủ công sâu hơn.

Skill phát hiện những gì

Repository này tập trung vào sáu mẫu lỗ hổng nghiêm trọng, bao gồm arbitrary CPI, xác thực PDA không đúng, thiếu kiểm tra signer hoặc ownership, và sysvar spoofing. Vì vậy, solana-vulnerability-scanner đặc biệt hữu ích khi câu hỏi chính của bạn không phải là “code này có biên dịch không?” mà là “kẻ tấn công có thể bẻ lái các giả định tin cậy trong mô hình account của Solana không?”

Trường hợp sử dụng phù hợp nhất

Hãy dùng solana-vulnerability-scanner cho công việc Security Audit với các program sắp ra mắt, review bản nâng cấp, tích hợp giao thức, và bất kỳ luồng code nào trong đó account được tin là đại diện cho một program, authority hoặc sysvar cụ thể. Nó kém hữu ích hơn khi bạn chỉ cần review logic nghiệp vụ chung hoặc các Rust crate không thuộc Solana.

Điểm khác biệt của skill này

Giá trị của solana-vulnerability-scanner nằm ở logic quyết định đặc thù cho Solana. Nó giúp bạn tập trung vào các điểm biên về xác thực account và CPI vốn quyết định mức độ khai thác thực tế, thay vì mất thời gian vào những lời khuyên áp dụng cho bất kỳ repository Rust nào.

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

Cài đặt skill

Cài solana-vulnerability-scanner bằng lệnh:

npx skills add trailofbits/skills --skill solana-vulnerability-scanner

Đường dẫn cài đặt này quan trọng vì skill nằm trong plugins/building-secure-contracts/skills/solana-vulnerability-scanner trong repo trailofbits/skills, nên bạn nên kỳ vọng một quy trình audit bảo mật chứ không phải một prompt trợ lý code chung chung.

Đưa đúng mục tiêu và phạm vi vào đầu vào

Cách dùng solana-vulnerability-scanner hiệu quả nhất bắt đầu bằng một mục tiêu audit thật rõ: tên repository, entrypoint của program, loại framework, và ranh giới tin cậy bạn quan tâm. Một đầu vào tốt sẽ trông như: “Audit Anchor program này cho arbitrary CPI, lỗi derivation PDA, và thiếu kiểm tra signer trong luồng initialize và withdraw.”

Những đầu vào yếu như “scan app Solana này” thường sẽ bỏ sót các account và instruction cụ thể thực sự quan trọng.

Đọc đúng các file trước

Khi cài đặt và review với solana-vulnerability-scanner, hãy bắt đầu bằng SKILL.md, rồi xem tiếp resources/VULNERABILITY_PATTERNS.md. File tài nguyên này cho bạn các kiểm tra cụ thể và ví dụ mà skill được xây dựng quanh, hữu ích hơn nhiều so với việc chỉ đoán từ tên file.

Cũng nên lướt qua các file program định nghĩa:

  • các lời gọi CPI dùng invoke() hoặc invoke_signed()
  • các struct #[derive(Accounts)] trong Anchor
  • derivation PDA và xác thực seed
  • các ràng buộc ownership và signer của account
  • kiểm tra sysvar hoặc program account

Quy trình thực hành

Hãy dùng skill theo hai lượt. Trước tiên, yêu cầu nó xác định các lớp lỗ hổng có khả năng xảy ra và những instruction bị ảnh hưởng. Sau đó, yêu cầu nó review từng đường đi đã bị gắn cờ với mức chi tiết ở cấp account, chẳng hạn account nào do người dùng kiểm soát, program ID nào được kỳ vọng, và việc xác thực diễn ra trước hay sau CPI hoặc thay đổi state.

Một mẫu prompt tốt là:
“Review các instruction Solana/Anchor này theo sáu lỗ hổng nghiêm trọng trong solana-vulnerability-scanner. Tập trung vào xác thực account, đích CPI, seed PDA và độ tin cậy của sysvar. Trả kết quả theo từng instruction, giải thích khả năng khai thác, và nêu rõ false positive.”

FAQ của skill solana-vulnerability-scanner

solana-vulnerability-scanner chỉ dành cho Anchor thôi à?

Không. Skill này bao phủ cả native Solana Rust program lẫn program dựa trên Anchor. Dù vậy, code Anchor thường biểu đạt kiểm tra một cách khai báo hơn, nên trọng tâm review sẽ chuyển sang việc các constraint có đầy đủ hay không, và kiểu của program cũng như account có được ràng buộc đúng hay không.

Skill này khác gì so với một prompt review code bình thường?

Một prompt thông thường có thể nhận ra logic đáng ngờ, nhưng solana-vulnerability-scanner được tinh chỉnh cho mô hình account của Solana và những cách tấn công phổ biến qua CPI, xử lý PDA và xác thực account. Kết quả là phạm vi bao phủ tốt hơn cho các vấn đề quan trọng nhất trong một cuộc Security Audit Solana.

Nó có thân thiện với người mới không?

Có, nếu bạn có thể xác định entrypoint của program và các account chính trong instruction. Người mới sẽ nhận được nhiều giá trị nhất khi dùng solana-vulnerability-scanner như một checklist có hướng dẫn, rồi đặt câu hỏi tiếp theo về từng instruction bị gắn cờ thay vì cố audit toàn bộ repository cùng lúc.

Khi nào tôi không nên dùng nó?

Đừng coi solana-vulnerability-scanner là lớp review duy nhất cho tokenomics, logic nghiệp vụ hoặc thiết kế governance. Điểm mạnh của nó là các mẫu bảo mật quan trọng của Solana, không phải kiểm chứng đúng đắn ở cấp giao thức rộng hơn hay mô hình kinh tế.

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

Nêu đúng đường đi instruction

Mức cải thiện chất lượng lớn nhất đến từ việc gọi rõ tên instruction, authority dự kiến và vai trò của từng account. Thay vì nói “kiểm tra program của tôi,” hãy chỉ ra handler nào cần review và account nào phải là trusted, mutable, được gate bằng signer hay thuộc program. Điều đó giúp solana-vulnerability-scanner phân biệt exposure thật với phần plumbing vô hại.

Nói rõ các giả định tin cậy ngay từ đầu

Nếu một account được kỳ vọng là token program, system program, metadata program hoặc một PDA cụ thể, hãy nói rõ. Nếu một account có thể do người dùng cung cấp, cũng hãy nêu ra. Những giả định tin cậy rõ ràng giúp output của solana-vulnerability-scanner chính xác hơn vì nhiều lỗi Solana thực chất là lỗi thiếu validation.

Hỏi về khả năng khai thác, không chỉ hỏi về phát hiện

Để dùng solana-vulnerability-scanner hiệu quả hơn, hãy yêu cầu cả đường tấn công lẫn điều kiện tiên quyết khiến mỗi vấn đề có thể bị khai thác. Cách này buộc output phân biệt được “vấn đề về phong cách” với “lỗ hổng bảo mật,” đúng thứ bạn cần trong quy trình Security Audit.

Lặp lại với các vùng code cụ thể

Nếu lượt đầu tiên gắn cờ một mẫu CPI hoặc PDA, hãy chạy lại review trên hàm cụ thể và struct Accounts tương ứng. Kết quả tốt nhất đến từ việc thu hẹp phạm vi xuống từng instruction một, rồi hỏi liệu các constraint của account, program ID và seed đã khớp hoàn toàn với mô hình tin cậy dự kiến hay chưa.

Đá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...