กลับไปหน้าข่าวสาร

พบช่องโหว่ตระกูล "GitSpawn" เปิดทางฝังคำสั่งอันตรายใน Repository โจมตี AI Coding Agent โดยไม่ต้องกดยืนยัน

แชร์:

นักวิจัยด้านความปลอดภัยจาก Manifold Security เปิดเผยช่องโหว่ตระกูลใหม่ที่ตั้งชื่อว่า GitSpawn ซึ่งทำให้ Repository ที่ถูกดัดแปลงเป็นอันตรายสามารถรันคำสั่งบนเครื่องของนักพัฒนาได้ทันทีเมื่อเปิดผ่าน AI Coding Agent เช่น Claude Code, Codex, Cursor, Goose, Hermes Agent, Qwen Code และ Grok Build โดยผู้ใช้ไม่จำเป็นต้องพิมพ์ Prompt หรือกดยืนยันใดๆ และในบางกรณีสามารถทำงานได้ก่อนที่ผู้ใช้จะ Authenticate ด้วยซ้ำ


รายละเอียดช่องโหว่


จุดเริ่มต้น: พฤติกรรมปกติของ AI Coding Agent


ทีมวิจัยของ Manifold Security ค้นพบช่องโหว่นี้ระหว่างการศึกษาว่า CLI-based Coding Agent ทำอะไรบ้างเมื่อเริ่มทำงาน (Startup) พบว่าเกือบทุก Agent ที่ตรวจสอบจะเรียกใช้คำสั่ง Git โดยอัตโนมัติในเบื้องหลัง เช่น git status หรือ git diff เพื่อรวบรวมบริบทของโปรเจกต์ให้ AI เข้าใจโครงสร้างงานที่กำลังทำอยู่ พฤติกรรมนี้ดูเหมือนไม่มีอะไรผิดปกติในตัวมันเอง แต่ปัญหาคือคำสั่ง Git เหล่านี้ทุกคำสั่งจะกระตุ้นให้ Git ทำการ Refresh Internal Index ซึ่งเป็นจุดที่อันตรายซ่อนอยู่


กลไกของช่องโหว่: การใช้ core.fsmonitor


Git มีค่า Configuration ที่ชื่อ core.fsmonitor ซึ่งเป็นการตั้งค่าด้าน Performance ที่อนุญาตให้ Repository กำหนดโปรแกรม Helper ที่ Git จะเรียกใช้งานโดยอัตโนมัติทุกครั้งที่ Index Refresh แม้จะเป็น Documented Feature ที่ตั้งใจให้ใช้งาน แต่ค่านี้ถูกอ่านโดยตรงจากไฟล์ .git/config ของ Repository เอง


หมายความว่า Repository ที่เป็นอันตรายสามารถฝังคำสั่งใดๆ ไว้ใน Configuration ของตัวเอง และเมื่อ AI Agent เรียกใช้คำสั่ง Git ธรรมดาเพื่อรวบรวมบริบทภายใน Repository นั้น คำสั่งที่ฝังไว้จะรันด้วยสิทธิ์เต็มของผู้ใช้ที่ Login อยู่ในเครื่อง นอก Sandbox ของ AI Agent และไม่ผ่านระบบขออนุญาตใดๆ ที่มองเห็นได้


ช่องทางการโจมตี


จุดสำคัญที่ต้องทราบคือการโจมตีนี้ไม่สามารถส่งผ่านคำสั่ง git clone, fetch หรือ pull แบบปกติได้ เนื่องจากคำสั่งเหล่านี้ไม่ได้ส่งไฟล์ .git/config ที่เป็นอันตรายไปด้วย ผู้โจมตีจึงต้องส่ง Repository ที่มี .git Directory ติดมาด้วยในรูปแบบไฟล์ เช่น ผ่านโฟลเดอร์ที่บีบอัด (ZIP), Shared Drive, Synced Directory หรือ USB Stick ซึ่งเป็นวิธีที่เพื่อนร่วมงานหรือที่ปรึกษาภายนอกมักใช้ส่งต่อโปรเจกต์กันเป็นปกติ ทำให้เป็นช่องทางที่แนบเนียนและยากต่อการตั้งข้อสงสัย


ขอบเขตผลกระทบและสถานะการแพตช์


