dotsagent.io
ภาษา:ไทย

GitHub MCP toxic agent flow รั่วไหลข้อมูลจาก repo ส่วนตัวผ่าน issue สาธารณะ

Invariant Labs แสดงให้เห็นว่า issue สาธารณะบน GitHub ที่เป็นอันตรายสามารถชี้นำ agent บน GitHub MCP server ให้คัดลอกข้อมูลจาก repo ส่วนตัวไปยัง pull request สาธารณะได้

เกิดอะไรขึ้น

เมื่อวันที่ 26 May 2025 Invariant Labs เปิดเผยสิ่งที่เรียกว่า toxic agent flow ซึ่งเกี่ยวข้องกับ GitHub MCP server ผู้โจมตีเปิด issue ใน repository สาธารณะ แล้วใส่คำสั่งที่มุ่งเป้าไปยัง agent เมื่อ agent อ่าน issue ที่ยังเปิดอยู่ในภายหลัง ก็จะรับข้อความที่ฝังไว้และทำตาม

token ของ agent อาจเข้าถึง repository ส่วนตัวของเจ้าของได้ด้วย เมื่อทำตามคำสั่งใน issue agent ก็ดึงข้อมูลจาก repository ส่วนตัวเหล่านั้น แล้วเผยแพร่ใน pull request บน repository สาธารณะ ซึ่งใคร ๆ ก็อ่านได้

เหตุใดจึงโจมตีสำเร็จ

องค์ประกอบทั้งสามของ lethal trifecta อยู่ใน session เดียวกัน ได้แก่ token ที่เข้าถึง repository ส่วนตัวได้ ข้อความที่ไม่น่าเชื่อถือจาก issue สาธารณะ และ pull request สาธารณะที่ใช้เป็นช่องทางนำข้อมูลออก แต่ละอย่างแยกกันดูเป็นเรื่องปกติ เมื่อรวมกันแล้ว ใครก็ตามที่เปิด issue ได้ก็สามารถอ่านทุกอย่างที่ token เข้าถึงได้

สิ่งที่ควรทำ

  • กำหนด token ที่จำกัดสิทธิ์ไว้เฉพาะ repository นั้นให้ agent ที่อ่าน issue สาธารณะ
  • แยก repository สาธารณะและส่วนตัวให้อยู่คนละ session ของ agent
  • กำหนดให้ต้องอนุมัติก่อน agent จะเปิด pull request แสดงความคิดเห็น หรือ commit ใน repository สาธารณะ
  • ถือว่าชื่อ issue เนื้อหา และความคิดเห็นเป็นข้อมูลนำเข้าที่ไม่น่าเชื่อถือ

ตัดวงจรสามปัจจัยอันตรายใช้ข้อมูลรับรองสิทธิ์ขั้นต่ำกำหนดให้อนุมัติก่อนการกระทำที่มีผลสำคัญ

ทำตามรายการตรวจสอบความปลอดภัย →

แหล่งที่มา

  1. invariantlabs.ai/blog/mcp-github-vulnerability