- Joshua Rogers đã sử dụng bộ công cụ dựa trên AI của riêng mình để tìm ra một danh sách lớn các vấn đề tiềm ẩn trong codebase của curl
- Danh sách này không chỉ gồm các lỗi nhỏ về style code mà còn bao gồm các bug nhỏ và cả lỗ hổng bảo mật tiềm ẩn
- Phần lớn các vấn đề được tìm thấy là bug nhỏ, nhưng có thể có 1–2 lỗi bảo mật ở mức nghiêm trọng
- Đây là những vấn đề trước đó chưa từng được phát hiện, nên kết quả thực sự rất có giá trị
- Dựa trên các nội dung đã được báo cáo, 22 bản sửa lỗi đã được hoàn tất
- Vẫn còn hơn gấp đôi số lượng issue chưa được xác minh, nên việc rà soát và sửa lỗi vẫn đang tiếp tục
- Các vấn đề chi tiết được ghi là "Reported in Joshua's sarif data" và nếu quan tâm thì có thể tự kiểm tra dữ liệu đó
1 bình luận
Ý kiến trên Hacker News
Thay vì trực tiếp viết hoặc sửa mã, tôi muốn nó đóng vai trò chỉ ra những chỗ đáng nghi trong mã và nơi tôi nên xem xét kỹ hơn
Khi nhờ Claude tìm bug trong thư viện C 20.000 dòng của tôi, nó chia nhỏ các file rồi
grepcác mẫu mã cụ thể, cuối cùng chỉ liệt kê lại các chú thíchFIXMEcủa tôi thôi (cười)Thực ra đó chỉ là mức mà một script bash đơn giản cũng làm được, nên khá thất vọng
ChatGPT còn kém hữu ích hơn, cứ lặp đi lặp lại kiểu "mọi thứ trông ổn lắm! tuyệt vời! high five~"
Cho đến nay, phân tích tĩnh truyền thống giúp ích nhiều hơn hẳn trong việc tìm bug thật sự, nhưng phân tích tĩnh sạch không có nghĩa là không có bug logic
Tôi nghĩ đây chính là chỗ LLM nên tỏa sáng
Nếu để lấy được thông tin hữu ích hơn về bug tiềm ẩn từ LLM mà phải dựng một môi trường cực kỳ tùy biến, thì cuối cùng giá trị sử dụng cũng giảm đi, giống như các công cụ phân tích tĩnh thường không được dùng khi đòi hỏi cấu hình quá phức tạp
Hướng đi để AI viết mã còn lập trình viên chỉ review nghe có gì đó sai sai
Dĩ nhiên tôi hiểu vì sao người ta muốn bán theo kiểu "số dòng code tăng lên nhé~"
Ví dụ, hỏi: "Tôi nên dùng prompt nào để Claude Code lập kế hoạch review bug logic hiệu quả và bỏ qua các chú thích như FIXME, TODO?"
Prompt kết quả khá dài nên không thể chép vào đây, nhưng có thể xem ví dụ công khai trên gist
Dựa trên kết quả đó, bạn cũng có thể tiếp tục cải tiến rồi biến nó thành agent
Sau thời gian dùng thử miễn phí, nó được đội phát triển của chúng tôi ưa chuộng nên đã triển khai chính thức
Ngoài vài trường hợp phát hiện sai thì nhìn chung rất hữu ích
Cả người tạo PR lẫn reviewer đều tiết kiệm được nhiều thời gian
Có lần tôi đã lần ra manh mối và giải quyết được vấn đề vốn trước đây có thể mất hàng giờ
Tôi khá kỳ vọng vào khả năng ứng dụng AI theo kiểu này
Tôi hơi ngạc nhiên khi lại có câu trả lời kiểu 'mọi thứ đều ổn'
Khi dùng trong Codex CLI, nó thường đặt ra nghi vấn
Gemini 2.5 Pro cũng ổn ở điểm này
Có lẽ nên xem lại lịch sử ở đây: liên kết tìm kiếm HN về curl+AI
Có lẽ đúng hơn khi nhìn nó như sự khác biệt giữa người hiểu rõ mình đang dùng gì và người chỉ code theo cảm tính, theo bầu không khí
Điều này khá tương phản với việc Daniel Stenberg trước đây từng bị hành hạ bởi những báo cáo vấn đề bảo mật giả mạo cẩu thả do AI tạo ra
Liên quan đến HackerOne: "Những người gửi báo cáo rác do AI tạo ra sẽ bị ban ngay lập tức. Thực chất nó gần như là một cuộc tấn công DDoS. Tôi còn muốn tính phí vì đã lãng phí thời gian"
Cũng có thể tham khảo bài blog của Daniel hồi tháng 1 năm nay: The I in LLM stands for Intelligence?
printfchosize_t, có thể bị phát hiện chỉ bằng cách bật đúng các cờ warning của compilerViệc AI gợi ý rằng "bạn đang thiếu các cờ cảnh báo compiler quan trọng" sẽ khá hữu ích
Có vẻ một số PR là do trùng khớp với dependabot, và nếu tìm "Joshua sarif data" thì có thể thấy danh sách PR cụ thể hơn liên kết
Tôi đoán đó là lý do ấn tượng của Daniel Stenberg đã thay đổi
Có rất nhiều ý kiến kêu gọi áp dụng công nghệ SAST dựa trên AI và thực tế các sản phẩm liên quan cũng đã ra mắt, nhưng phần lớn vẫn chưa đáp ứng kỳ vọng
Chỉ thất vọng thôi đã còn may; tệ hơn là nó tạo ra niềm tin sai lệch về bảo mật nên rất nguy hiểm
Góc nhìn phê phán và cơ sở về scanner SAST dựa trên AI được giới thiệu tại đây
Tôi tò mò vì sao chiến lược lần này lại hiệu quả hơn, trong bối cảnh trước đó nhiều công cụ khác không tìm ra bug
Tôi đoán liên kết Mastodon được đưa vào để xác nhận rằng dù có đoạn mã mẫu sai thì bug đó vẫn là bug thật