ปัญหาเนื่องจากรายงานช่องโหว่ที่จัดทำโดยเครื่องมือ AI

Daniel Stenberg ผู้เขียนยูทิลิตี้สำหรับรับและส่งข้อมูลผ่าน Network Curl วิพากษ์วิจารณ์การใช้เครื่องมือ AI ในการสร้างรายงานช่องโหว่ รายงานดังกล่าวประกอบด้วยข้อมูลโดยละเอียด เขียนด้วยภาษาปกติและดูมีคุณภาพสูง แต่หากไม่มีการวิเคราะห์อย่างรอบคอบในความเป็นจริง อาจมีแต่ทำให้เข้าใจผิด โดยแทนที่ปัญหาจริงด้วยเนื้อหาขยะที่ดูมีคุณภาพสูง

โครงการ Curl จ่ายรางวัลสำหรับการระบุช่องโหว่ใหม่ และได้รับรายงานปัญหาที่อาจเกิดขึ้นแล้ว 415 ฉบับ โดยมีเพียง 64 ฉบับเท่านั้นที่ได้รับการยืนยันว่าเป็นช่องโหว่ และ 77 ฉบับเป็นข้อบกพร่องที่ไม่ใช่ด้านความปลอดภัย ดังนั้น 66% ของรายงานทั้งหมดจึงไม่มีข้อมูลที่เป็นประโยชน์ใดๆ และเพียงแต่เอาเวลาไปจากนักพัฒนาที่อาจนำไปใช้ในสิ่งที่มีประโยชน์เท่านั้น

นักพัฒนาถูกบังคับให้เสียเวลามากในการแยกวิเคราะห์รายงานที่ไม่มีประโยชน์และตรวจสอบข้อมูลที่มีอยู่ในนั้นซ้ำหลายครั้ง เนื่องจากคุณภาพภายนอกของการออกแบบสร้างความมั่นใจเพิ่มเติมในข้อมูลและมีความรู้สึกว่านักพัฒนาเข้าใจบางสิ่งบางอย่างผิด ในทางกลับกัน การสร้างรายงานดังกล่าวต้องใช้ความพยายามเพียงเล็กน้อยจากผู้สมัคร ซึ่งไม่สนใจตรวจสอบปัญหาที่แท้จริง แต่เพียงแค่คัดลอกข้อมูลที่ได้รับจากผู้ช่วย AI แบบสุ่มสี่สุ่มห้า โดยหวังว่าจะโชคดีในการต่อสู้เพื่อรับรางวัล

มีตัวอย่างรายงานขยะดังกล่าวสองตัวอย่าง หนึ่งวันก่อนการเปิดเผยข้อมูลตามแผนเกี่ยวกับช่องโหว่ที่เป็นอันตรายในเดือนตุลาคม (CVE-2023-38545) มีการส่งรายงานผ่าน Hackerone ว่าแพตช์ที่มีโปรแกรมแก้ไขได้เผยแพร่สู่สาธารณะแล้ว ในความเป็นจริง รายงานประกอบด้วยข้อเท็จจริงเกี่ยวกับปัญหาที่คล้ายกันและตัวอย่างข้อมูลโดยละเอียดเกี่ยวกับช่องโหว่ในอดีตที่รวบรวมโดย Bard ผู้ช่วย AI ของ Google ด้วยเหตุนี้ ข้อมูลจึงดูใหม่และมีความเกี่ยวข้อง และไม่เกี่ยวข้องกับความเป็นจริง

ตัวอย่างที่สองเกี่ยวข้องกับข้อความที่ได้รับเมื่อวันที่ 28 ธันวาคมเกี่ยวกับบัฟเฟอร์ล้นในตัวจัดการ WebSocket ที่ส่งโดยผู้ใช้ที่ได้แจ้งโครงการต่างๆ เกี่ยวกับช่องโหว่ผ่าน Hackerone แล้ว เพื่อเป็นวิธีการทำให้เกิดปัญหาอีกครั้ง รายงานได้รวมคำทั่วไปเกี่ยวกับการส่งคำขอที่แก้ไขด้วยค่าที่ใหญ่กว่าขนาดของบัฟเฟอร์ที่ใช้ในการคัดลอกด้วย strcpy รายงานยังให้ตัวอย่างการแก้ไข (ตัวอย่างการแทนที่ strcpy ด้วย strncpy) และระบุลิงก์ไปยังบรรทัดของโค้ด “strcpy(keyval, randstr)” ซึ่งตามที่ผู้สมัครระบุ มีข้อผิดพลาด

นักพัฒนาตรวจสอบทุกอย่างอีกครั้งสามครั้งและไม่พบปัญหาใด ๆ แต่เนื่องจากรายงานถูกเขียนอย่างมั่นใจและยังมีการแก้ไข จึงมีความรู้สึกว่ามีบางอย่างหายไปที่ไหนสักแห่ง ความพยายามที่จะชี้แจงว่าผู้วิจัยจัดการเพื่อหลีกเลี่ยงการตรวจสอบขนาดที่ชัดเจนที่มีอยู่ก่อนการเรียก strcpy ได้อย่างไร และขนาดของบัฟเฟอร์ keyval กลายเป็นน้อยกว่าขนาดของข้อมูลที่อ่านได้อย่างไร นำไปสู่รายละเอียด แต่ไม่มีคำอธิบายเพิ่มเติม ที่เคี้ยวเฉพาะสาเหตุทั่วไปที่ชัดเจนของบัฟเฟอร์ล้นที่ไม่เกี่ยวข้องกับโค้ด Curl เฉพาะ คำตอบนั้นชวนให้นึกถึงการสื่อสารกับผู้ช่วย AI และหลังจากใช้เวลาครึ่งวันกับความพยายามอย่างไม่มีจุดหมายเพื่อค้นหาว่าปัญหาปรากฏอย่างไร ในที่สุดนักพัฒนาก็เชื่อมั่นว่าในความเป็นจริงแล้วไม่มีช่องโหว่

ที่มา: opennet.ru

เพิ่มความคิดเห็น