CodeMender: AI vá lỗi bảo mật hiệu quả, ngăn zero-day

Google đã giới thiệu CodeMender, một tác nhân được hỗ trợ bởi AI, được thiết kế để tự động phát hiện và vá lỗi bảo mật trong phần mềm. Được công bố vào ngày 6 tháng 10 năm 2025 bởi Raluca Ada Popa và Four Flynn, CodeMender đại diện cho một bước tiến lớn trong việc ứng dụng trí tuệ nhân tạo (AI) cho an ninh mã nguồn chủ động.
CodeMender: Nền tảng và Phát triển
CodeMender được xây dựng dựa trên nghiên cứu AI trước đây của Google về khám phá lỗ hổng, như các dự án Big Sleep và OSS-Fuzz.
Trong khi các dự án đó tập trung vào việc tìm kiếm các lỗ hổng zero-day mới trong mã nguồn đã được kiểm tra kỹ lưỡng, CodeMender tiến thêm một bước hợp lý tiếp theo: nó không chỉ tìm thấy các lỗ hổng mà còn tạo ra và áp dụng các bản vá bảo mật chất lượng cao mà không cần sự can thiệp thủ công, là một bước tiến quan trọng trong lĩnh vực vá lỗi bảo mật AI.
Trong sáu tháng qua, nhóm nghiên cứu đã đóng góp 72 bản vá bảo mật lên các dự án mã nguồn mở, một số bản vá bao phủ hơn 4.5 triệu dòng mã.
Bằng cách tự động hóa quy trình vá lỗi, CodeMender giải phóng các nhà phát triển để tập trung vào việc xây dựng các tính năng mới thay vì theo dõi các lỗi khó tìm.
Cơ chế hoạt động của CodeMender
Tại cốt lõi, CodeMender tận dụng các mô hình Gemini Deep Think của Google để phân tích cấu trúc mã nguồn phức tạp. Nó sử dụng một bộ công cụ phân tích chương trình tiên tiến, bao gồm phân tích tĩnh và động, kiểm thử khác biệt (differential testing), fuzzing và SMT solvers để truy tìm nguyên nhân gốc rễ của các lỗ hổng bảo mật.
Một hệ thống đa tác nhân sau đó điều phối các tác nhân phụ chuyên biệt để đánh giá, gỡ lỗi và xác thực các đề xuất sửa lỗi.
Ví dụ, sau khi CodeMender tạo ra một bản vá, một tác nhân đánh giá riêng biệt sẽ so sánh mã gốc và mã đã sửa đổi để đảm bảo tính tương đương về chức năng và tuân thủ các hướng dẫn về phong cách.
Minh họa thực tế: Vá lỗi tràn bộ đệm heap
Một ví dụ về bản vá minh họa khả năng của CodeMender. Khi đối mặt với một lỗi tràn bộ đệm heap (heap buffer overflow) trong quá trình phân tích XML, tác nhân này đã xác định được vấn đề quản lý stack sai và áp dụng một thay đổi tối thiểu.
Dưới đây là một ví dụ minh họa về loại bản vá mà CodeMender có thể tạo ra để khắc phục vấn đề tràn bộ đệm:
// Mã nguồn gốc (ví dụ minh họa)
// char* buffer = (char*)malloc(size);
// memcpy(buffer, data, data_len);
// Bản vá do CodeMender tạo ra (ví dụ)
char* buffer = (char*)malloc(size);
if (data_len > size) {
// Xử lý lỗi hoặc cắt bớt dữ liệu để tránh tràn
data_len = size; // Đảm bảo không ghi vượt quá kích thước buffer
}
memcpy(buffer, data, data_len);
Bản cập nhật đơn giản nhưng chính xác này loại bỏ lỗi tràn bộ đệm trong khi vẫn bảo toàn chức năng gốc.
Khả năng Phòng ngừa Chủ động và Bảo mật Mã nguồn
Ngoài các bản vá bảo mật phản ứng cho các lỗ hổng mới, CodeMender có thể chủ động viết lại mã nguồn hiện có để củng cố các thư viện chống lại toàn bộ các lớp lỗi.
Nhóm đã áp dụng các chú thích -fbounds-safety vào các phần của thư viện hình ảnh phổ biến libwebp, đảm bảo rằng bất kỳ lỗi tràn bộ đệm nào trong tương lai sẽ bị phát hiện trong quá trình biên dịch.
Nếu tính năng này đã tồn tại trước CVE-2023-4863, một cuộc khai thác iOS không cần nhấp chuột (zero-click iOS exploit) có thể đã được ngăn chặn hoàn toàn. Thông tin chi tiết về CodeMender có thể tìm thấy trên blog của DeepMind: Introducing CodeMender: An AI agent for code security.
Quy trình Thẩm định và Hợp tác Cộng đồng
Tất cả các bản vá bảo mật được tạo ra bởi CodeMender đều trải qua quá trình xem xét của con người trước khi được gửi lên các dự án mã nguồn mở (upstream).
Cách tiếp cận thận trọng này đã mang lại hàng chục bản vá được chấp nhận trong các dự án mã nguồn mở quan trọng.
Google có kế hoạch hợp tác chặt chẽ với các nhà bảo trì dự án, thu thập phản hồi để tinh chỉnh đầu ra của CodeMender. Trong những tháng tới, các tài liệu kỹ thuật chi tiết và báo cáo sẽ chia sẻ các kỹ thuật cơ bản và kết quả thực tế.
Tầm nhìn của Google về Bảo mật Mã nguồn
Với CodeMender, Google đặt mục tiêu làm cho bảo mật mã nguồn mạnh mẽ trở nên dễ tiếp cận với tất cả các nhà phát triển.
Bằng cách kết hợp khả năng suy luận học sâu với phân tích chương trình, tác nhân AI này có thể chuyển đổi cách phần mềm được bảo mật, giảm thời gian phơi nhiễm cho các lỗ hổng nghiêm trọng và tăng cường lòng tin vào hệ sinh thái mã nguồn mở.









