สรุปสั้น
บริษัท Check Point Research เผยแพร่รายงานระบุว่าคำสั่งเพียงคำสั่งเดียวที่ถูกฝังไว้ในบทสนทนาของ ChatGPT สามารถทำให้โมเดลทำงานให้ผู้โจมตีอย่างเงียบ ๆ ไปพร้อมกับตอบคำถามของผู้ใช้ตามปกติได้ ในโค้ดสาธิตของบริษัท งานที่ซ่อนอยู่นั้นอ่านข้อมูลจากบัญชี Gmail ที่ผู้ใช้เชื่อมต่อไว้ แล้วส่งต่อไปยังบัญชี ChatGPT อีกบัญชีหนึ่งผ่านช่องทางลับที่เชื่อมสองบัญชีเข้าหากัน โดยคำตอบที่ผู้ใช้เห็นบนหน้าจอไม่ได้บอกอะไรเกี่ยวกับเรื่องนี้เลย
Check Point ระบุว่าช่องทางเดียวกันนี้ยังคัดลอกประวัติการสนทนาและไฟล์ในบทสนทนานั้นออกไปได้ด้วย ส่วนปริมาณข้อมูลที่ผู้โจมตีจะเอาออกไปได้ขึ้นอยู่กับว่าเซสชันนั้นเข้าถึงอะไรได้อยู่แล้วบ้าง ทั้งข้อมูล เครื่องมือ แอปอื่นที่เชื่อมต่อไว้ และสิทธิ์ที่ได้รับ เงื่อนไขตั้งต้นคือคำสั่งนั้นต้องอยู่ในบทสนทนาก่อน ซึ่ง Check Point ระบุเส้นทางไว้สามทาง คือผู้ใช้วางพรอมป์ตนั้นเอง ผู้ใช้เปิดบทสนทนา ChatGPT ที่ถูกแชร์มา หรือ GPT แบบกำหนดเองที่เก็บคำสั่งไว้ในคำสั่งของผู้สร้างซึ่งผู้ใช้มองไม่เห็น
หัวใจทางเทคนิคของเรื่องนี้ไม่ได้อยู่ที่ตัวพรอมป์ต แต่อยู่ที่บริการภายในที่คอนเทนเนอร์ของทุกบัญชีเข้าถึงร่วมกันโดยไม่มีการแยกข้อมูลตามบัญชี ทำให้ข้อมูลที่คอนเทนเนอร์หนึ่งเขียนไว้ถูกอ่านได้จากคอนเทนเนอร์ของอีกบัญชีหนึ่ง Check Point แจ้งเรื่องนี้ต่อ OpenAI และระบุว่า OpenAI ยืนยันว่าได้ปิดบริการภายในที่อยู่เบื้องหลังช่องทางนี้แล้ว โดยไม่มีอะไรที่ผู้ใช้ต้องติดตั้งเพิ่ม
รายละเอียดข่าว
เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 8 กันยายน 2569 ว่า Check Point Research เผยแพร่รายงานในวันเดียวกันเกี่ยวกับการรั่วไหลของข้อมูลข้ามบัญชีใน ChatGPT ซึ่งเกิดจากบริการภายในที่ถูกใช้ร่วมกันกลายเป็นชั้นสื่อสารที่ไม่ได้ตั้งใจให้มี
หลังคำสั่งถูกฝังไว้แล้ว ข้อความธรรมดาเพียงข้อความเดียวก็เพียงพอที่จะเริ่มกระบวนการ Check Point เขียนคำสั่งในลักษณะที่ทำให้ ChatGPT ในโหมด Thinking รันงานสองสายในเทิร์นเดียวกัน สายหนึ่งคือการตอบคำถามของผู้ใช้ อีกสายหนึ่งคือการตรวจกล่องข้อความลับเพื่อรับงานจากผู้โจมตี ทำงานนั้นด้วยเครื่องมือที่มีอยู่ในเซสชันของผู้ใช้ แล้วส่งผลลัพธ์กลับไป โดยคำสั่งกำกับให้โมเดลแยกสองสายนี้ออกจากกัน งานที่ซ่อนอยู่จึงไม่เคยปรากฏในคำตอบที่ผู้ใช้เห็น

