Phát hiện lỗi chia cho 0 trong FFmpeg nhờ fuzzer được tạo bằng 'vibecoding'

Phần mềm27 tháng 8, 2026·4 phút đọc

Một lập trình viên đã sử dụng phương pháp 'vibecoding' (viết mã bằng AI theo cảm hứng) để tạo ra một công cụ fuzzer, và công cụ này đã nhanh chóng tìm ra lỗi chia cho 0 (division by zero) trong thư viện xử lý đa phương tiện mã nguồn mở FFmpeg. Sự việc cho thấy tiềm năng của AI trong việc hỗ trợ kiểm thử bảo mật và phát hiện lỗi phần mềm, dù vẫn còn nhiều tranh cãi về độ tin cậy của mã do AI tạo ra.

Phát hiện lỗi chia cho 0 trong FFmpeg nhờ fuzzer được tạo bằng 'vibecoding'

Phát hiện lỗi chia cho 0 trong FFmpeg nhờ fuzzer được tạo bằng 'vibecoding'

Một lập trình viên đã sử dụng phương pháp "vibecoding" – viết mã hoàn toàn dựa trên trợ lý AI – để tạo ra một công cụ fuzzer tùy chỉnh. Công cụ này ngay lập tức tìm ra một lỗi chia cho 0 (division by zero) trong thư viện xử lý đa phương tiện mã nguồn mở nổi tiếng FFmpeg. Sự việc đang gây chú ý trong cộng đồng công nghệ vì nó cho thấy tiềm năng bất ngờ của AI trong lĩnh vực kiểm thử bảo mật, đồng thời đặt ra câu hỏi về chất lượng mã nguồn do máy tạo ra.

Vibecoding là gì?

"Vibecoding" là thuật ngữ mới nổi trong cộng đồng lập trình viên, ám chỉ việc sử dụng các công cụ AI (như ChatGPT, Claude, Copilot) để viết mã theo mô tả hoặc cảm hứng, mà không cần hiểu sâu về từng dòng code. Người dùng chỉ cần "cảm nhận" là code chạy, và AI sẽ chịu trách nhiệm sinh ra phần lớn logic. Cách tiếp cận này đang phổ biến nhanh chóng, đặc biệt với những người làm prototype hoặc công cụ nhỏ.

Trong trường hợp này, tác giả dùng AI để tạo ra một "fuzzer" – chương trình tự động ném dữ liệu ngẫu nhiên hoặc gần hợp lệ vào phần mềm để tìm lỗi. Kỹ thuật fuzzing (hay fuzz testing) đã có từ lâu và được sử dụng rộng rãi trong bảo mật phần mềm, nhưng việc AI tạo ra một công cụ fuzzer hiệu quả ngay lần đầu vẫn là điều đáng chú ý.

Lỗi chia cho 0 trong FFmpeg

Theo mô tả trên trang issue của dự án, lỗi nằm ở một hàm xử lý video trong FFmpeg khi gặp dữ liệu đầu vào đặc biệt. Khi một biến chia bị truyền giá trị 0, chương trình sẽ gặp lỗi nghiêm trọng – không chỉ gây treo ứng dụng mà có thể dẫn đến hành vi không xác định (undefined behavior) như bị khai thác để thực thi mã tùy ý.

FFmpeg là một trong những thư viện mã nguồn mở quan trọng nhất thế giới, được dùng trong hầu hết các trình phát video, trang web streaming và công cụ chỉnh sửa phim. Một lỗi như vậy nếu bị khai thác sẽ ảnh hưởng đến hàng triệu thiết bị và dịch vụ. Việc tìm ra và vá lỗi kịp thời là rất quan trọng.

Phản ứng của cộng đồng

Trên trang Hacker News (diễn đàn công nghệ nổi tiếng), bài viết nhanh chóng thu hút sự chú ý với nhiều ý kiến trái chiều. Một số người tỏ ra ấn tượng: "Đây là một minh chứng tuyệt vời cho thấy vibecoding có thể tạo ra giá trị thực, không chỉ là code rác cho vui." Số khác lại lo ngại về độ tin cậy: "Vấn đề không phải là tìm ra lỗi, mà là làm sao tin tưởng được mã do AI tạo ra không chứa lỗi mới và nguy hiểm hơn."

"Việc dùng AI để viết fuzzer là một ý tưởng hay, nhưng nó cũng cho thấy nếu AI có thể viết được công cụ tìm lỗi, thì AI cũng có thể tạo ra mã chứa lỗi khó phát hiện hơn." – một bình luận viên trên HN.

Góc nhìn với độc giả Việt Nam

Với các kỹ sư phần mềm Việt Nam đang làm việc với FFmpeg (nhiều công ty ở Việt Nam phát triển ứng dụng livestream, video AI, chuyển mã...), đây là một lời nhắc nhở quan trọng về việc luôn cập nhật version mới nhất và áp dụng các kỹ thuật kiểm thử tự động. Cộng đồng lập trình viên Việt cũng đang rất quan tâm đến các công cụ AI hỗ trợ lập trình, và câu chuyện này chứng tỏ AI không chỉ giúp viết code nhanh mà còn có thể giúp phát hiện lỗi hiệu quả nếu biết cách sử dụng đúng.

Ảnh minh họa: một lập trình viên đang thử nghiệm codeẢnh minh họa: một lập trình viên đang thử nghiệm code

Kết luận

Sự việc lỗi chia cho 0 trong FFmpeg do một fuzzer "vibecoded" tạo ra là một minh chứng thú vị rằng AI có thể là trợ thủ đắc lực trong bảo mật và kiểm thử, ngay cả khi được sử dụng một cách "tùy hứng". Tuy nhiên, nó cũng nhắc nhở rằng mọi công cụ – dù do người hay AI tạo ra – đều cần được đánh giá kỹ lưỡng trước khi tin tưởng. Lỗi này hiện đã được báo lên đội ngũ phát triển FFmpeg và hy vọng sẽ sớm có bản vá chính thức.

Ảnh minh họa: hệ thống kiểm thử tự độngẢnh minh họa: hệ thống kiểm thử tự động

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