REA: Kết nối AI Coding Agent với Ghidra và IDA Pro để Reverse Engineering
REA (Reverse Engineer Anything) là dự án mã nguồn mở đột phá, cho phép tích hợp các AI coding agent như Claude Code và Cursor vào quy trình phân tích mã độc và dịch ngược phần mềm chuyên sâu.

- Tích hợp AI: REA đóng vai trò là cầu nối giữa các AI coding agent hiện đại và các công cụ dịch ngược (disassembler) truyền thống như Ghidra, IDA Pro và Hopper.
- Phạm vi hỗ trợ: Công cụ hỗ trợ phân tích đa dạng từ native binaries, JavaScript, Electron, .NET cho đến firmware và các hoạt động runtime.
- Quy trình bằng chứng: REA cho phép các agent truy vấn dữ liệu phân tích, xác thực bằng chứng và tự động hóa việc tái cấu trúc mã nguồn dựa trên kết quả thu được.
- Cảnh báo bảo mật: Việc phân tích các phần mềm đáng ngờ cần được thực hiện cẩn trọng do dữ liệu kết quả có thể được gửi tới các nhà cung cấp mô hình AI theo chính sách dữ liệu của họ.
Tổng quan về dự án REA (Reverse Engineer Anything)
Trong lĩnh vực an ninh mạng, việc phân tích phần mềm mà không có mã nguồn (source code) luôn là một thách thức lớn đối với các nhà nghiên cứu. Dự án mã nguồn mở REA (Reverse Engineer Anything) đã ra đời nhằm giải quyết bài toán này bằng cách kết nối các AI coding agent mạnh mẽ như Claude Code và Cursor với các công cụ phân tích phần mềm chuyên dụng như Ghidra, IDA Pro và Hopper.
Thay vì cố gắng thay thế các công cụ dịch ngược truyền thống, REA đóng vai trò là một lớp trung gian (bridge), cho phép các agent thực hiện các truy vấn phân tích, theo dõi luồng thực thi của chương trình và giải thích các phát hiện dựa trên bằng chứng kỹ thuật cụ thể. Điều này giúp tối ưu hóa quy trình làm việc của các chuyên gia bảo mật, từ việc phân tích mã độc cho đến kiểm định tính toàn vẹn của phần mềm.

Cơ chế hoạt động và tích hợp kỹ thuật
REA tận dụng Model Context Protocol (MCP) để thiết lập một server cục bộ, cho phép các agent gửi yêu cầu phân tích mục tiêu. Khi nhận được yêu cầu, REA sẽ điều khiển các công cụ như Ghidra hoặc IDA Pro để kiểm tra binary, trích xuất các thông tin quan trọng như mã giả (pseudocode), tập lệnh assembly, chuỗi ký tự (strings), bảng ký hiệu (symbols) và các tham chiếu hàm (function calls).
Đối với các mục tiêu không phải native binary như JavaScript hoặc ứng dụng Electron, REA cung cấp khả năng ánh xạ các module, import, source map và luồng giao tiếp giữa các tiến trình (IPC). Đối với các assembly .NET, công cụ này thực hiện phân tích tĩnh để lộ ra metadata, các chỉ thị ngôn ngữ trung gian (IL) và các phụ thuộc native đã khai báo.
Hướng dẫn thiết lập môi trường
Để bắt đầu sử dụng REA, người dùng cần cài đặt Node.js và npm. Sau đó, thực hiện lệnh cài đặt thông qua terminal để cấu hình các agent mong muốn:
npx rea-agents setupQuá trình thiết lập sẽ yêu cầu người dùng chọn agent, xem xét các thay đổi cấu hình và phê duyệt đăng ký. REA sẽ tự động cài đặt các hướng dẫn quy trình làm việc (workflow instructions), sao lưu cấu hình hiện tại và yêu cầu khởi động lại agent để áp dụng các thay đổi mới.
Khả năng ứng dụng và các trường hợp thực tế
Dự án REA đã chứng minh hiệu quả thông qua các trường hợp nghiên cứu (case studies) cụ thể. Trong ví dụ về trò chơi DX-Ball, REA đã hỗ trợ khôi phục các phép tính định vị âm thanh, vượt qua 3.205 bài kiểm tra so với mã x86 gốc và tái tạo thành công 63 byte hàm đã biên dịch. Một ví dụ khác là việc truy vết cơ chế xử lý clipboard của ứng dụng Notion thông qua các lớp renderer, preload và main process của Electron.
| Loại mục tiêu | Công cụ hỗ trợ | Khả năng phân tích |
|---|---|---|
| Native Binaries | Ghidra, IDA Pro, Hopper | Pseudocode, Assembly, Symbols, Strings |
| JavaScript/Electron | Static Analysis | Modules, Imports, IPC, Routes |
| .NET Assemblies | Static Analysis | Metadata, IL Instructions, Dependencies |
⚠️ Cảnh báo quan trọng: Mặc dù REA thực hiện phân tích cục bộ, nhưng kết quả trả về cho các AI agent vẫn nằm trong phạm vi chính sách dữ liệu của nhà cung cấp mô hình AI. Người dùng cần phân biệt rõ giữa phân tích tĩnh (không chạy ứng dụng) và phân tích runtime (có tương tác với ứng dụng) để đảm bảo an toàn khi xử lý các phần mềm độc hại hoặc suspicious software.
Kết luận và khuyến nghị
Giá trị cốt lõi của REA nằm ở khả năng kết nối các câu hỏi phân tích với mã nguồn có thể kiểm tra được, đồng thời giữ cho bằng chứng, quyền hạn và sự kiểm soát của con người luôn là trung tâm. Đây là một bước tiến quan trọng trong việc ứng dụng AI vào lĩnh vực dịch ngược và phân tích mối đe dọa mạng. Để tìm hiểu thêm về các tiêu chuẩn kỹ thuật, bạn có thể tham khảo tài liệu từ GitHub hoặc các hướng dẫn về CISA về an toàn phần mềm.
Mạng Lưới An Ninh Mạng & Cộng Đồng
Nhận cảnh báo 0-Day khẩn cấp, phân tích mã độc và tham gia thảo luận kỹ thuật cùng chuyên gia.
Ban biên tập nội dung và phân tích an ninh mạng tại ADSECVN.COM.



