Google đã hoàn thành một dự án thí điểm sử dụng Gemini để viết lại các thư viện C được triển khai rộng rãi trong Rust — và thử nghiệm đã được đền đáp theo cách mà không ai lên kế hoạch. Ngay sau khi công ty chuyển hệ thống sản xuất của mình sang bản viết lại an toàn cho bộ nhớ, do AI tạo ra của thư viện xử lý GIF giflib, một lỗ hổng ghi heap ngoài giới hạn mới đã được tiết lộ trong mã C ban đầu, được gán CVE-2026-26740. Các hệ thống của Google đã được miễn dịch.
Công ty đã vô hiệu hóa một cách hiệu quả lỗ hổng zero-day thông qua kiến trúc thay vì vá lỗi. Như nhóm kỹ thuật bảo mật của Google đã giải thích trong một bài đăng trên blog Bug Hunters của mình, nhóm không biết gì về việc tiết lộ đang chờ xử lý trong khi thực hiện viết lại - việc bảo vệ là một tác dụng phụ về cấu trúc của việc loại bỏ mã không an toàn cho bộ nhớ. Để biết thêm về cách AI đang định hình lại nghiên cứu và kỹ thuật AI, hãy theo dõi AI Buzz Wire.
Tại sao vấn đề an toàn bộ nhớ hiện nay lại quan trọng
Theo nghiên cứu của chính Google, các lỗ hổng an toàn bộ nhớ chiếm khoảng 70% lỗ hổng trong cơ sở mã C và C++. Thư viện của bên thứ ba là một điểm yếu đặc biệt vì chúng thường xuyên phân tích dữ liệu không đáng tin cậy. Đồng thời, khoảng cách giữa việc phát hiện lỗ hổng và vũ khí hóa ngày càng thu hẹp - những kẻ tấn công, ngày càng được AI hỗ trợ, di chuyển nhanh hơn các chu kỳ vá lỗi truyền thống.
Google từ lâu đã ủng hộ chiến lược "Mã hóa an toàn" ưu tiên các ngôn ngữ an toàn bộ nhớ như Rust. Vấn đề chưa được giải quyết là cơ sở phụ thuộc C và C++ được cài đặt rộng rãi mà không thể xóa được. Phi công đã hỏi một câu hỏi trực tiếp: LLM có thể nhanh chóng chuyển đổi những phần phụ thuộc đó sang Rust mà không vi phạm bất cứ điều gì không?
Mục tiêu: giflib
Google đã chọn giflib, một thư viện xử lý ảnh GIF được sử dụng rộng rãi do Eric S. Raymond phát triển ban đầu. Thư viện đã cung cấp một cấu hình phức tạp lý tưởng cho lần thử đầu tiên: khoảng 3.000 dòng mã, không tối ưu hóa SIMD hoặc lắp ráp và một cơ sở mã ổn định. Điều quan trọng là giflib thường xử lý dữ liệu không đáng tin cậy trong môi trường không có hộp cát — chính xác là loại tấn công mà các nhóm bảo mật bề mặt lo lắng nhất.
Mục tiêu đầy tham vọng: tạo ra một giải pháp thay thế dự phòng tương thích với ABI, an toàn bộ nhớ, có thể triển khai trên cơ sở hạ tầng sản xuất của Google mà không gây gián đoạn cho các dịch vụ phụ thuộc. Bản dịch logic của thư viện ban đầu được thực hiện nhanh chóng với sự hỗ trợ của LLM, nhưng nhóm đã đánh dấu hai yêu cầu mang tính quyết định: quản lý cẩn thận ranh giới FFI — vòng đời con trỏ và ngữ nghĩa quyền sở hữu của Rust tại giao diện với những người gọi C hiện có — và điều mà Google gọi là "thành phần xã hội của bảo mật", sự tin cậy của con người cần có để triển khai các bản viết lại do AI tạo ra vào các dịch vụ quan trọng.
Găng tay xác thực
Để có được sự tin cậy trong sản xuất, việc triển khai Rust đã trải qua quá trình thử nghiệm toàn diện:
- Thử nghiệm hồi quy quy mô lớn: Được xác thực dựa trên tập dữ liệu gồm hơn 30 triệu ảnh GIF trong thế giới thực, xác nhận kết quả đầu ra giống hệt với quá trình triển khai ban đầu
- Làm mờ vi phân: Bộ làm mờ gốc so với Rust chạy liên tục trong hơn sáu ngày và hơn 200 triệu lần lặp mà không tìm thấy bất kỳ sai lệch logic nào
- Đánh giá AI đối nghịch: Lời nhắc LLM chuyên biệt được sử dụng để tìm kiếm những khác biệt nhỏ về hành vi giữa hai cơ sở mã mà thử nghiệm truyền thống có thể bỏ sót
Đường ống đã chứng tỏ giá trị của nó trước khi triển khai. Nó đã xác định được một trường hợp cạnh trong bộ giải mã LZW và - đáng chú ý hơn - đã phát hiện ra một lỗ hổng ghi ngoài giới hạn đã tồn tại từ trước, vốn đã được đưa ra bởi một bản vá kế thừa nội bộ của Google đối với nguồn C ban đầu, mà nhóm đã sửa trong bản viết lại Rust.
Hiệu suất không bị ảnh hưởng
Một phản đối phổ biến đối với các ngôn ngữ an toàn bộ nhớ là chi phí kiểm tra giới hạn thời gian chạy. Sự giám sát của Google trên các dịch vụ xử lý hình ảnh toàn cầu của mình cho thấy việc triển khai Rust có hiệu suất trung bình so với bản gốc C — một kết quả mà công ty cho biết họ đã quan sát thấy nhiều lần trong quá trình di chuyển Rust.
Có một phần thưởng bất ngờ. Vì thư viện Rust an toàn về bộ nhớ khi xây dựng nên Google có thể ngừng hoạt động hộp cát sử dụng nhiều tài nguyên mà một số dịch vụ sản xuất trước đây cần để cô lập thư viện C. Sự đơn giản hóa kiến trúc đó đã giúp giảm đáng kể độ trễ đuôi cho các tác vụ giải mã hình ảnh.
Nguồn mở — Với những cảnh báo trung thực
Google đã xuất bản bản viết lại Rust tại github.com/google/giflib-rs và đang đóng góp những phát hiện của mình cho cộng đồng. Công ty cũng ghi nhận những nỗ lực bổ sung do con người lãnh đạo, chẳng hạn như việc viết lại zlib theo cách thủ công của Trifecta Tech Foundation thành Rust với hiệu suất tăng đáng kể, như một phần của hệ sinh thái giải pháp rộng lớn hơn.
Những lưu ý đáng chú ý. Việc viết lại yêu cầu một lượng lớn dữ liệu trong thế giới thực hoặc các bộ thử nghiệm mạnh mẽ hiện có để xác thực tính tương đương về hành vi và việc đi chệch khỏi dự án ngược dòng bằng cách thay đổi ngôn ngữ sẽ phát sinh chi phí bảo trì thực sự — đặc biệt đối với các phần phụ thuộc đang được phát triển tích cực. Nói cách khác, bản dịch được hỗ trợ bởi AI sẽ tăng tốc nhưng không thay thế khả năng phán đoán kỹ thuật.
Bức tranh lớn hơn
Chương trình thí điểm là một trong những minh chứng rõ ràng nhất cho thấy LLM có thể mang lại những cải tiến về bảo mật cấu trúc trên quy mô lớn chứ không chỉ là đề xuất mã. Google lập luận rằng bằng cách kết hợp tốc độ dịch thuật dựa trên LLM với thử nghiệm khác biệt và đánh giá của chuyên gia con người về ranh giới an toàn, toàn bộ các loại lỗ hổng có thể được loại bỏ khỏi cơ sở hạ tầng sản xuất - trước khi bất kỳ ai biết CVE cụ thể nào sẽ xảy ra tiếp theo.
Nguồn: blog của Google Bug Hunters, "Mở rộng an toàn bộ nhớ: Viết lại được hỗ trợ bởi AI của các phần phụ thuộc C/C++ vào Rust."
---
Đi trước AINhận tin tức, phân tích và đột phá mới nhất về AI — tất cả ở cùng một nơi.
Đọc thêm tin tức về AI →