Tới nội dung
Sự việc nóngĐang theo dõi

Kỹ sư Google dùng Gemini 4 Argon và Z3 để bắt lỗi biên trong Go

1 bài viết1 nguồn đưa tinCập nhật 2 ngày trước

Bắt đầu từ đây

Tóm tắt AI

Một kỹ sư Google phụ trách chương trình kỹ năng tác nhân của công ty đã xây dựng một pipeline trong đó Gemini 4 Argon đọc mã nguồn Go và mã hợp ngữ RISC-V, rồi chuyển các trap runtime.panicBounds còn sót lại thành ràng buộc Z3; sau đó go test phát lại bất kỳ đầu vào thỏa mãn nào như một reproducer thực sự. Theo lời kể của kỹ sư này, quy trình đã bắt được cả ba lỗi được cài sẵn và ba lỗi tiềm ẩn trong skill-lint. go test -fuzz không có seed đã bỏ sót hai trong số các lỗi crash được cài sẵn, vì Go kiểm tra slice dựa trên capacity chứ không phải length. Việc cắt capacity về bằng length bằng data[:len(data):len(data)] khiến fuzzer làm crash cả hai lỗi tràn trong cả ba lần chạy, với trung vị là 0,28 s và 0,17 s.

Tạo từ các bài viết · cập nhật 14 giờ trước

Dòng thời gian bài viết

Theo các bài viết để thấy sự việc từ nhiều phía.

12 tháng 11
  1. Google Developers Blog
    Kỹ sư Google dùng Gemini 4 Argon và Z3 để bắt lỗi kiểm tra biên trong Go mà fuzzing bỏ sót

    Một kỹ sư Google, người dẫn dắt chương trình kỹ năng tác nhân của công ty, đã xây dựng một pipeline trong đó Gemini 4 Argon đọc mã nguồn Go và mã hợp ngữ RISC-V, chuyển các trap runtime.panicBounds còn sót lại thành ràng buộc Z3, sau đó go test phát lại bất kỳ đầu vào thỏa mãn nào như một reproducer thực sự. Quy trình này bắt được cả ba lỗi được cài sẵn và ba lỗi tiềm ẩn trong skill-lint, trong khi go test -fuzz không có seed bỏ sót hai trong số các crash được cài sẵn vì Go kiểm tra slice dựa trên capacity thay vì length. Việc cắt capacity về bằng length bằng data[:len(data):len(data)] khiến fuzzer làm crash cả hai lỗi tràn trong cả ba lần chạy, với trung vị là 0,28 s và 0,17 s.

Độ nóng của sự việc này

Chưa đủ quan sát liên tục để vẽ xu hướng.