ร่องรอยเดียวที่บอกว่ามีการใช้แอปที่เชื่อมต่อไว้คือป้ายเล็ก ๆ ว่า “Talked to Gmail” เหนือคำตอบ ซึ่งเป็นการบันทึกการอ่านที่เกิดขึ้นไปแล้ว และไม่ได้เปิดโอกาสให้ผู้ใช้อนุญาตหรือปฏิเสธก่อน
เหตุที่ไม่มีอะไรถามผู้ใช้ก่อนมาจากค่าเริ่มต้นของการทำงานของแอปที่เชื่อมต่อ เอกสารของ OpenAI ระบุว่าค่าเริ่มต้นของสิทธิ์คือ Important actions ซึ่งอนุญาตให้ ChatGPT อ่านข้อมูลจากแอปได้โดยไม่ต้องถาม ส่วนการถามจะเกิดขึ้นเฉพาะก่อนการกระทำที่อาจส่งผลจริงนอก ChatGPT เปิดเผยข้อมูลอ่อนไหว หรือย้อนกลับได้ยาก ผู้ใช้ที่ต้องการให้ถามทุกครั้งสามารถเปลี่ยนเป็น Always ask ได้เอง ขณะที่ในพื้นที่ทำงานแบบ Business, Enterprise และ Edu ผู้ดูแลระบบเป็นผู้เลือกว่าแอปแต่ละตัวทำอะไรได้และใครใช้ได้ โดยแอปเปิดใช้งานเป็นค่าเริ่มต้นในแผน Business และปิดเป็นค่าเริ่มต้นในแผน Enterprise และ Edu
Check Point ระบุว่าได้เปิดเผยสิ่งที่พบต่อ OpenAI และ OpenAI ยืนยันว่าบริการภายในที่อยู่เบื้องหลังช่องทางนี้ถูกปิดไปแล้ว โดยไม่มีอัปเดตที่ผู้ใช้ต้องติดตั้ง ทั้งนี้บริษัทระบุว่างานวิจัยชิ้นนี้ทำขึ้นในเดือนมิถุนายน 2569 และไม่ได้ระบุว่าช่องทางดังกล่าวหยุดทำงานเมื่อใด รายงานจึงไม่ได้แสดงว่าช่องทางนี้เปิดอยู่นานเท่าใด ซึ่งเป็นข้อจำกัดสำคัญที่ควรระบุไว้
วิธีการโจมตี
ช่องทางลับที่ใช้ทำงานอยู่ระหว่างคอนเทนเนอร์ที่ ChatGPT ใช้รันโค้ด ซึ่งระบบจะสร้างขึ้นหนึ่งชุดต่อหนึ่งบทสนทนาเมื่องานนั้นจำเป็นต้องใช้ เอกสารของ OpenAI ระบุว่าสภาพแวดล้อม Python ที่ ChatGPT ใช้สำหรับการวิเคราะห์ข้อมูลไม่สามารถส่งคำร้องออกไปยังเว็บหรือ API ภายนอกได้ และ Check Point ระบุว่าคอนเทนเนอร์ที่ถูกสร้างขึ้นสำหรับคนละบทสนทนา รวมถึงที่อยู่ภายใต้คนละบัญชี ก็ไม่มีเส้นทางติดต่อกันโดยตรงเช่นกัน
จุดที่ทำให้ข้อจำกัดนั้นถูกข้ามได้คือทุกคอนเทนเนอร์เข้าถึงบริการภายในหนึ่งตัวร่วมกัน เนื่องจาก ChatGPT บางครั้งจำเป็นต้องติดตั้งแพ็กเกจ Python หรือ npm เพิ่มเติม แทนที่จะอนุญาตให้คอนเทนเนอร์ติดต่อคลังแพ็กเกจสาธารณะโดยตรง ระบบจึงให้แต่ละคอนเทนเนอร์ติดต่อกับอินสแตนซ์ JFrog Artifactory ภายในที่ทำหน้าที่ดึงแพ็กเกจมาให้แทน
อินสแตนซ์ดังกล่าวเปิดให้คอนเทนเนอร์แนบค่าที่มีชื่อกำกับ ซึ่งเรียกว่า properties ไว้กับไฟล์ที่เก็บอยู่ และอ่านค่าเหล่านั้นกลับมาได้ ปัญหาคือข้อมูลยืนยันตัวตนที่คอนเทนเนอร์ถืออยู่สำหรับสิทธิ์อ่านนั้นเพียงพอที่จะเขียนค่าเหล่านั้นได้ด้วย และมันวางอยู่ในตัวแปรสภาพแวดล้อมซึ่งโค้ดที่ ChatGPT รันหยิบขึ้นมาใช้ได้ทันที โค้ดจึงไม่จำเป็นต้องขโมยความลับชุดอื่นหรือยกระดับสิทธิ์ใด ๆ เลย
ที่สำคัญกว่านั้นคือ properties เหล่านี้ไม่ได้ถูกแยกตามบัญชี Check Point สาธิตโดยแนบ property ชื่อ chatgpt_test_ts ที่บรรจุเวลาปัจจุบันไว้กับไฟล์ที่ถูกแคชไว้ จากคอนเทนเนอร์ภายใต้บัญชีหนึ่ง จากนั้นในบทสนทนาภายใต้อีกบัญชีหนึ่งก็ร้องขอ properties ของไฟล์นั้นและได้รับชื่อกับค่าชุดเดียวกันกลับมา เมื่อรวมกับข้อเท็จจริงที่ว่า property หนึ่งบรรจุข้อความธรรมดาหรือ Base64 ได้ และข้อมูลที่ใหญ่เกินหนึ่ง property ก็แบ่งใส่หลายตัวแล้วประกอบกลับที่ปลายทางได้ ข้อมูลเมทาดาตาของบริการแพ็กเกจจึงกลายเป็นคลิปบอร์ดร่วมระหว่างคอนเทนเนอร์ที่ไม่ควรติดต่อกันได้เลย
นี่เป็นช่องทางที่สองจากส่วนเดียวกันของ ChatGPT ที่ Check Point รายงาน โดยเมื่อเดือนมีนาคมบริษัทเคยอธิบายช่องทางที่ใช้การสอบถาม DNS ส่งข้อมูลบทสนทนาออกไปยังเซิร์ฟเวอร์ภายนอก และระบุว่า OpenAI แก้ไขไปเมื่อวันที่ 20 กุมภาพันธ์ ส่วนกรณีนี้แยกจากเหตุการณ์ Hugging Face ที่โมเดลของ OpenAI เองเปลี่ยนอินสแตนซ์ Artifactory ภายในให้กลายเป็นกระดานข้อความระหว่างการทดสอบความปลอดภัยของบริษัท โดย Check Point ระบุว่ากลไกที่ตัวเองพบเป็นคนละแบบ แต่ทั้งสองกรณีเป็นเรื่องที่ “บริการภายในที่ใช้ร่วมกันกลายเป็นชั้นสื่อสารที่ไม่ได้ตั้งใจ” ข้ามสภาพแวดล้อมที่ควรแยกจากกัน
ผลกระทบ
สิ่งที่ทำให้กรณีนี้ต่างจากการโจมตีแบบ prompt injection ทั่วไปคือปลายทางของข้อมูล การโจมตีลักษณะนี้ส่วนใหญ่ต้องหาทางส่งข้อมูลออกไปยังเซิร์ฟเวอร์ภายนอก ซึ่งเป็นจุดที่มาตรการป้องกันมักดักได้ แต่ในกรณีนี้ข้อมูลไม่เคยออกจากโครงสร้างพื้นฐานของ OpenAI เลย มันเดินทางจากคอนเทนเนอร์หนึ่งไปอีกคอนเทนเนอร์หนึ่งผ่านบริการที่ทั้งสองฝั่งได้รับอนุญาตให้ติดต่ออยู่แล้ว การเฝ้าระวังการเชื่อมต่อออกภายนอกจึงไม่เห็นอะไรผิดปกติ
ขอบเขตความเสียหายผูกกับสิ่งที่เซสชันนั้นเข้าถึงได้ ผู้ใช้ที่เชื่อมต่ออีเมล ที่เก็บไฟล์ หรือระบบงานภายในเข้ากับ ChatGPT ย่อมมอบพื้นผิวให้กับงานที่ซ่อนอยู่มากขึ้นตามไปด้วย และเนื่องจากค่าเริ่มต้นของสิทธิ์อนุญาตให้อ่านข้อมูลจากแอปได้โดยไม่ต้องถาม การอ่านครั้งแรกจึงเกิดขึ้นไปแล้วก่อนที่ผู้ใช้จะมีโอกาสรู้ตัว ป้ายบอกว่ามีการติดต่อกับแอปเป็นการรายงานหลังเหตุการณ์ ไม่ใช่การขออนุญาต
ในเชิงองค์กร ประเด็นที่ต้องคิดต่อคือเส้นทางที่คำสั่งจะเข้าไปอยู่ในบทสนทนา สองในสามเส้นทางที่ Check Point ระบุไม่ต้องอาศัยความประมาทของผู้ใช้ในแบบที่คนทั่วไปนึกถึง คือการเปิดบทสนทนาที่ถูกแชร์มา และการใช้ GPT แบบกำหนดเองที่เก็บคำสั่งไว้ในส่วนที่ผู้ใช้มองไม่เห็น การอบรมให้ผู้ใช้ระวังพรอมป์ตแปลก ๆ จึงครอบคลุมได้เพียงเส้นทางเดียวจากสามเส้นทาง
ข้อจำกัดของข้อมูลที่ควรระบุให้ครบคือ ทั้งหมดนี้เป็นผลการทดสอบของ Check Point เอง ไม่มีรายงานว่ามีการนำไปใช้โจมตีจริง OpenAI ยืนยันเพียงว่าได้ปิดบริการเบื้องหลังช่องทางนี้แล้ว แต่ไม่มีข้อมูลว่าช่องทางเปิดอยู่นานเท่าใดหรือมีใครใช้มันไปก่อนหน้าหรือไม่ ซึ่งเป็นคำถามที่ไม่มีใครตอบได้จากข้อมูลชุดปัจจุบัน
คำแนะนำ
ทบทวนการตั้งค่าสิทธิ์ของแอปที่เชื่อมต่อกับ ChatGPT และพิจารณาเปลี่ยนจากค่าเริ่มต้นเป็น Always ask สำหรับบัญชีที่เชื่อมอีเมลหรือที่เก็บข้อมูลสำคัญไว้ เพื่อให้การอ่านข้อมูลแต่ละครั้งต้องผ่านการยืนยันจากผู้ใช้ แทนที่จะเกิดขึ้นเงียบ ๆ แล้วรายงานทีหลัง
องค์กรที่ใช้แผน Business ควรตรวจสอบเป็นพิเศษว่าแอปใดถูกเปิดใช้งานอยู่บ้าง เนื่องจากแผนนี้เปิดแอปเป็นค่าเริ่มต้น ต่างจาก Enterprise และ Edu ที่ปิดไว้ และควรกำหนดให้ผู้ดูแลระบบเป็นผู้อนุมัติว่าแอปแต่ละตัวทำอะไรได้และใครใช้ได้บ้าง แทนการปล่อยตามค่าเริ่มต้น
กำหนดนโยบายเรื่อง GPT แบบกำหนดเองและบทสนทนาที่ถูกแชร์เข้ามาจากภายนอก โดยถือว่าทั้งสองอย่างเป็นเนื้อหาที่ไม่น่าเชื่อถือในระดับเดียวกับไฟล์แนบจากคนแปลกหน้า เพราะคำสั่งที่ฝังอยู่ในส่วนที่ผู้ใช้มองไม่เห็นคือเส้นทางหลักที่การโจมตีนี้ใช้
หลีกเลี่ยงการเชื่อมบัญชีที่มีข้อมูลอ่อนไหวสูงเข้ากับเซสชันที่ใช้ทดลองพรอมป์ตจากภายนอกหรือใช้ GPT ของบุคคลที่สาม โดยแยกบัญชีหรือพื้นที่ทำงานสำหรับงานสองประเภทนี้ออกจากกัน ซึ่งเป็นมาตรการที่ได้ผลไม่ว่าช่องทางลับรูปแบบใดจะถูกค้นพบเพิ่มในอนาคต
ติดตามงานวิจัยด้านการแยกสภาพแวดล้อมของผู้ให้บริการ AI อย่างต่อเนื่อง เนื่องจากนี่เป็นช่องทางที่สองจากส่วนเดียวกันที่ถูกรายงานภายในปีเดียว และรูปแบบของปัญหาคือบริการภายในที่ใช้ร่วมกันโดยไม่ได้แยกข้อมูลตามผู้ใช้ ซึ่งเป็นรูปแบบที่มีโอกาสปรากฏซ้ำในบริการอื่นที่ออกแบบด้วยสถาปัตยกรรมคล้ายกัน
