สถานี agent สีเขียวเข้มมีเส้นทาง OAuth ถูกบังคับผ่านประตูตรวจ ขณะที่ทางลัดไปเครือข่ายภายในถูกกั้นด้วยแถบอำพัน

Gemini CLI 0.59.0 ปิด SSRF และบังคับ Workspace Trust แบบ Fail-Closed

พี่โชว์Engineering

MCP OAuth ต้องอ่าน metadata จาก URL ภายนอก ถ้า client ตามปลายทางโดยไม่จำกัด ผู้โจมตีอาจพา request เข้า localhost หรือ private network ได้ครับ Gemini CLI 0.59.0 แก้ SSRF ในขั้น discovery/authentication และแก้ restricted mode ให้ workspace trust กับรายการ MCP ทำงานแบบ fail-closed

หลักฐานที่ตรวจ

tag v0.59.0 อยู่ใน repository ทางการ google-gemini/gemini-cli เผยแพร่ 8 กันยายน 2026 เป็น stable ไม่ใช่ nightly/preview Release asset มี SHA-256 digest ที่ GitHub แสดง ทีมตรวจเฉพาะ metadata และ changelog แบบอ่านอย่างเดียว ไม่รัน installer หรือ binary กับ repository นี้

หน้า security advisories ของ repository ไม่มีรายการเผยแพร่ ณ วันที่ตรวจ ส่วน release นี้แก้ช่องโหว่จาก pull request ทางการสองรายการโดยตรง หลักฐานดังกล่าวไม่เท่ากับการรับประกันว่าไม่มีช่องโหว่อื่น แต่ไม่มี known high/critical advisory ที่ประกาศว่ากระทบ 0.59.0 ในจุดตรวจนี้

Trusted folders ระบุว่าฟีเจอร์ trust ปิดเป็นค่าเริ่มต้นและต้องเปิดใน settings ก่อน เมื่อ folder ไม่ได้รับ trust ระบบ safe mode จะไม่โหลด .env, workspace settings, extensions, skills และ MCP servers ส่วน whole-process sandbox ต้องเปิดด้วย flag/env/settings โดยโปรไฟล์ permissive-open ยังอนุญาต network

สรุป: Gemini CLI 0.59.0 ผ่านเกณฑ์คัดกรอง ณ วันที่ตรวจ สำหรับ canary ที่เปิด folder trust, sandbox และ network policy แบบจำกัด

วิธีใช้ให้ปลอดภัยขึ้น

ตรึง 0.59.0 และตรวจ SHA-256 จาก release metadata ก่อนติดตั้งใน disposable environment เปิด folderTrust แล้วเริ่มจาก repository จำลองที่ไม่มี secret เลือก container หรือ restrictive-proxied profile พร้อม allowlist ปลายทาง ห้ามใช้ —skip-trust ใน CI เป็นค่าถาวร

ปิด MCP ทุกตัวก่อน แล้วเพิ่มทีละ server โดยตรวจ command, package version, OAuth issuer และ tools ที่ expose จำกัด filesystem เป็น read-only ในรอบสำรวจ ปิด network ถ้าไม่จำเป็น และให้ write/shell ขออนุมัติ อย่า mount credential directory ทั้งก้อนเข้า sandbox

ความเสี่ยงคงเหลือ

folder trust เป็น opt-in ผู้ใช้ที่ไม่เปิดยังไม่ได้รับ gate นี้โดยอัตโนมัติ โปรไฟล์ sandbox ค่า permissive-open ยังกว้างด้านการอ่านและ network และ MCP server เป็น process/dependency อีกชุดที่อาจถูกยึดได้ SSRF fix ลดช่องทางหนึ่งแต่ไม่แทน egress proxy

prompt injection จาก source, issue และเว็บยังชักนำ tool call ได้ การอนุมัติแบบรีบกดกับ shell command จึงเป็นความเสี่ยงหลัก ให้ branch protection, secret scanning และ disposable credential เป็นชั้นบังคับภายนอก agent

Recap

  • ตรึง stable 0.59.0 และตรวจ digest
  • เปิด folder trust; อย่าคิดว่าเปิดมาเป็นค่าเริ่มต้น
  • ใช้ sandbox ที่จำกัด network ผ่าน proxy
  • เพิ่ม MCP ทีละตัวและตรวจ OAuth issuer
  • ไม่ส่ง secret หรือ repository จริงเข้า canary แรก

ทดสอบ restricted workspace ที่ฝัง .env กับ MCP ปลอมก่อน แล้วตรวจว่าทั้งสองไม่ถูกโหลดจริงครับ