สรุปสั้น

AI ผู้ช่วยเขียนโค้ดมีนิสัยชอบ “มโน” ข้อมูลขึ้นมาเอง เมื่อสั่งให้ดึงเครื่องมือยอดนิยมสักตัว บางครั้งมันจะให้ชื่อโครงการที่ฟังดูสมจริงกลับมา ทั้งที่โครงการนั้นไม่มีอยู่จริง งานวิจัยใหม่ที่ผู้เขียนเรียกว่า HalluSquatting เปลี่ยนนิสัยนี้ให้กลายเป็นการโจมตี ด้วยการหาชื่อปลอมที่ AI มักคิดขึ้นซ้ำ ๆ อย่างสม่ำเสมอ แล้วไปจดชื่อนั้นไว้ก่อน จากนั้นก็รอให้ผู้ช่วย AI ดึงกับดักนั้นมาให้แทนผู้ใช้

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

รายละเอียดข่าว

เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 8 กรกฎาคม 2569 ว่างานวิจัยใหม่ชื่อ HalluSquatting มาจาก น.ส. Aya Spira และคณะในกลุ่มของ นาย Ben Nassi ที่มหาวิทยาลัย Tel Aviv ร่วมกับ นาย Stav Cohen จากสถาบัน Technion และ นาย Ron Bitton จากบริษัท Intuit โดยกลุ่มของ Nassi เคยสร้างเวิร์มอีเมล AI ที่แพร่กระจายตัวเอง และคำเชิญปฏิทินที่ยึดการทำงานของ Gemini ของ Google มาแล้ว

สิ่งที่ทำให้การโจมตีนี้ใช้ได้จริงคือชื่อปลอมที่ AI สร้างไม่ใช่ชื่อสุ่ม ในการทดลองของนักวิจัย ความผิดพลาดนั้นสม่ำเสมอ กล่าวคือ ไม่ว่าจะถามด้วยถ้อยคำต่างกันหรือใช้โมเดลจากคนละบริษัท ผู้ช่วยก็มักเลือกชื่อผิดชื่อเดิมสูงถึง 85% ของคำขอดึง repository และ 100% ของการติดตั้ง skill ซึ่งเป็นอัตราสูงสุดที่ผู้เขียนรายงานไว้ ทีมวิจัยทดสอบกับเครื่องมือหลายตัว รวมถึง Cursor, Windsurf, GitHub Copilot, Cline, Gemini CLI ของ Google และผู้ช่วยตระกูล OpenClaw โดยทำให้แต่ละตัวรันโค้ดของผู้โจมตีได้ ทั้งนี้ payload ที่ใช้ทดสอบเป็นเพียงตัวแทนที่ไม่มีอันตราย ไม่ใช่มัลแวร์จริง แต่ของจริงก็จะเดินตามเส้นทางเดียวกัน ทีมวิจัยระบุว่าได้แจ้งผู้ผลิตที่ได้รับผลกระทบ ผู้สร้างโมเดล และผู้ดูแล marketplace ก่อนเปิดเผยต่อสาธารณะ และกันขั้นตอนที่จำเป็นต่อการทำซ้ำการโจมตีเอาไว้

วิธีการโจมตี

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

สิ่งที่ทำให้ HalluSquatting เป็นบอตเน็ตรูปแบบใหม่คือมันไม่ต้องอาศัยรหัสผ่านที่อ่อนแอหรือมัลแวร์ที่ไต่จากเครื่องสู่เครื่องแบบเวิร์มดั้งเดิม และเพราะ payload มาถึงในรูปข้อความที่ AI อ่าน ไม่ใช่การเจาะผ่านเครือข่าย มันจึงไม่ใช่สิ่งที่ไฟร์วอลล์เฝ้าดู อีกทั้งเครื่องที่ตกเป็นเหยื่อจะรันระบบปฏิบัติการอะไรก็ได้ ไม่จำกัดอยู่ที่อุปกรณ์ชนิดเดียว กล่าวได้ว่า AI เป็นเพียง “รถส่งของ” ไม่ใช่ตัวสินค้า คำสั่งที่ปลูกไว้หลอกให้มันติดตั้งบอตธรรมดา แล้วเมื่อบอตทำงาน เครื่องนั้นก็กลายเป็นส่วนหนึ่งของบอตเน็ตเช่นเดียวกับกรณีทั่วไป ทั้งนี้แนวคิดพื้นฐานไม่ใช่เรื่องใหม่ ผู้โจมตีเคยเรียนรู้การจดชื่อแพ็กเกจซอฟต์แวร์ปลอมที่ AI คิดขึ้น ซึ่งเรียกว่า slopsquatting โดยเมื่อมกราคม 2569 นาย Charlie Eriksen จากบริษัท Aikido Security พบแพ็กเกจ npm ที่ถูกคิดขึ้นชื่อ react-codeshift ที่คำสั่งซึ่ง AI เขียนได้แพร่ไปยังโครงการโค้ดแล้ว 237 โครงการ และ agent ยังพยายามติดตั้งมันทุกวัน เขาจึงจดทะเบียนชื่อนั้นเองก่อนที่ผู้โจมตีจะทำได้ ต่อมาแนวคิดขยับจากแพ็กเกจไปสู่ที่อยู่เว็บ เมื่อ Unit 42 ของ Palo Alto Networks อธิบายเทคนิค phantom squatting ที่มีโดเมนหลอนราว 250,000 โดเมนยังไม่มีเจ้าของ ส่วน HalluSquatting คือเวอร์ชันที่ไปไกลถึงขั้นรันโค้ดด้วยการยึด agent ที่ทำหน้าที่ดึงทรัพยากร และ marketplace ที่ควรคัดกรองไฟล์อันตรายก็ไม่ได้เป็นแนวป้องกันที่แข็งแรงนัก เพราะเมื่อเดือนมิถุนายน บริษัท Trail of Bits สามารถแอบส่ง “skill” อันตรายผ่านเครื่องสแกนของร้านค้าหลายแห่งได้ในเวลาไม่ถึงชั่วโมง

