ข้ามไปที่เนื้อหา
เหตุการณ์ร้อนแรงจับตาดู

Google engineer uses Gemini 4 Argon and Z3 to catch Go bounds bugs

เนื้อหานี้ยังไม่มีในภาษาของคุณ จึงแสดงเป็นEnglish

1 รายงาน1 แหล่งข่าวที่รายงานอัปเดต 2 วันที่แล้ว

เริ่มตรงนี้

ไดเจสต์ AI

A Google engineer who leads the company's agent skills program built a pipeline in which Gemini 4 Argon reads Go source and RISC-V disassembly and converts surviving runtime.panicBounds traps into Z3 constraints; go test then replays any satisfying input as a real reproducer. According to the engineer's account, the workflow caught all three planted bugs and three latent bugs in skill-lint. Unseeded go test -fuzz missed two of the planted crashes, because Go checks slices against capacity rather than length. Clipping capacity to length with data[:len(data):len(data)] made the fuzzer crash both overrun bugs in all three runs, with medians of 0.28 s and 0.17 s.

สร้างจากรายงาน · อัปเดต 14 ชม. ที่แล้ว

ไทม์ไลน์รายงาน

ไล่ตามรายงานเพื่อดูเหตุการณ์นี้จากหลายด้าน

12 พฤศจิกายน
  1. Google Developers Blog
    วิศวกร Google ใช้ Gemini 4 Argon และ Z3 จับบั๊ก bounds-check ใน Go ที่ fuzzing พลาด

    วิศวกร Google ซึ่งเป็นผู้นำโปรแกรม agent skills ของบริษัทได้สร้างไปป์ไลน์ที่ Gemini 4 Argon อ่านซอร์สโค้ด Go และดิสแอสเซมบลี RISC-V แล้วแปลงกับดัก runtime.panicBounds ที่ยังหลงเหลือให้เป็นข้อจำกัด Z3 จากนั้น go test จะเล่นซ้ำอินพุตที่ตรงเงื่อนไขใดๆ เป็นตัวสร้างซ้ำจริง เวิร์กโฟลว์นี้จับบั๊กที่ฝังไว้ทั้งสามตัวและบั๊กแฝงสามตัวใน skill-lint ขณะที่ go test -fuzz แบบไม่กำหนด seed พลาดการ crash ที่ฝังไว้สองตัว เพราะ Go ตรวจสอบสไลซ์เทียบกับ capacity ไม่ใช่ length การตัด capacity ให้เท่ากับ length ด้วย data[:len(data):len(data)] ทำให้ fuzzer crash บั๊ก overrun ทั้งสองตัวในการรันทั้งสามครั้ง โดยมีค่ามัธยฐาน 0.28 วินาที และ 0.17 วินาที

ความร้อนแรงของเหตุการณ์นี้

ยังมีการเฝ้าดูต่อเนื่องไม่พอจะวาดแนวโน้ม