
Gemini CLI 0.63.0 จำกัด tool output และจัดแนว policy path: รุ่น stable ใหม่ที่ non-interactive ต้องคุมเพิ่ม
Google เปิด Gemini CLI 0.63.0 แบบ stable วันที่ 6 ตุลาคม 2026 พร้อมจำกัดขนาด tool output และปรับวงจรหน่วยความจำสำหรับ agent loop ยาว แก้การล้าง temporary directory หลัง background shell จบ และจัดแนว policy redirection, path validation กับ workflow parsing ครับ รุ่นนี้ยังเปิด autonomous plan execution ใน non-interactive mode ซึ่งเพิ่มประโยชน์ต่อ automationพร้อมเพิ่มความจำเป็นของ sandbox และ approval policy
ผมตรวจ release, tag/commit, npm integrity, asset digests, release process, sandbox docs และ advisories แบบอ่านอย่างเดียว ไม่รัน npx, binary, installer, MCP หรือ auth flow ผลคือ ผ่านเกณฑ์คัดกรอง ณ วันที่ตรวจ 2026-10-08 สำหรับ environment แยกที่ pin version และ deny authority โดย default
สรุป 30 วินาที
- release
v0.63.0ชี้ commit573846625af9e93b3b968e0e0b86bb093a4c9b16 - bundle ZIP SHA-256 คือ
c9d66e50a0fe098a32486360308e558c472809da276caf2aac2769d8f10571c2 - macOS arm64 asset ระบุชื่อชัดว่า unsigned และมี SHA-256
61babb895286b69a6112d7eab3f61aa0e2370ad6c1693a08badae8f64d9dd287 - npm
@google/[email protected]มี integrity เริ่มsha512-mmhqMmAdsopl... - core จำกัด tool output และ optimize memory lifecycle ลดความเสี่ยง context/RSS โตจาก output ยาว
- background shell cleanup temporary directory ดีขึ้น แต่ external process/file ที่ tool สร้างนอก temp root ยังต้องจัดการเอง
- non-interactive autonomous plan ทำ automation ได้มากขึ้น จึงต้องห้ามผูก production credentials หรือ publish permission แบบ default
ทำไมเกี่ยวกับคุณ
Agent loop รับ output จาก compiler, test, log และ web tool กลับเข้า model ถ้าไม่จำกัด ข้อความหลายเมกะไบต์สามารถกิน memory, context และค่าใช้จ่าย พร้อมฝัง prompt injection ไว้ลึกจนคนไม่เห็น การ bound output จึงเป็นทั้ง performance และ security control
แต่การตัด output มีอีกด้าน หาก error สำคัญอยู่ท้าย log แล้วถูก truncate agent อาจวิเคราะห์ผิด ระบบควรเก็บ full artifact ในพื้นที่ที่คนตรวจได้ พร้อมส่ง summary/head-tail ที่มี marker ว่าถูกตัด ไม่ใช่เงียบ ๆ ทำเหมือนเห็นครบ
Autonomous plan ใน non-interactive mode เหมือนให้พนักงานทำตาม checklist ตอนร้านปิด ถ้าพื้นที่เป็น sandbox และสิทธิ์แคบ งานจะลื่น แต่ถ้า process ถือ token deploy, cloud admin หรือ SSH key ความผิดพลาดหนึ่งแผนอาจกลายเป็น external side effect โดยไม่มีคนเห็น prompt
ทำงานยังไง: จำกัดข้อมูลและจัดแนวเส้นทาง policy
Tool output boundary ควรมีอย่างน้อย byte/character limit, line strategy และ metadata ว่าตัดตรงไหน Agent ต้องไม่สรุปว่า command สำเร็จจาก output ครึ่งแรกอย่างเดียว Exit code, timeout, truncation flag และ artifact path ควรอยู่ใน structured result นอกข้อความที่โมเดลตีความ
Memory lifecycle หมายถึง buffer, tool result และ reference ที่เสร็จแล้วต้องถูกปล่อยระหว่าง loop ไม่รอจบ session วิธีนี้เหมือนร้านหมูกระทะที่เก็บจานใช้แล้วออกจากโต๊ะเป็นรอบ ไม่รอให้ลูกค้ากลับบ้าน เพราะโต๊ะเดียวที่อยู่นานอาจเต็มจนเสิร์ฟอะไรใหม่ไม่ได้
Policy redirection/path validation/workflow parsing เป็น boundary เดียวกัน: config อาจ redirect ไป policy อีกไฟล์, path อาจ normalize ต่างบน OS และ workflow อาจอ้าง command/tool ถ้าแต่ละชั้น validate คนละกติกา attacker ใช้ representation gap ข้าม guard ได้ Release ระบุว่าจัดแนว gates เหล่านี้ แต่ทีมควรทดสอบ symlink, relative path, encoded path และ workspace config ที่ไม่ไว้ใจ
Temporary cleanup หลัง background shell ต้องรู้ ownership ถ้า process ยังใช้ directory การลบเร็วไปทำให้ race; ถ้าไม่ลบเลยทิ้ง secret/artifact รุ่นนี้แก้กรณี exit แต่ทีมยังต้องตั้ง private temp root, permission, retention และ cleanup หลัง crash/supervisor kill
Authentication fix ป้องกัน loop จาก file contention, headless keyring และ supervisor state drop ช่วยระบบ daemon แต่ credential ที่เก็บใน keyring/file ยังเป็น high-value target ควรแยก profile ต่อ automation และ revoke ได้โดยไม่กระทบผู้ใช้หลัก
หลักฐานที่ตรวจ
GitHub release 0.63.0 ระบุรายการ changes, commit และ digest assets Release process ของโครงการอธิบายการ cross-check npm version กับ tag/release แต่ artifact แต่ละชนิดมีระดับการลงนามต่างกัน โดย macOS asset ระบุ unsigned ชัด
npm package 0.63.0 ให้ registry integrity สำหรับ channel npm ทีมต้อง pin exact version และ lock/mirror เพราะ npx @latest เปลี่ยน bytes ได้ในอนาคต
sandbox docs อธิบาย execution boundary และ advisories ใช้ตรวจ disclosure วันที่ตรวจไม่พบ known high/critical advisory สาธารณะที่ระบุว่า stable 0.63.0 กระทบโดยไม่มี mitigation แต่ issue/advisory อาจเพิ่มหลังวันตรวจ
การตรวจไม่ดาวน์โหลด artifact จึงไม่ได้คำนวณ checksum ซ้ำหรือสแกน dependency tree เราบันทึก publisher-provided digest/integrity และ provenance metadata ไม่อ้างว่า verify bytes locally ผ่านแล้ว
เงินและผลกระทบ
การจำกัด output ลด token/context และ memory ได้ แต่ถ้าตั้งต่ำเกิน agent จะเรียก command ซ้ำเพื่อหา error ทำให้แพงกว่าเดิม ทีมควรวัด accepted task, retry, truncated-result rate และ human reopen rate เพื่อหาขนาดเหมาะ ไม่ optimize byte อย่างเดียว
Non-interactive plan ลดเวลาคนเฝ้า แต่ต้องคิด cost cap ต่อ run ทั้ง model/tool/network หาก automation loop จาก auth error หรือ policy denial ต้อง fail-fast พร้อมรายงาน ไม่ retry จน budget หมด Release มี progress indicator/recovery fix แต่ indicator ไม่ใช่ budget enforcement
สิ่งที่ยังไม่ชัดและแหล่งข่าวพูดไม่ตรงกัน
Release note บอกว่า bound tool output แต่ไม่ระบุ default max, head/tail strategy หรือ behavior ต่อ binary/Unicode ในสรุปหน้า release ทีมจึงต้องอ่าน config/code ของ version และเขียน regression testกับ log รูปแบบจริงก่อนยืนยันว่า error สำคัญไม่หาย
Asset digest ยืนยันไฟล์ที่ publisher ระบุ แต่ macOS archive บอก unsigned ขณะที่ release process พูดถึง cross-channel integrity สองอย่างนี้ไม่ขัดกัน: version consistency กับ code-signing/notarization เป็นคนละ control ผู้ดูแลต้องไม่ใช้คำว่า “verified release” แบบรวมทุกมิติ
Sandbox เป็น feature/config ที่ environment ต้องเปิดและทดสอบ Default ต่างตาม platform และ container/Seatbelt/Docker availability หาก fallback แล้ว agent ทำงานต่อบน host ผลความเสี่ยงเปลี่ยนทันที ต้อง fail closed สำหรับ automation สำคัญ
Autonomous plan execution บอกความสามารถ แต่ไม่บอกว่าแผนชนิดใดเหมาะให้รันไร้คนเฝ้า ทีมต้องกำหนด side-effect policy เองและไม่ตีความ non-interactive ว่า auto-approved
วิธีใช้ให้ปลอดภัยขึ้น
Pin 0.63.0 ด้วย npm integrity หรือ artifact SHA ใน internal mirror เลือก signed/notarized channel เมื่อ policy ต้องการ และบันทึกข้อจำกัดหากจำเป็นต้องใช้ unsigned asset ห้าม remote installer หรือ npx @latest ใน production automation
รันใน container/OS sandbox ที่ mount source read-onlyและเปิด write เฉพาะ temp/output ปิด network โดย default ส่ง allowlist domain ผ่าน proxy แยก และใช้ credential ชั่วคราว scope ต่ำ ไม่มี production deploy token
ตั้ง tool output policy ที่เก็บ exit code, truncation flag, byte count และ artifact path ให้คนตรวจได้ จำกัด binary/secret redaction ก่อนเข้าบริบท และทดสอบ error ที่หัว กลาง ท้าย log
สำหรับ non-interactive ให้ allow เฉพาะ read/test/build ที่ reversible ห้าม publish, send message, delete, cloud mutate หรือ merge โดยไม่มี external approval gate ตั้ง max turns/time/token และ kill orphan process หลัง timeout
ตรวจ workspace settings/workflow เป็น untrusted input ปิด policy redirect จาก repository ที่ไม่ไว้ใจ และทดสอบ symlink/relative path/temp cleanup/auth contention ใน canary
ความเสี่ยงคงเหลือ
Model อาจถูก prompt injection จาก source/log/web/MCP และใช้ tool ที่ policy อนุญาตในทางอันตราย Sandbox escape, container misconfiguration, symlink race, inherited environment, credential helper และ network proxy เป็น boundary นอก model
Output truncationอาจซ่อน root cause หรือ safety warning Autonomous plan เพิ่ม blast radius เมื่อ approval กว้าง Temporary artifactsอาจหลุดจาก crash path และ unsigned distribution มี provenance assurance ต่ำกว่าช่องที่ verify signature ได้ การตรวจนี้ไม่ใช่ runtime fuzzing, penetration test หรือ full SBOM review
ควรทำอะไร
ทีม platform ควรสร้าง canary suite ที่ผลิต log ใหญ่และวาง error ทุกตำแหน่ง ทดสอบ background cleanup หลัง success/failure/kill, policy redirect/symlink, headless auth, sandbox unavailable และ non-interactive action ที่ควรถูก deny
ผู้ใช้ทั่วไปอัปเดตได้หลัง pin version แต่ตรวจว่า sandbox เปิดจริง ดู approval ก่อนให้ write/network และปิด autonomous flow กับ repo/credential ที่สำคัญจนผ่าน canary
ผมมองว่าการ bound output เป็นงานสุขอนามัยที่ดี แต่ feature ที่ต้องตัดสินใจมากที่สุดคือ autonomous non-interactive เพราะมันเปลี่ยนจาก “agent ช่วยคิด” เป็น “process ทำต่อเอง” อย่างชัดเจน
Recap
- Pin version และ integrity/digest; อย่าเหมารวม unsigned asset ว่าลงนามแล้ว
- เก็บ truncation metadata และ full artifact สำหรับตรวจย้อนกลับ
- sandbox ต้อง fail closed เมื่อ backend ใช้ไม่ได้
- non-interactive จำกัดงาน reversible และไม่มี production credential
- ทดสอบ policy redirect/path/workflow ด้วย input ไม่ไว้ใจ
- จำกัด turn/time/token/process และ network egress
- รุ่นนี้ผ่านเกณฑ์คัดกรอง ณ วันที่ตรวจ ไม่ใช่การรับประกันว่าไม่มีความเสี่ยง