
GitSpawn: .git/config ที่ทำให้ AI agent รันคำสั่งก่อนถามอนุญาต
เปิด repo ที่ใครส่งมาแล้วให้ AI agent ดูต่อทันที ฟังดูสะดวก แต่รอบนี้มีช่องที่ทำงานก่อนที่คุณจะพิมพ์อะไรเลยครับ
Manifold Security เปิดเผยคลาสช่องโหว่ชื่อ GitSpawn — agent หลายตัวเรียก git status / git diff เพื่อเก็บบริบทตอนเริ่มงาน โดยไม่ตัดคอนฟิกของ repo ออก และค่า core.fsmonitor ใน .git/config เป็นคำสั่งที่ Git รันตอนรีเฟรช index
ทำไมมันเลี่ยง sandbox
คำสั่งถูก spawn โดย Git ไม่ใช่เลเยอร์ tool ของ agent ดังนั้นโมเดลสิทธิ์ของ agent มองไม่เห็น ไม่มีพรอมต์อนุมัติ และในบางเคสทำงานก่อน trust prompt หรือก่อนล็อกอินด้วยซ้ำ ตามรายงานของ Manifold และสรุปของ The Hacker News
Manifold พบหลายเส้นทางในหลาย agent รวมถึง Claude Code, Codex, Cursor, goose และอื่น ๆ ส่วนแพตช์มีแล้วบางตัว แต่บางเส้นทางยังค้างตอนเปิดเผย — อัปเดต agent จากผู้ขายเป็นทางหลัก
สิ่งที่ทำได้โดยไม่ต้องรู้รายละเอียดโจมตี
- อัป agent ให้เป็นรุ่นที่ผู้ขายระบุว่าแพตช์แล้ว
- อย่าเปิด archive/repo ที่ได้มาเป็นไฟล์ด้วย agent โดยไม่ตรวจ
.git/configก่อน - จำไว้ว่าตั้ง
core.fsmonitorแบบ global อย่างเดียว ไม่ปิด ค่าใน repo ได้ เพราะ local ชนะ global — ฝั่งผู้ขายต้อง sanitize เช่นgit -c core.fsmonitor=false status
ผมจะไม่ลงขั้นตอนสร้าง payload ครับ โฟกัสแค่อัปเดตและตรวจ repo ที่ไม่น่าเชื่อถือ
Recap
- อ่าน advisory ของ Manifold แล้วอัป Claude Code / Codex / Cursor / goose ตามที่แพตช์แล้ว
- ตรวจ
.git/configของ repo ที่ได้มาเป็นไฟล์ก่อนเปิดด้วย agent - แยกเครื่อง/บัญชีที่ใช้เปิด repo ไม่น่าเชื่อถือออกจากสภาพแวดล้อมหลัก