Revela, công cụ đầu tiên dịch ngược mã nguồn các dự án trên blockchain Aptos, được viết bởi các kỹ sư bảo mật Việt.
Revela Decompiler do các kỹ sư tại công ty bảo mật Verichains của Việt Nam xây dựng và ra mắt tuần trước. Sản phẩm ra đời nhằm giải quyết vấn đề bảo mật cho các dự án trên blockchain này, vốn được viết bằng ngôn ngữ lập trình Move.
Move là ngôn ngữ lập trình được xây dựng cho dự án Diem của Meta trước đây. Sau khi dự án bị hủy, một số nhà phát triển rời Meta và tạo blockchain riêng là Aptos - nền tảng cho nhiều dự án Web3 thời gian qua. Tiền số của Aptos hiện có vốn hóa gần 5 tỷ USD.
"Với năng lực giải mã ngược tất cả hợp đồng thông minh trên blockchain Aptos, Revela Decompiler có thể giúp các nhà phát triển kiểm tra bảo mật toàn diện mã trên chuỗi mà trước đây không thể thực hiện", ông Nguyễn Anh Quỳnh, Giám đốc R&D của Verichains, nói.
Một người dùng đang xem các đoạn mã nguồn được dịch ngược từ Revela. Ảnh: Lưu Quý
Sau khi công cụ ra mắt, Wolfgang Grieskamp, cựu nhân viên Meta và hiện đứng đầu mảng ngôn ngữ Move tại Aptos, đánh giá cao tầm quan trọng của Revela trên mạng xã hội X, cho rằng công cụ "sẽ là yếu tố thay đổi cuộc chơi về bảo mật trên mạng này".
Trong khi đó, Gerardo Di Giacomo, trưởng nhóm bảo mật tại Aptos Labs, nhận định công cụ "hứa hẹn tính minh bạch và bảo mật chưa từng có" và là bước nhảy vọt, hướng tới các hợp đồng thông minh (smart contract) đáng tin cậy và kiểm toán tốt hơn trên mạng lưới.
Vì sao cần dịch ngược về mã nguồn?
Mã nguồn là các đoạn mã do lập trình viên viết, sau đó biên dịch thành ngôn ngữ máy, là các bytecode gồm ký tự và số để máy móc có thể hiểu được, từ đó giúp ứng dụng hoạt động.
Nếu một sản phẩm công khai mã nguồn, cộng đồng có thể cùng kiểm tra mã, tìm ra lỗ hổng nếu có, từ đó cải thiện chất lượng bảo mật cho dự án. Đây cũng là xu hướng chung trong cộng đồng phát triển Web3.
Tuy nhiên, không phải dự án nào cũng chủ động công khai mã nguồn của mình. Điều này tiềm ẩn nguy cơ về bảo mật cho dự án và cả người dùng, đặc biệt trong bối cảnh tấn công và lừa đảo tài chính liên quan đến dự án blockchain nở rộ hiện nay.
Với các dự án như vậy, công cụ dịch ngược sẽ giúp cộng đồng có thể cùng kiểm tra để tăng tính minh bạch. Đây cũng là một trong những lý do Verichains xây dựng Revela để dịch ngược mã nguồn các dự án. Theo công bố, sản phẩm hiện đã có thể giải mã ngược 100% mã bytecode của các dự án trên Aptos sang mã nguồn của ngôn ngữ Move.
Minh hoạ việc dịch ngược mã nguồn của một dự án blockchain bằng Revela.
"Việc này đảm bảo tính an toàn của kiến trúc thông qua việc xác định lỗ hổng, mã độc tiềm ẩn trong bộ mã", ông Nguyễn Anh Quỳnh nói. Ngoài ra, việc dịch ngược mã nguồn của một dự án cũng sẽ giúp các nhà phát triển trong hệ sinh thái có thể tham khảo bộ mã từ các dự án đi trước, học hỏi, hợp tác, đóng góp kiến thức xây dựng dự án Web3 trở nên tiên tiến và an toàn hơn.
Thách thức với kỹ sư Việt
Trước Revela, chưa có công cụ nào hỗ trợ dịch ngược mã nguồn các dự án trên Aptos với ngôn ngữ Move. Điều này do nhiều thách thức, như sản phẩm hướng tới cộng đồng thay vì thương mại khóa, hay độ khó của việc dịch mã bytecode về mã nguồn, đặc biệt ở một ngôn ngữ còn mới mẻ như Move.
Theo đại diện Verichains, dù đây là công cụ có giá trị thực tiễn cao, không nhiều đơn vị trên thế giới thực hiện được. Điều này là cơ hội cho công ty bảo mật Việt.
Ra đời năm 2017, Verichains từng phát hiện và công bố nhiều lỗ hổng trên các dự án blockchain như BNB Chain, Cosmos. Công ty hiện hỗ trợ bảo mật cho hơn 200 dự án blockchain trên toàn cầu. Revela là một trong những ý tưởng về bảo mật cho Aptos, được đưa ra từ cuối 2023.
Sau khi đánh giá năng lực của đội ngũ cũng như tầm quan trọng của sản phẩm, Aptos và Verichains bắt đầu hợp tác và triển khai từ đầu 2024, trước khi công bố vào ngày 7/3.
Sản phẩm được đánh giá tiện dụng, cho tốc độ xử lý nhanh. Người dùng chỉ cần nhập vào địa chỉ và bấm dịch mã, công cụ sẽ ngay lập tức hiển thị mã nguồn của dự án.
Theo đại diện Verichains, thách thức lớn trong việc phát triển một công cụ dịch ngược là cần sự am hiểu về ngôn ngữ lập trình và mật mã học. Điều này giúp họ biến các bytecode, vốn gồm chữ cái và chữ số chỉ máy tính có thể đọc, thành các câu lệnh ban đầu để con người có thể nắm bắt.
Với một ngôn ngữ mới như Move, nhóm cũng phải dành nhiều thời gian nghiên cứu, cùng sự hỗ trợ từ nhà phát triển Aptos Labs, kết hợp với kinh nghiệm về bảo mật blockchain để hoàn thành. Hiện Revela đã được Aptos công nhận năng lực giải mã chính xác 100% và cung cấp miễn phí ra cộng đồng.
Thời gian tới, nhóm phát triển dự kiến cải thiện thêm về giao diện và trải nghiệm người dùng, đồng thời mở rộng giải pháp ra các blockchain cũng như ngôn ngữ lập trình khác nhằm tăng sự minh bạch cho hệ sinh thái Web3.