ผลกระทบต่อไทย

นักพัฒนาและองค์กรในไทยที่นำ AI ผู้ช่วยเขียนโค้ด เช่น Cursor, GitHub Copilot, Gemini CLI หรือ Claude Code มาใช้ในงานประจำ ควรตระหนักว่าชื่อไลบรารีหรือปลั๊กอินที่ AI แนะนำอาจเป็นชื่อที่ถูกคิดขึ้นและถูกผู้โจมตีจดจองไว้ล่วงหน้า ความเสี่ยงนี้อันตรายเป็นพิเศษกับทีมที่เปิดโหมดให้ AI รันคำสั่งอัตโนมัติโดยไม่ต้องขออนุญาต เพราะโค้ดของผู้โจมตีจะถูกรันบนเครื่องนักพัฒนาหรือเซิร์ฟเวอร์ CI/CD ได้ทันที และเนื่องจากการโจมตีมาในรูปข้อความที่ AI อ่าน ไม่ใช่การเจาะผ่านเครือข่าย ไฟร์วอลล์และเครื่องมือความปลอดภัยเครือข่ายแบบเดิมจึงมองไม่เห็น องค์กรไทยที่พัฒนาซอฟต์แวร์จึงควรวางนโยบายการใช้ AI agent อย่างรัดกุมก่อนที่เทคนิคนี้จะถูกนำมาใช้จริงในวงกว้าง

คำแนะนำ

หัวใจของการโจมตีอยู่ที่เงื่อนไขเดียว คือ agent ที่ดึงทรัพยากรจากภายนอกแล้วรันโดยไม่มีใครตรวจสอบ หากปิดช่องนี้ได้ การโจมตีก็หยุด วิธีแก้ที่ได้ผลที่สุดและง่ายที่สุดคือให้ผู้ช่วยค้นหา (search) ก่อนที่จะดึง (fetch) เพราะการค้นหาจริงจะยึดโยง agent กับสิ่งที่มีอยู่จริงและลดการเดาลงอย่างมาก ซึ่งเป็นหน้าที่ของผู้สร้างเครื่องมือที่จะฝึกส่วนวางแผนให้ค้นหาทรัพยากรก่อนและถือคำอย่าง clone, install, fetch เป็นสัญญาณเตือน สำหรับผู้ใช้และทีมความปลอดภัย โดยปกติ agent เหล่านี้จะถามก่อนรันคำสั่ง ความเสี่ยงอยู่ที่โหมดรันอัตโนมัติ เช่น แฟล็ก skip-permissions ของ Claude Code และโหมด yolo ของ Gemini CLI ที่ปิดการถามนั้น กฎข้อแรกจึงคืออย่าปล่อยให้ agent รันแบบไม่มีคนดูแลกับสิ่งที่มันดึงมา นอกจากนี้ควรตรวจสอบว่าชื่อ repository หรือแพ็กเกจ resolve ไปยังต้นทางจริงที่คาดหวังก่อนให้ agent ดึงเข้ามา และถือว่าชื่อใด ๆ ที่ AI ให้มาเป็นเพียงการคาดเดา ไม่ใช่ข้อเท็จจริง ส่วนแพลตฟอร์มควรหยุดการปล่อยให้ผู้ใช้นำชื่อ repository ที่รู้จักดีไปใช้ซ้ำภายใต้บัญชีใหม่ และจดชื่อปลอมที่ AI มักคิดขึ้นไว้ล่วงหน้าให้ชี้กลับไปยังโครงการจริง เช่นเดียวกับแนวป้องกัน typosquatting

แหล่งอ้างอิง