ทีมวิจัยยืนยันช่องโหว่ในลักษณะนี้ครอบคลุม Claude Code, Goose, Hermes Agent, Qwen Code และ Grok Build ซึ่งรวมกันมียอด GitHub Star เกือบครึ่งล้าน และในกรณีของ Claude Code เพียงตัวเดียวมียอดดาวน์โหลดผ่าน npm มากกว่า 77 ล้านครั้งต่อเดือน นอกจากนี้ยังพบว่า OpenAI Codex และ Cursor ได้รับผลกระทบผ่าน Variant ของช่องโหว่ประเภทเดียวกัน โดยทั้งสองได้รับการแพตช์แล้วหลังมีการรายงาน


จากทั้งหมด 8 ปัญหาที่ทีมวิจัยติดตาม มี 4 รายการที่ยังไม่ได้รับการแก้ไข ณ เวลาเผยแพร่รายงาน รวมถึงปัญหาเฉพาะใน Claude Code ที่เกี่ยวข้องกับคำสั่ง ultrareview ซึ่งใช้ Git Configuration Key อีกตัวหนึ่งที่แตกต่างจาก core.fsmonitor (ทีมวิจัยจงใจไม่เปิดเผยรายละเอียดเพื่อไม่ให้เป็นแม่แบบสำหรับผู้โจมตี) ขณะที่ Goose ได้รับการแพตช์แล้วและถูกกำหนดหมายเลข CVE-2026-72718 ส่วน Hermes Agent ถูกกำหนดหมายเลข CVE-2026-71963 หลังจาก Vendor ไม่ตอบสนองการติดต่อถึง 6 ครั้ง


ผลกระทบที่อาจเกิดขึ้น


  1. นักพัฒนาที่รับ Repository เป็นไฟล์แทนการ Clone จาก Remote โดยตรง เช่น จากเพื่อนร่วมงาน ที่ปรึกษา หรือ Vendor ภายนอก มีความเสี่ยงถูกรันคำสั่งอันตรายโดยไม่รู้ตัวทันทีที่เปิดผ่าน AI Coding Agent โดยไม่มีสัญญาณเตือนใดๆ ปรากฏให้เห็น
  2. คำสั่งที่รันผ่านช่องโหว่นี้มีสิทธิ์เทียบเท่าผู้ใช้ที่ Login อยู่บนเครื่อง และทำงานนอกขอบเขต Sandbox ของ AI Agent ทำให้ระบบขออนุญาตหรือกลไกความปลอดภัยที่ AI Agent มีอยู่ไม่สามารถสกัดกั้นการโจมตีนี้ได้
  3. เนื่องจาก AI Coding Agent ที่ได้รับผลกระทบมีฐานผู้ใช้งานจำนวนมากและกำลังได้รับความนิยมเพิ่มขึ้นอย่างรวดเร็วในวงการพัฒนาซอฟต์แวร์ ช่องโหว่ตระกูลนี้จึงมีพื้นที่การโจมตี (Attack Surface) ที่กว้างขวางกว่าช่องโหว่ในเครื่องมือเฉพาะกลุ่มทั่วไป
  4. การที่ยังมี 4 จาก 8 ปัญหาที่ยังไม่ได้รับการแก้ไข รวมถึงกรณีที่ Vendor ไม่ตอบสนองการติดต่อ สะท้อนว่าองค์กรไม่สามารถพึ่งพาการแพตช์จาก Vendor เพียงอย่างเดียวได้ในระยะสั้น และต้องมีมาตรการป้องกันเพิ่มเติมด้วยตนเอง


สิ่งที่องค์กรควรทำ


  1. ตรวจสอบไฟล์ .git/config ก่อนเปิด Repository ที่ได้รับมาในรูปแบบไฟล์ (ไม่ใช่ผ่าน Clone) ด้วย AI Coding Agent ใดๆ โดยเฉพาะ Repository จากแหล่งที่ไม่คุ้นเคยหรือไม่ผ่านกระบวนการตรวจสอบภายในองค์กร
  2. ติดตามประกาศและการอัปเดต Patch จาก Vendor ของ AI Coding Agent ที่องค์กรใช้งานอย่างใกล้ชิด โดยเฉพาะ Claude Code ที่ยังมีปัญหาบางส่วนไม่ได้รับการแก้ไข ณ เวลาที่เผยแพร่รายงานนี้
  3. พิจารณาปิดใช้งาน core.fsmonitor หรือกำหนดนโยบายควบคุมการตั้งค่า Git ที่มีความเสี่ยงในสภาพแวดล้อมการพัฒนาขององค์กร ผ่าน Global Git Configuration หรือเครื่องมือ Endpoint Management
  4. สร้างความตระหนักรู้ให้ทีมพัฒนาเกี่ยวกับความเสี่ยงของการรับ Repository เป็นไฟล์จากภายนอก และกำหนดแนวปฏิบัติให้ Clone จาก Remote Repository ที่เชื่อถือได้แทนการรับไฟล์โดยตรงเมื่อทำได้


