
Manifold Security ได้เปิดเผยช่องโหว่ 8 รายการใน AI Coding Agent แบบ Command-line จำนวน 7 ตัว ซึ่งการตั้งค่า Git ของ Repository เองสามารถระบุคำสั่งที่ AI Agent จะนำไปรันบนเครื่องของนักพัฒนาได้ โดย 4 รายการในจำนวนนี้ยังไม่ได้รับการแก้ไข ณ วันที่เผยแพร่รายงาน
คำสั่งดังกล่าวจะถูกรันด้วยสิทธิ์ของผู้ใช้งาน โดยอยู่นอก Sandbox ของ AI Agent และไม่มีการแจ้งเตือนเพื่อขออนุมัติ ทั้งนี้การโจมตีจำเป็นต้องให้ Repository ถูกส่งมาในรูปแบบไฟล์ที่มีไดเรกทอรี .git ติดมาอย่างครบถ้วน ซึ่งการส่งผ่านไฟล์ Archive, Shared Drive, โฟลเดอร์ Sync หรือ USB จะยังคงรักษาไดเรกทอรีดังกล่าวไว้ ในขณะที่การ Clone ตามปกติจะไม่เป็นเช่นนั้น
ปัจจุบันมีแพตช์แก้ไขออกมาแล้วสำหรับ goose, Claude Code และ Cursor ในขณะที่ Hermes Agent, Qwen Code, Grok Build รวมถึงอีกหนึ่งช่องทางใน Claude Code ยังคงรันคำสั่งที่มาจาก Repository อยู่ เมื่อ Manifold ทำการทดสอบซ้ำในวันที่ 1 กันยายน
ในวันเดียวกัน OpenAI ได้เผยแพร่ CVE จำนวน 3 รายการของตนเอง ซึ่งครอบคลุมช่องโหว่ประเภทเดียวกันนี้ใน Codex โดยให้เครดิตแก่กลุ่มนักวิจัย 3 กลุ่มที่ไม่มีความเกี่ยวข้องกัน
OpenAI ระบุไว้ในรายละเอียดของ CVE-2026-19592 ว่า "Helper ดังกล่าวทำงานอยู่นอก Command Sandbox ของ Codex และไม่มีการแจ้งเตือนเพื่อขออนุมัติจากผู้ใช้ ทำให้โค้ดที่ผู้โจมตีควบคุมได้สามารถรันด้วยสิทธิ์ของผู้ใช้งาน โดยโค้ดดังกล่าวสามารถอ่าน, แก้ไข หรือลบไฟล์ของผู้ใช้ รวมถึงเข้าถึงทรัพยากรอื่น ๆ ที่บัญชีของผู้ใช้เข้าถึงได้"
สำหรับ Claude Code และ Hermes Agent นั้น Payload จะถูกรันก่อนที่ผู้ใช้จะกดยอมรับหน้าต่างแจ้งเตือน Workspace Trust ส่วนใน Qwen Code จะเกิดขึ้นก่อนที่ผู้ใช้จะยืนยันตัวตน และใน Grok Build จะเกิดขึ้นทันทีที่มีการกดแป้นพิมพ์ครั้งแรก
core.fsmonitor เป็นการตั้งค่าด้านประสิทธิภาพของ Git ซึ่งมีค่าเป็นคำสั่งที่ Git จะนำไปรันเพื่อระบุไฟล์ที่มีการเปลี่ยนแปลง โดย Git จะอ่านค่านี้จากไฟล์ .git/config ของ Repository เอง ทั้งนี้ทุกคำสั่งที่มีการรีเฟรช Index รวมถึง git status และ git diff ล้วนเป็นการรันคำสั่งดังกล่าวทั้งสิ้น
AI Agent เหล่านี้จะเรียกใช้คำสั่งดังกล่าวเป็น Background Process เพื่อตรวจสอบว่ากำลังอยู่บน Branch ใด และมีไฟล์ใดที่เปลี่ยนแปลงไปบ้าง โดยไม่ได้แก้ไขการตั้งค่าของ Repository แต่อย่างใด
Manifold ซึ่งเผยแพร่ผลการค้นพบนี้ในชื่อ GitSpawn ได้อธิบายรายละเอียดไว้ 5 รายการจากทั้งหมด 8 รายการ และระบุว่า พบรูปแบบเดียวกันนี้ใน AI Agent จำนวนมากกว่าที่ได้ระบุชื่อไว้
Manifold ระบุว่า "ช่องโหว่นี้ไม่ได้อยู่ที่ตัวโมเดล หรือสิ่งใหม่ใด ๆ แต่อยู่ในกลไกพื้นฐานทั่วไปที่อยู่เบื้องหลัง นั่นคือ Subprocess ที่ AI Agent สร้างขึ้นในตอนเริ่มต้น Session เพื่อตรวจสอบว่าตนเองอยู่ที่ใด"
AI Agent และเวอร์ชันที่ได้รับผลกระทบมีดังต่อไปนี้
- goose - ทุกเวอร์ชันก่อน 1.44.0 แก้ไขแล้วในเวอร์ชัน 1.44.0
- Codex CLI - เวอร์ชัน 0.102.0 ถึง 0.130.0 แก้ไขแล้วในเวอร์ชัน 0.131.0
- Codex Desktop สำหรับ macOS - เวอร์ชัน 260202.0859 ถึง 26.513.31313 แก้ไขแล้วในเวอร์ชัน 26.519.22136
- Codex Desktop สำหรับ Windows - เวอร์ชัน 26.304.38 ถึง 26.513.40821 แก้ไขแล้วในเวอร์ชัน 26.519.21041 และแพ็กเกจบน Microsoft Store เวอร์ชัน 26.304.38.0 ถึง 26.513.4821.0 แก้ไขแล้วในเวอร์ชัน 26.519.2081.0
- Claude Code - Manifold ยืนยันบนเวอร์ชัน 2.1.193 และได้รับการแก้ไขในเวอร์ชัน 2.1.196 สำหรับช่องทาง core.fsmonitor ส่วนช่องทาง claude ultrareview ได้รับการยืนยันว่ายังใช้โจมตีได้อยู่บนเวอร์ชัน 2.1.252
- Hermes Agent - Manifold ยืนยันบนเวอร์ชัน 0.18.2 และ 0.21.0 อยู่ระหว่างรอการแก้ไข
- Qwen Code - Manifold ยืนยันบนเวอร์ชัน 0.19.6 และ 0.22.3 อยู่ระหว่างรอการแก้ไข
- Grok Build - Manifold ยืนยันบนเวอร์ชัน 0.2.93 และ 1.0.13 อยู่ระหว่างรอการแก้ไข
ในกรณีของ goose นั้น คำสั่ง goose review จะสร้างคำสั่ง Git ขึ้นมาพร้อมกับ Flag การตั้งค่าเพียงตัวเดียวคือ -c core.quotePath=off และไม่ได้ตัดการตั้งค่าอื่นใดออกเลย
GitHub ได้กำหนดคะแนน CVSS 4.0 Base Score เท่ากับ 7.0 ให้กับ CVE-2026-72718 ในประกาศแจ้งเตือนที่ให้เครดิตแก่ Francisco Rosales ซึ่งเป็นช่องโหว่รายการเดียวในกลุ่มนี้ที่มีการให้คะแนนความรุนแรง
ประกาศแจ้งเตือนดังกล่าวระบุว่า "การรัน goose review ภายใน Repository ที่เป็นอันตราย จึงเป็นการรันโค้ดของผู้โจมตี โดยไม่มีการส่ง Prompt, ไม่มีการเรียกใช้โมเดล, ไม่มีการอนุมัติการใช้ Tool และไม่มีการแจ้งเตือน Trust ใด ๆ คำสั่งดังกล่าวจะถูกรันก่อนที่ goose จะติดต่อไปยังโมเดลเสียอีก"
Sonar ได้รายงานความเสี่ยงเดียวกันนี้ไปเมื่อเดือนเมษายน พร้อมระบุว่า Anthropic ได้เคยปรับลำดับขั้นตอนการเริ่มต้นทำงานไปแล้วครั้งหนึ่งเพื่อปิดช่องโหว่ดังกล่าว และยังพบการ Bypass หน้าต่าง Trust ในลักษณะเดียวกันใน Visual Studio Code เวอร์ชันก่อน 1.63.1 (CVE-2021-43891) และใน JetBrains IDEs เวอร์ชันก่อน 2021.3.1 (CVE-2022-24346) อีกด้วย
Sonar ระบุว่า "ในเวอร์ชัน 2.0.34 Claude ได้รับการอัปเดตในลักษณะที่ช่วยลดผลกระทบจากช่องโหว่ดังกล่าว โดยไม่มีการรัน git status ก่อนที่ผู้ใช้จะกดอนุมัติหน้าต่าง Trust อีกต่อไป อย่างไรก็ตาม ยังคงมีปัญหาที่เกี่ยวข้องหลงเหลืออยู่"
เวอร์ชัน 2.0.34 ถูกปล่อยออกมาเมื่อวันที่ 5 พฤศจิกายน 2025 และ Manifold รายงานว่า พฤติกรรมการเริ่มต้นทำงานแบบเดิมได้กลับมาปรากฏอีกครั้งในเวอร์ชัน 2.1.193 ซึ่งถูกปล่อยออกมาเมื่อวันที่ 25 มิถุนายน 2026
Anthropic เคยเปิดเผยช่องโหว่ที่มีการรันคำสั่งก่อนการยืนยัน Trust ใน Claude Code มาก่อนหน้านี้ โดยประกาศแจ้งเตือนเมื่อเดือนมิถุนายนสำหรับ CVE-2026-55607 ได้ระบุถึงการรัน git fsmonitor ในระหว่างการทำงานกับ Worktree
ช่องโหว่ที่ยังไม่ได้รับการแก้ไข
รายงานของ Manifold จำนวน 5 รายการถูกตีกลับว่าซ้ำซ้อนกับผลการค้นพบที่นักวิจัยรายอื่นได้ส่งเข้าไปโดยอิสระ ซึ่งหนึ่งในนั้นถูกส่งเข้าไปในวันเดียวกัน
นักวิจัยได้รายงานช่องโหว่ core.fsmonitor ใน Claude Code เมื่อวันที่ 26 มิถุนายน และระบุว่า ได้รับการแก้ไขแล้วในเวอร์ชัน 2.1.196 เมื่อวันที่ 29 มิถุนายน โดย Manifold ระบุว่า รายงานดังกล่าวถูกปิดในฐานะรายงานที่ซ้ำซ้อนกับอีกฉบับที่ถูกส่งเข้าไปก่อนหน้าในวันเดียวกัน
Anthropic ไม่ได้เผยแพร่ประกาศแจ้งเตือนสำหรับช่องโหว่ดังกล่าว และ The Hacker News ได้ตรวจสอบยืนยันเมื่อวันที่ 2 กันยายนว่า ประกาศแจ้งเตือนที่ผู้ผลิตเผยแพร่สำหรับแพ็กเกจ npm ไม่ได้ครอบคลุมช่องโหว่ทั้งสองรายการใน Claude Code
ช่องทางที่สองใน Claude Code ซึ่งเข้าถึงผ่านคำสั่ง claude ultrareview นั้น อาศัยการตั้งค่า Git อีกตัวหนึ่งที่ Manifold ยังไม่เปิดเผย ในขณะเดียวกัน ช่องโหว่นี้ยังคงใช้โจมตีได้อยู่ โดย Manifold ได้ยืนยันบนเวอร์ชัน 2.1.252 เมื่อวันที่ 1 กันยายน เทียบกับเวอร์ชันล่าสุดในปัจจุบันคือ 2.1.258 ทั้งนี้ยังไม่มีแหล่งข้อมูลใดระบุว่า เวอร์ชันที่ออกมาหลังจากนั้นได้ปิดช่องโหว่นี้แล้วหรือไม่
ศูนย์รับมือด้านความปลอดภัยของ Alibaba ได้ตอบรับรายงานช่องโหว่ใน Qwen Code เมื่อวันที่ 7 กรกฎาคม โดย The Hacker News ได้ตรวจสอบผ่าน npm Registry เมื่อวันที่ 2 กันยายน และยืนยันว่า เวอร์ชัน 0.22.3 ซึ่งเป็นเวอร์ชันที่ Manifold นำมาทดสอบซ้ำนั้น เป็นเวอร์ชันล่าสุดที่เผยแพร่อยู่
Manifold ระบุว่า Hermes Agent ของ Nous Research ซึ่งเคยมีผู้ควบคุมระบบนำไปใช้งานแบบปล่อยให้ทำงานเอง ในการเจาะระบบเครือข่ายของหน่วยงานรัฐบาลไทยเมื่อเดือนกรกฎาคมนั้น มีความพยายามติดต่อไปแล้ว 6 ครั้งผ่าน 5 ช่องทาง แต่ประกาศแจ้งเตือนแบบส่วนตัวที่ส่งไปยังคงไม่ได้รับการตรวจสอบ
ตามข้อมูลจาก Manifold นั้น VulnCheck ได้กำหนดหมายเลข CVE-2026-71963 ให้กับช่องโหว่ดังกล่าว แต่ The Hacker News ไม่พบข้อมูลที่เผยแพร่สำหรับหมายเลขดังกล่าวใน CVE List ของ MITRE เมื่อวันที่ 2 กันยายน ทั้งที่หมายเลขที่อยู่ก่อนหน้า และถัดไปนั้นเป็นรายการของ VulnCheck ที่ถูกเผยแพร่แล้ว
xAI ได้ปิดรายงานช่องโหว่ประเภทเดียวกันที่ส่งเข้ามาก่อนหน้า โดยจัดเป็นเพียงข้อมูลเชิงแจ้งให้ทราบ (Informative) เมื่อวันที่ 1 กรกฎาคม และได้ปิดรายงานของ Manifold ที่ส่งเมื่อวันที่ 14 กรกฎาคม ในฐานะรายงานที่ซ้ำซ้อนกับฉบับดังกล่าว
งานวิจัยอีกชิ้นหนึ่งบน Build 0.2.93 เดียวกันนี้ พบว่า Grok Build มีการอัปโหลด Git Repository ทั้งชุดไปยังพื้นที่จัดเก็บข้อมูลของ xAI ซึ่งทางบริษัทได้ชี้แจงเรื่องนี้ผ่าน X แทนที่จะออกเป็นประกาศแจ้งเตือน
Manifold ได้บันทึกช่องโหว่ประเภทเดียวกันนี้ใน Cursor CLI ไว้เมื่อสามสัปดาห์ก่อนหน้า โดยคำสั่งติดตั้งที่มาจาก Repository จะถูกรันก่อนหน้าต่างแจ้งเตือน Workspace Trust และอยู่นอก Sandbox
ยังไม่มีแหล่งข้อมูลใดรายงานว่ามีการนำช่องโหว่เหล่านี้ไปใช้ในการโจมตีจริง โดย The Hacker News ได้ตรวจสอบบัญชีรายการช่องโหว่ที่กำลังถูกใช้โจมตีจริง (Known Exploited Vulnerabilities: KEV) ของหน่วยงานความมั่นคงปลอดภัยไซเบอร์ และโครงสร้างพื้นฐานของสหรัฐฯ (CISA) เมื่อวันที่ 2 กันยายน ซึ่งเป็นเวอร์ชัน 2026.09.01 ที่มีรายการอยู่ 1,687 รายการ และไม่พบ CVE รายการใดในกลุ่มนี้อยู่ในบัญชีดังกล่าว
Cobalt ระบุไว้ในรายงาน Red Team เมื่อเดือนธันวาคมว่า "การใช้ FSMonitor ในลักษณะนี้ เป็นการโจมตีผ่านฟีเจอร์ที่ถูกต้องตามการออกแบบ ไม่ใช่ Bug โดยเป็นการอาศัยจุดตัดระหว่างความยืดหยุ่นของ Git และการทำงานอัตโนมัติของ IDE สมัยใหม่ เพื่อเปลี่ยนเหตุการณ์การเปิด Repository ให้กลายเป็นการรันโค้ด"
ผู้ใช้งานควรดำเนินการตรวจสอบดังต่อไปนี้
- ตรวจสอบไฟล์ .git/config ก่อนเปิดไดเรกทอรีที่ได้รับมาด้วย AI Agent โดยมองหา core.fsmonitor, core.hooksPath และ attr.tree ที่มาพร้อมกับ clean หรือ process filter
- รันคำสั่ง git config --get core.fsmonitor ภายใน Repository ที่ได้รับมาในรูปแบบไฟล์
- รันคำสั่ง git config --global --list | grep fsmonitor เพื่อตรวจสอบการตั้งค่าระดับ Global
- ตั้งค่า git config --global core.fsmonitor false เพื่อปิดการใช้งานเป็นค่าเริ่มต้น
- ผู้ผลิตที่พัฒนา AI Agent ควรตัดการตั้งค่าดังกล่าวออกเมื่อมีการเรียกใช้คำสั่งแบบ Background เช่น git -c core.fsmonitor=false status
เวอร์ชันล่าสุดของ Codex CLI คือ 0.152.1 ณ วันที่ 2 กันยายน ดังนั้นการติดตั้งที่ถูกล็อกเวอร์ชันไว้ต่ำกว่า 0.131.0 จึงยังคงมีความเสี่ยงอยู่
ที่มา : thehackernews

You must be logged in to post a comment.