เครื่องมือวิเคราะห์ความปลอดภัยใหม่ที่เรียกว่า TheAuditor ได้จุดประกายการอภิปรายอย่างเข้มข้นในชุมชนนักพัฒนา ไม่ใช่เพราะความสามารถของมัน แต่เป็นเพราะวิธีการสร้างและความเสี่ยงที่อาจเกิดขึ้น เครื่องมือนี้ถูกออกแบบมาเพื่อตรวจสอบโค้ดที่สร้างโดย AI และถูกสร้างขึ้นทั้งหมดโดยใช้ความช่วยเหลือจาก AI โดยคนที่ยอมรับอย่างเปิดเผยว่าตนเองไม่สามารถเขียนโค้ดได้
สถิติการพัฒนา:
- เวลาในการพัฒนาทั้งหมด: 252 ชั่วโมงในช่วง 1 เดือน
- สร้างขึ้นโดยใช้ผู้ช่วย AI Claude ทั้งหมด
- ผู้สร้างยอมรับว่าไม่มีความสามารถในการเขียนโค้ด
- มีประสบการณ์การพัฒนาเพียง 3+ เดือน
- มีประสบการณ์การพัฒนาด้วยความช่วยเหลือจาก AI มากกว่า 500 ชั่วโมง
ความขัดแย้งของ AI ที่สร้างเครื่องมือรักษาความปลอดภัย AI
TheAuditor แสดงถึงแนวทางที่ผิดปกติในการพัฒนาซอฟต์แวร์ ผู้สร้างใช้เวลามากกว่า 250 ชั่วโมงในการใช้ Claude ซึ่งเป็นผู้ช่วย AI เพื่อสร้างเครื่องมือที่มีไว้สำหรับตรวจสอบโค้ดที่เขียนโดยผู้ช่วย AI สิ่งนี้สร้างสิ่งที่ผู้สร้างอธิบายว่าเป็นเต่าซ้อนเต่าไปเรื่อยๆ - วงจรไม่รู้จบของโค้ดที่สร้างโดย AI มาตรวจสอบโค้ดที่สร้างโดย AI
เครื่องมือนี้สัญญาว่าจะตรวจจับช่องโหว่ด้านความปลอดภัย ติดตามการไหลของข้อมูล และระบุปัญหาการปรับโครงสร้างโค้ดทั่วทั้งฐานโค้ด มันมุ่งเป้าไปที่ความเสี่ยงด้านความปลอดภัย OWASP Top 10 โดยเฉพาะ และอ้างว่าให้ความจริงที่แท้จริงที่ทั้งนักพัฒนาและผู้ช่วย AI สามารถไว้วางใจได้ อย่างไรก็ตาม การตรวจสอบจากชุมชนได้เปิดเผยข้อบกพร่องที่สำคัญในรูปแบบการตรวจจับความปลอดภัย
คุณสมบัติหลักของ TheAuditor :
- การตรวจจับช่องโหว่ด้านความปลอดภัย (OWASP Top 10)
- การติดตามการไหลของข้อมูลจากแหล่งที่มาไปยังจุดปลายทาง
- การวิเคราะห์สถาปัตยกรรมด้วยกราฟการพึ่งพา
- การตรวจจับปัญหาการปรับปรุงโครงสร้างโค้ด
- การรวมเข้ากับ ESLint , Ruff , MyPy
- การสร้างรายงานที่ปรับปรุงด้วย AI
- รองรับระบบนิเวศ Python และ Node.js
ความกังวลของชุมชนเกี่ยวกับการแสดงความปลอดภัยเท็จ
ผู้เชี่ยวชาญด้านเทคนิคที่ตรวจสอบโค้ดของเครื่องมือได้พบตัวอย่างที่น่าเป็นห่วงของการตรวจสอบความปลอดภัยที่เรียบง่ายเกินไป รูปแบบหนึ่งที่มีปัญหาเป็นพิเศษพยายามตรวจจับ race conditions แบบ time-of-check-time-of-use (TOCTOU) โดยใช้การจับคู่ข้อความพื้นฐาน รูปแบบนี้จะตั้งค่าสถานะรูปแบบโค้ดทั่วไปที่ปลอดภัยให้เป็นช่องโหว่ด้านความปลอดภัยอย่างไม่ถูกต้อง ในขณะที่พลาดปัญหาความปลอดภัยที่แท้จริง
สิ่งนี้ไม่เพียงพอสำหรับการตรวจจับ TOCTOU จริงๆ และที่แย่กว่านั้นคือจะตั้งค่าสถานะสิ่งต่างๆ มากมายให้เป็น false positives... ให้ความรู้สึกปลอดภัยเท็จอย่างสมบูรณ์
การค้นพบนี้เน้นย้ำถึงความกังวลที่กว้างขึ้นเกี่ยวกับเครื่องมือที่สัญญาการวิเคราะห์ความปลอดภัยที่ครอบคลุม แต่ให้ผลลัพธ์ที่ไม่น่าเชื่อถือ False positives สามารถทำให้นักพัฒนาล้นหลามด้วยคำเตือนที่ไร้ความหมาย ในขณะที่ช่องโหว่ที่พลาดไปทำให้ระบบเสี่ยงต่อภัยคุกคามที่แท้จริง
ปัญหาทางเทคนิคที่ระบุพบ:
- การตรวจจับ race condition แบบ TOCTOU ที่มีข้อบกพร่องโดยใช้รูปแบบ regex
- อัตราการแจ้งเตือนผิดพลาดสูงในการตรวจสอบความปลอดภัย
- การจับคู่รูปแบบที่เรียบง่ายเกินไปสำหรับช่องโหว่ด้านความปลอดภัยที่ซับซ้อน
- ปัญหาด้านประสิทธิภาพที่อาจเกิดขึ้นเนื่องจากความขัดแย้งกับซอฟต์แวร์ antivirus
- ข้อกำหนดการติดตั้งที่ซับซ้อนพร้อมสภาพแวดล้อม sandbox
คำถามที่กว้างขึ้นของการพัฒนาด้วยความช่วยเหลือจาก AI
ความขัดแย้งรอบ TheAuditor สะท้อนความตึงเครียดที่เพิ่มขึ้นในชุมชนนักพัฒนาซอฟต์แวร์เกี่ยวกับคุณภาพของโค้ดที่สร้างโดย AI แม้ว่าผู้ช่วย AI จะกลายเป็นเครื่องมือที่ทรงพลังสำหรับการเขียนโค้ดอย่างรวดเร็ว แต่พวกมันมักจะสร้างโซลูชันที่ใช้งานได้แต่อาจไม่ปฏิบัติตามแนวปฏิบัติที่ดีด้านความปลอดภัยหรือรักษาความสอดคล้องกันทั่วทั้งฐานโค้ดขนาดใหญ่
ผู้สร้างยอมรับข้อจำกัดเหล่านี้และได้เชิญชวนให้ชุมชนมีส่วนร่วมในการปรับปรุงความแม่นยำของเครื่องมือ อย่างไรก็ตาม นักวิจารณ์โต้แย้งว่าเครื่องมือรักษาความปลอดภัยต้องการความเชี่ยวชาญเชิงลึกและการทดสอบอย่างเข้มงวดก่อนที่จะปล่อยให้กับนักพัฒนาที่อาจพึ่งพาผลลัพธ์ของมันสำหรับระบบการผลิต
บทเรียนสำหรับชุมชนนักพัฒนา
สถานการณ์นี้เป็นเรื่องเตือนใจเกี่ยวกับสถานะปัจจุบันของการพัฒนาด้วยความช่วยเหลือจาก AI แม้ว่าเครื่องมือ AI สามารถเร่งงานการเขียนโค้ด แต่ไม่สามารถทดแทนความเชี่ยวชาญของมนุษย์ในพื้นที่สำคัญเช่นการวิเคราะห์ความปลอดภัย เหตุการณ์นี้ยังแสดงให้เห็นถึงความสำคัญของการตรวจสอบโดยเพื่อนร่วมงานและการกำกับดูแลของชุมชนในโครงการโอเพนซอร์ส โดยเฉพาะอย่างยิ่งที่เกี่ยวข้องกับความปลอดภัย
การถกเถียงรอบ TheAuditor ท้ายที่สุดแล้วทำให้เกิดคำถามสำคัญเกี่ยวกับความรับผิดชอบและความเชี่ยวชาญในยุคที่ AI สามารถสร้างเครื่องมือที่ดูซับซ้อนแต่อาจไม่สามารถทำตามสัญญาได้ เมื่อ AI กลายเป็นสิ่งที่แพร่หลายมากขึ้นในการพัฒนาซอฟต์แวร์ ชุมชนต้องพัฒนามาตรฐานที่ดีกว่าสำหรับการประเมินและตรวจสอบโซลูชันที่สร้างโดย AI
อ้างอิง: TheAuditor