T

ton-vulnerability-scanner

bởi trailofbits

ton-vulnerability-scanner là một skill kiểm toán tập trung cho smart contract TON viết bằng FunC. Skill này giúp phát hiện việc lạm dụng integer-as-boolean, xử lý giả mạo hợp đồng Jetton, và thiếu kiểm tra gas khi chuyển tiếp TON. Hãy dùng nó như một bước Security Audit nhanh ban đầu trước khi rà soát thủ công sâu hơn.

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 ton-vulnerability-scanner
Điểm tuyển chọn

Skill này đạt 78/100, nên là một ứng viên khá tốt cho thư mục dành cho người kiểm tra hợp đồng TON/FunC: phạm vi bảo mật rõ ràng, có tình huống sử dụng cụ thể, và đủ hướng dẫn theo mẫu để giảm đoán mò so với một prompt chung chung. Tuy vậy, người dùng thư mục vẫn có thể gặp một chút khó khăn khi áp dụng vì repo không có lệnh cài đặt hay script thực thi, nên nó giống một playbook kiểm toán chi tiết hơn là một công cụ tự động hoàn chỉnh.

78/100
Điểm mạnh
  • Dễ áp dụng đúng ngữ cảnh cho kiểm toán TON/FunC, rà soát Jetton và kiểm tra chuyển tiếp gas, kèm hướng dẫn rõ ràng về thời điểm nên dùng.
  • Nội dung quy trình đủ sâu: phần thân dài hơn 11k ký tự, nhiều heading, và một checklist lỗ hổng riêng cho ba vấn đề đặc thù của TON.
  • Thư viện mẫu dựa trên bằng chứng trong `resources/VULNERABILITY_PATTERNS.md` giúp agent nhận diện các kiểu lỗi cụ thể và kiểm tra contract có hệ thống hơn.
Điểm cần lưu ý
  • Không có lệnh cài đặt và không có script cho thấy cách dùng chủ yếu là thủ công hoặc dựa trên hướng dẫn prompt, chứ không phải một workflow đóng gói có thể chạy ngay.
  • Phạm vi chỉ tập trung vào smart contract TON viết bằng FunC, nên ít phù hợp hơn cho các đánh giá bảo mật blockchain rộng hơn hoặc đa ngôn ngữ.
Tổng quan

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

ton-vulnerability-scanner là một skill audit chuyên cho smart contract TON viết bằng FunC. Skill này giúp bạn phát hiện các lỗi đặc thù của nền tảng mà những prompt kiểm tra smart contract thông thường hay bỏ sót, nhất là ở phần xử lý boolean, logic Jetton và chuyển tiếp gas. Hãy dùng nó khi bạn cần một lượt rà soát bảo mật nhanh trước khi đi sâu vào phân tích thủ công hoặc audit bên ngoài.

ton-vulnerability-scanner phù hợp nhất khi nào

Skill ton-vulnerability-scanner hữu ích nhất cho auditor, protocol engineer và developer đang review code TON trước khi ra mắt. Đây là lựa chọn tốt khi bạn cần kiểm tra xem luồng điều khiển, kiểm tra token hay xử lý message của contract có đúng với quy ước TON hay không. Nó không phải là skill review code tổng quát; nó được thiết kế quanh một nhóm nhỏ các lỗi TON có tác động lớn.

Trọng tâm lỗ hổng cốt lõi

Repository này tập trung vào ba mẫu rủi ro chính: dùng số nguyên như boolean sai cách, xử lý giả mạo contract Jetton, và chuyển tiếp TON mà không kiểm tra gas đầy đủ. Phạm vi đó quan trọng vì nó giúp skill cho tín hiệu sắc hơn so với một prompt rộng kiểu “tìm bug”. Nếu mục tiêu của bạn là Security Audit cho contract FunC, đây là kiểu công cụ hẹp nhưng đúng trọng tâm.

Khi nào không nên dùng

Đừng kỳ vọng kết quả mạnh trên stack không phải FunC, contract EVM chung chung, hoặc các bài review kiến trúc không đặc thù cho TON. Nếu bạn đang tìm lỗi style, tạo test hay một cuộc formal audit đầy đủ, ton-vulnerability-scanner sẽ quá hẹp khi đứng một mình. Nó hoạt động tốt nhất như một scanner nhắm đích trong một workflow review lớn hơn.

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

Cài đặt và tìm file của skill

Với bước ton-vulnerability-scanner install, hãy dùng luồng skills thông thường của thư mục, chẳng hạn: npx skills add trailofbits/skills --skill ton-vulnerability-scanner. Sau khi cài xong, hãy đọc file entry point của skill trước, rồi mới lần theo phần ngữ cảnh được liên kết trong repo. Hai file khởi đầu hữu ích nhất là SKILL.mdresources/VULNERABILITY_PATTERNS.md.

Đưa đúng đầu vào

Mẫu ton-vulnerability-scanner usage cho kết quả tốt nhất khi bạn cung cấp một contract cụ thể, mục tiêu review, và ranh giới phạm vi. Đầu vào tốt nên nêu rõ loại file và câu hỏi bảo mật, ví dụ: “Review contracts/wallet.fc về xác thực Jetton transfer, boolean flags, và rủi ro gas forwarding.” Những đầu vào yếu như “scan code này” sẽ để lại quá nhiều chỗ cho output hời hợt.

