นักพัฒนาค้นพบเครื่องมือ AI ช่วยเขียนโค้ดสร้างช่องโหว่ด้านความปลอดภัยและลดความเข้าใจในโค้ด

ทีมชุมชน BigGo
นักพัฒนาค้นพบเครื่องมือ AI ช่วยเขียนโค้ดสร้างช่องโหว่ด้านความปลอดภัยและลดความเข้าใจในโค้ด

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

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

ปัญหาความปลอดภัยทั่วไปของเครื่องมือเขียนโค้ด AI:

  • การโจมตีแบบ directory traversal
  • ขาดการจำกัดขนาดไฟล์
  • ช่องโหว่การเขียนทับไฟล์ระบบ
  • ขาดการตรวจสอบข้อมูลนำเข้า
  • การควบคุมการเข้าถึงที่ไม่เพียงพอ

ปัญหาจุดบอดด้านความปลอดภัย

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

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

ความขัดแย้งของผลิตภาพ

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

LLM ให้โค้ดห่วยแตกกับฉัน ทำให้ฉันไม่รู้เรื่องฐานโค้ดของตัวเอง และขี้เกียจเกินไปที่จะพยายามแก้ไขด้วยตนเอง และในเวลาเดียวกัน ประสบการณ์ทั้งหมดรู้สึกราบรื่น ไร้แรงเสียดทาน เสริมพลัง

การถกเถียงมักจะมุ่งเน้นไปที่ prompt engineering ทักษะในการสร้างคำสั่งที่ดีกว่าสำหรับเครื่องมือ AI ผู้สนับสนุนโต้แย้งว่าผลลัพธ์ที่ไม่ดีเกิดจากการ prompting ที่ไม่เพียงพอ ในขณะที่นักวิจารณ์ชี้ให้เห็นว่าข้อกำหนดนี้ทำให้เครื่องมือเหล่านี้เชื่อถือได้น้อยกว่าที่โฆษณาไว้

ผลการศึกษาประสิทธิภาพการทำงานของนักพัฒนา:

  • นักพัฒนาที่มีประสบการณ์: ประสิทธิภาพการทำงานลดลง 19% เมื่อใช้เครื่องมือ AI
  • นักพัฒนาระดับเริ่มต้น: รายงานว่ามีการเพิ่มขึ้นของประสิทธิภาพการทำงานในการศึกษาบางชิ้น
  • ประสิทธิภาพการทำงานที่รายงานด้วยตนเองเทียบกับที่วัดได้จริงมักแสดงผลลัพธ์ที่ขัดแย้งกัน

ความกังวลเรื่องการเสื่อมสลายของทักษะ

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

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

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

อ้างอิง: I tried coding with AI, I became lazy and stupid