แนวทางลดความเสี่ยงระยะยาว


1. กำหนดนโยบาย Sandbox ที่แท้จริงในระดับ Operating System สำหรับ AI Coding Agent ทุกตัวที่องค์กรใช้งาน

เนื่องจากช่องโหว่นี้แสดงให้เห็นว่า Sandbox ที่ AI Agent จัดเตรียมเองไม่สามารถป้องกันการรันคำสั่งที่มาจาก Git Hook ได้ องค์กรควรพิจารณาใช้ Container หรือ Virtual Machine แยกต่างหากสำหรับการทำงานกับ Repository ที่ไม่ผ่านการตรวจสอบ


2. จัดทำกระบวนการตรวจสอบ Repository ก่อนนำเข้าสู่สภาพแวดล้อมการพัฒนา

โดยเฉพาะ Repository ที่ได้รับจากภายนอกองค์กร ควรมีขั้นตอนตรวจสอบไฟล์ .git/config และ Configuration อื่นที่อาจแฝงคำสั่งอันตรายก่อนเปิดด้วยเครื่องมือใดๆ


3. ติดตามข่าวสารด้าน AI Security อย่างต่อเนื่อง เนื่องจากเป็นพื้นที่ที่มีการค้นพบช่องโหว่ใหม่อย่างรวดเร็ว

AI Coding Agent เป็นเครื่องมือที่ค่อนข้างใหม่และยังมีการพัฒนาด้าน Security ตามหลัง Feature การใช้งาน องค์กรที่นำมาใช้งานควรติดตามช่องโหว่ประเภทนี้อย่างใกล้ชิดกว่าเครื่องมือพัฒนาซอฟต์แวร์แบบดั้งเดิม


4. ทบทวนสิทธิ์การเข้าถึงของบัญชีผู้ใช้ที่รันงานพัฒนาซอฟต์แวร์ตามหลัก Least Privilege

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


วิเคราะห์ในมุมมองจาก TXEC


ช่องโหว่ GitSpawn เป็นตัวอย่างที่ชัดเจนของความเสี่ยงเชิงโครงสร้างที่เกิดขึ้นเมื่อเครื่องมือใหม่อย่าง AI Coding Agent ถูกสร้างขึ้นบนพฤติกรรมที่ออกแบบมาเพื่อความสะดวกและ Performance โดยไม่ได้พิจารณาผลกระทบด้าน Security อย่างรอบด้าน การที่ Feature อย่าง core.fsmonitor ซึ่งเป็น Documented Functionality ของ Git เองสามารถถูกนำมาใช้เป็นช่องทางโจมตีเมื่อผสมกับพฤติกรรม Auto-context-gathering ของ AI Agent สะท้อนให้เห็นว่าการรวมเครื่องมือหลายชั้นเข้าด้วยกันสามารถสร้างช่องโหว่ที่ไม่มีอยู่ในเครื่องมือแต่ละตัวเมื่อพิจารณาแยกกัน


TXEC มองว่าองค์กรที่มีทีมพัฒนาซอฟต์แวร์ซึ่งนำ AI Coding Agent มาใช้งานอย่างแพร่หลาย โดยเฉพาะในบริบทที่ต้องรับ Repository จากภายนอกบ่อยครั้ง เช่น การทำงานร่วมกับ Vendor หรือที่ปรึกษาภายนอก ควรพิจารณาความเสี่ยงนี้อย่างจริงจัง เนื่องจากเทรนด์การใช้ AI Coding Agent มีแนวโน้มเติบโตต่อเนื่อง และช่องโหว่ลักษณะนี้อาจไม่ใช่ครั้งสุดท้ายที่พบในเครื่องมือประเภทนี้ การมีนโยบาย Sandbox ที่แท้จริงระดับ Infrastructure จึงมีความสำคัญมากกว่าการพึ่งพา Sandbox ที่ AI Agent จัดเตรียมมาเองเพียงอย่างเดียว


รู้ก่อน ตรวจพบเร็ว ลดความเสียหายได้มากกว่า


[ แหล่งอ้างอิง: Cyber Security News, Manifold Security ]