Biến một task sơ sài thành prompt mạnh

Hãy dùng ý tưởng ton-vulnerability-scanner guide như một template prompt: xác định contract, nói rõ đó là Jetton, wallet hay transfer handler, và cho skill biết phần nào cần ưu tiên. Ví dụ: “Audit contract FunC này theo ba mẫu TON trong resources/VULNERABILITY_PATTERNS.md, và chỉ ra mọi dòng hoặc điều kiện chính xác có thể xử lý sai boolean, giả mạo contract Jetton, hoặc chuyển giá trị đi mà không kiểm tra gas.” Kiểu prompt này tăng độ chính xác vì nó yêu cầu suy luận theo mẫu, chứ không phải bình luận chung chung.

Workflow thực tế và thứ tự kiểm tra

Hãy bắt đầu từ các entry point của contract như recv_internal, recv_external, phần parse message, và mọi logic notification liên quan đến transfer. Sau đó kiểm tra các boolean flags, xác thực sender, và những lời gọi liên quan đến send_raw_message(), load_msg_addr(), hoặc các helper nạp và lưu coin. Nếu bạn cần hiểu skill thật nhanh, hãy ưu tiên resources/VULNERABILITY_PATTERNS.md hơn cây thư mục tổng thể của repository, vì đây là nơi thể hiện đúng các failure mode mà scanner được xây để tìm.

Câu hỏi thường gặp về skill ton-vulnerability-scanner

Đây chỉ dành cho contract FunC thôi à?

Đúng, skill ton-vulnerability-scanner nhắm đến contract TON viết bằng FunC, đặc biệt là các file .fc.func. Nếu dự án của bạn dùng wrapper, test hay tooling TypeScript, những thứ đó có thể giúp bổ sung ngữ cảnh, nhưng logic lỗ hổng vẫn nằm ở cấp contract. Với Security Audit, source contract là đầu vào quan trọng nhất.

Skill này khác gì một prompt bình thường?

Một prompt bình thường có thể nhận ra “code khả nghi”, nhưng ton-vulnerability-scanner được tinh chỉnh cho các giả định đặc thù của TON như giá trị truth của boolean và mẫu message Jetton. Điều đó giúp nó bắt được những lỗi rất dễ bị bỏ sót nếu bạn chưa quen nền tảng. Nó hẹp hơn một AI code reviewer tổng quát, nhưng chính sự hẹp đó mới tạo nên giá trị.

Người mới có dùng được không?

Có, miễn là họ trỏ được nó vào một contract FunC cụ thể và mô tả mục tiêu review. Người mới sẽ có kết quả tốt nhất khi yêu cầu một lượt kiểm tra bảo mật tại một thời điểm, thay vì đòi audit toàn bộ repo trong một lần. Hạn chế chính không nằm ở độ phức tạp của skill; mà là ở việc contract có dùng các mẫu TON mà skill này hiểu hay không.

Giới hạn chính của skill là gì?

Skill mạnh nhất ở logic boolean, kiểm tra tính xác thực Jetton, và rủi ro khi chuyển tiếp gas. Nó yếu hơn ở review business logic, thiết kế hệ thống đa contract, và các vấn đề không liên quan đến ngữ nghĩa message của TON. Nếu review của bạn cần những chiều rộng đó, hãy kết hợp nó với một workflow audit tổng quát hơn.

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

Đưa mục tiêu audit thật cụ thể

Để có kết quả ton-vulnerability-scanner tốt hơn, hãy nói rõ trong ba mẫu trên, mẫu nào quan trọng nhất với file bạn đang review. Ví dụ, “tập trung vào transfer notifications và phát hiện fake Jetton” sẽ hữu ích hơn nhiều so với “kiểm tra tất cả”. Cách này thu hẹp chú ý vào các đường code dễ lỗi nhất.

Cung cấp ngữ cảnh của contract, không chỉ source text

Skill sẽ hoạt động tốt hơn khi bạn cho biết contract là wallet, Jetton minter, transfer handler hay receiver. Ngữ cảnh đó làm thay đổi cách hiểu boolean, message address và giá trị được chuyển tiếp. Nếu bạn đã biết các invariant kỳ vọng, hãy nêu ra ngay từ đầu để bản scan có thể đối chiếu hành vi code với chúng.

Chú ý các kiểu lỗi hay gặp

Những sai lầm lớn nhất là dùng số nguyên dương như boolean, tin vào message trông giống token mà không xác minh, và chuyển tiếp TON mà không kiểm soát gas đủ chặt. Khi xem kết quả, hãy hỏi xem từng phát hiện có chỉ ra được dòng cụ thể, điều kiện cụ thể và đường khai thác thực tế hay không. Nếu không, hãy yêu cầu kiểm tra lại chặt hơn theo checklist mẫu trong resources/VULNERABILITY_PATTERNS.md.

Lặp lại bằng đoạn code trích và hành vi kỳ vọng

Nếu lượt đầu còn mơ hồ, hãy gửi lại function đáng ngờ và nói ngắn gọn hành vi dự định trong một câu. Ví dụ: “Handler này chỉ nên chấp nhận thông báo Jetton transfer thật từ master contract đã dự kiến.” Kiểu theo dõi này giúp skill ton-vulnerability-scanner phân biệt true positive với các mẫu TON điển hình, và cho bạn kết quả Security Audit có thể hành động được hơ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...