AI ค้นพบช่องโหว่ในปลั๊กอิน WordPress ถึง 300 จุด ภายใน 72 ชั่วโมง

AI ค้นหาบั๊กได้รวดเร็ว และยังเขียนโค้ดได้รวดเร็วเช่นกัน สิ่งนี้สร้างช่องว่างที่อันตรายสำหรับนักพัฒนาปลั๊กอิน

นักวิจัยด้านความปลอดภัยใช้ AI เพื่อค้นหาช่องโหว่ระดับวิกฤตแบบ zero-day มากกว่า 300 จุดในระบบนิเวศของ WordPress โดยพวกเขาทำสิ่งนี้สำเร็จภายในเวลาเพียง 72 ชั่วโมงเท่านั้น

ปัญหาคือ vibe coding ซึ่งเกิดขึ้นเมื่อนักพัฒนาปล่อยโค้ดที่สร้างโดย LLMs ออกไปโดยที่พวกเขาไม่สามารถตรวจสอบ (audit) ได้ ปลั๊กอินหนึ่งตัวมีปัญหาด้านความปลอดภัยแยกย่อยถึง 100 จุดเนื่องจากสาเหตุนี้

AI กำจัดเกราะป้องกันเดิมสองอย่างของคุณออกไป นั่นคือ เวลา และความซับซ้อนที่ยากต่อการเข้าใจ (obscurity)

ตอนนี้ผู้โจมตีใช้ AI เพื่อหาช่องโหว่ ในขณะที่นักพัฒนาใช้ AI เพื่อเขียนโค้ด ซึ่งโค้ดดังกล่าวมักจะข้ามขั้นตอนด้านความปลอดภัย เช่น:

  • การทำ Escaping ข้อมูล
  • การตรวจสอบสิทธิ์ (Capability checks)
  • การตรวจสอบ Nonce (Nonce validation)

ระยะเวลาตั้งแต่มีการรายงานบั๊กต่อสาธารณะไปจนถึงการถูกโจมตีในวงกว้างเหลือเพียง 5 ชั่วโมงเท่านั้น นั่นไม่ใช่เวลาเพียงพอสำหรับการตอบโต้ แต่มันคือการแข่งขันที่คุณจะพ่ายแพ้

ผมเรียนรู้เรื่องนี้ด้วยบทเรียนที่ราคาแพง ผมเคยสร้างปลั๊กอิน AI chatbot และการตรวจสอบความปลอดภัยพบว่ามีบั๊กถึง 35 จุดในโค้ดของผม หนึ่งในนั้นคือ HTML injection

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

ผมเปลี่ยนขั้นตอนการทำงานใหม่ ผมไม่ทึกทักเอาเองว่าโค้ดปลอดภัยเพียงเพราะมันทำงานได้ ผมตรวจสอบทุกส่วนที่เขียนโดย AI ด้วยตัวเองใน 3 ด้าน:

  • Input: ข้อมูลเข้าสู่ระบบอย่างไร
  • Output: ข้อมูลออกจากระบบอย่างไร
  • Permissions: ใครสามารถดำเนินการนั้นได้บ้าง

ในด้าน Output ตอนนี้ผมใช้ฟังก์ชันอย่าง esc_html และ wp_kses ผมใช้ $wpdb->prepare สำหรับการเขียนข้อมูลลงฐานข้อมูลทุกครั้ง และตรวจสอบสิทธิ์ด้วย current_user_can ในทุกจุดที่มีการเข้าถึง (entry point)

วิกฤตที่แท้จริงไม่ใช่แค่เรื่องบั๊ก แต่มันคือระยะเวลาในการตอบสนอง

  • 52% ของนักพัฒนาไม่ได้ปล่อยแพตช์ (patch) ก่อนที่บั๊กจะถูกเปิดเผยต่อสาธารณะ
  • 46% ของบั๊กที่ถูกเปิดเผยไม่มีวิธีแก้ไขรองรับเลย

นักพัฒนาส่วนใหญ่เป็นผู้พัฒนาอิสระ (solo authors) พวกเขาไม่ได้ถูกจ้างมาเพื่อแก้ไขบั๊กอย่างรวดเร็ว และ AI ก็ทำให้ช่องว่างนี้เห็นได้ชัดเจนยิ่งขึ้น

หากคุณทำปลั๊กอิน อย่าเพียงแค่เขียนอย่างระมัดระวังแล้วภาวนา ให้สันนิษฐานไว้ก่อนว่าผู้โจมตีจะพบช่องโหว่ของคุณภายในไม่กี่วินาที

สร้างการป้องกันเหล่านี้:

  • ตรวจสอบ input, output และ permissions ด้วยตัวเองทั้งหมด
  • ทำความสะอาด (Sanitize) ผลลัพธ์จากโมเดลทั้งหมด
  • สร้างช่องทางให้ผู้คนสามารถรายงานบั๊กให้คุณทราบเป็นการส่วนตัวได้

การระบุช่องทางติดต่อด้านความปลอดภัยง่ายๆ ไว้ใน readme คือจุดเริ่มต้น คุณจำเป็นต้องมีช่องทางรับรายงานก่อนที่บั๊กจะกลายเป็นภัยคุกคามต่อสาธารณะ

Source: https://dev.to/rapls/ai-found-300-wordpress-plugin-zero-days-in-72-hours-i-build-plugins-heres-what-changed-for-me-43na