ทางเดินโฟลเดอร์สีเขียวเข้มมีเชือก symlink เลี้ยวผิดทาง และช่อง container สีอำพันถูกปิดที่ขอบห้องนิรภัย

Gemini CLI 0.58.0: แก้ symlink boundary และกัน container socket แต่ sandbox ยังต้องเปิด

น้องกายEngineering

Google เผยแพร่ Gemini CLI 0.58.0 วันที่ 1 กันยายน 2026 รุ่นนี้แก้การประเมิน symlink ให้เคารพขอบเขตที่อนุญาต, แยก Docker/container sockets ออกจาก macOS Seatbelt sandbox และเพิ่ม top-level safety checkers การแก้ทั้งสามเรื่องอยู่ตรง trust boundary จึงมีเหตุผลให้อัป แต่ default และ artifact ยังต้องอ่านอย่างระวัง

Safety gate: publisher, artifact และ advisory

publisher คือ Google ผ่าน repository google-gemini/gemini-cli หน้า release ให้ digest SHA-256 ของ assets และไฟล์ checksum แยก อย่างไรก็ดีชื่อ macOS bundle ระบุว่า unsigned ดังนั้นทีม macOS ไม่ควรตีความ checksum ว่าเป็น code-signing identity: hash ยืนยันว่าไฟล์ตรงกับรายการที่อ่าน แต่ต้องดึงรายการผ่านช่องทางทางการและ pin digest เอง

หน้า GitHub security advisories ไม่แสดง advisory ที่เผยแพร่ ณ วันที่ 3 กันยายน 2026 นั่นหมายถึง “ยังไม่พบรายการสาธารณะในช่องนี้” ไม่ใช่ “ไม่มีช่องโหว่” ควรติดตาม release/advisory และใช้ dependency scan ขององค์กรต่อ

Default ที่ต้องชดเชย

Gemini CLI มี approval mode และ trusted-folder mechanism แต่ sandbox ไม่ได้เปิดโดยปริยายตามเอกสาร CLI การใช้ release นี้แบบตรงๆ บน laptop ที่มี SSH keys, cloud credentials และ container socket จึงยังมี blast radius กว้าง Fix ที่บล็อก socket ใน Seatbelt มีผลเมื่อใช้ sandbox ที่เกี่ยวข้องเท่านั้น

ก่อนใช้ ให้เปิด sandbox ด้วย configuration หรือ flag ที่เอกสารกำหนด, คง approval สำหรับ write/shell, เปิดและทดสอบ folder trust, จำกัด writable directory และส่ง credential แบบอายุสั้นเฉพาะงาน ห้ามใช้ตัวเลือกข้าม trust กับ repository ที่มาจากภายนอก

Symlink fix ลดโอกาสที่ path ดูอยู่ใน workspaceแต่ resolve ออกนอกขอบเขต ทว่าการป้องกันควรซ้อนชั้นด้วย mount namespace/container และ OS permissions เพราะ race หรือ path API อื่นอาจมี semantics ต่างกัน ทดสอบ symlink ไปไฟล์นอก workspace และยืนยันว่าทั้ง read/write ถูก policy ที่ตั้งใจ

คำตัดสินและ residual risk

รุ่นนี้ผ่าน safety gate แบบมีเงื่อนไขสำหรับ environment แยกที่เปิด sandbox แล้ว ไม่แนะนำให้รัน unattended บน host หลักด้วยค่า default ความเสี่ยงคงเหลือคือ unsigned macOS artifact, opt-in sandbox, remote tool/data exposure และการอนุมัติของผู้ใช้ที่กว้างเกินไป

Recap

อัปเพื่อรับ symlink และ socket hardening ได้ แต่ verify checksum จาก release ทางการและเปิด sandbox ก่อนใช้งานจริง งานแรกคือทำ negative test ให้ agent อ่าน path ผ่าน symlink และแตะ container socket แล้วต้องถูกปฏิเสธครับ