
Codex CLI 0.162.1 แก้ TUI crash แต่แพ็กเกจ Windows ยังมีช่องว่าง
OpenAI ออก Codex CLI 0.162.1 วันที่ 9 ตุลาคม 2026 เพื่อแก้ TUI crash จากคำถาม async หลายบรรทัดและแก้ startup failure เมื่อ feature settings ของ background server ต่างจากค่า default ของ CLI แต่ release เล็กนี้มีจุดหักมุม: issue 52683 รายงานว่าแพ็กเกจ latest ฝั่ง Windows ขาด platform package ที่ต้องใช้ ทำให้คำตอบ “ควรอัปเดตไหม” ต้องแยกตามระบบปฏิบัติการครับ
ผมตรวจ release tag, metadata ของ npm 0.162.1, security model, public advisory และ issue ที่เกิดหลังปล่อยแบบอ่านอย่างเดียว ไม่ติดตั้ง package, ไม่ดาวน์โหลดหรือรัน binary และไม่ให้เครื่องมือนี้แตะ repository/credential รุ่นนี้ ผ่านเกณฑ์คัดกรอง ณ วันที่ตรวจ 2026-10-11 สำหรับ rollout แบบ pin บน macOS/Linux ที่ทดสอบ artifact แล้ว ส่วน Windows ควรคง 0.162.0 จน platform package ถูกแก้และตรวจซ้ำ
สรุป 30 วินาที
- 0.162.1 เป็น patch release สองเรื่อง: รักษา multiline async question ไม่ให้ TUI crash และจำกัด compatibility check ของ background server ไว้ที่ feature override ที่ผู้ใช้ส่งชัดเจน
- npm registry แสดง integrity
sha512-NWZdi/kxyjv/8EUGFupziGU38YyleugZRM4JXgY5XFH7FUmaFA33NZS2Bmq0HPazf7S3jJQQWsZ/jAK9jsrV3Q==และ shasum7ff2553e71795a314e75a24a56607149d754d487 - digest นี้ยืนยัน tarball จาก npm ช่องทางเดียว ไม่ใช่ checksum ของ native binary ทุก platform
- known issue ฝั่ง Windows บอกว่าชุด platform package ของ
latestไม่ครบ จึงอาจติดตั้งหรือเริ่มงานไม่ได้ แม้ tag หลักมีอยู่จริง - ไม่พบ public high/critical advisory ที่ประกาศว่ากระทบ 0.162.1 โดยไม่มี mitigation ณ เวลาตรวจ แต่รายการ public ไม่รับประกันว่าไม่มีปัญหาที่ยังไม่เปิดเผย
- patch ด้านเสถียรภาพไม่เปลี่ยนหลักว่า filesystem, shell, network, MCP และ secret ต้องถูกจำกัดแยกกัน
ทำไมเรื่องนี้เกี่ยวกับคุณ
Agent CLI อยู่ตรงรอยต่อระหว่างข้อความกับสิทธิ์เครื่องจริง TUI ที่ crash อาจดูเป็นเรื่อง UX แต่ถ้ามันเกิดระหว่าง approval หรือคำถามที่มี URL หลายบรรทัด ผู้ใช้อาจเสียบริบทว่า action ไหนกำลังรอ ส่วน background server ที่ปฏิเสธ client เพราะ feature default ไม่ตรงกันทำให้งานหยุดทั้งที่ผู้ใช้ไม่ได้ขอ override ความเสถียรของด่านจึงเป็นส่วนหนึ่งของความปลอดภัย ไม่ใช่แค่ความสวยงาม
แต่การอัปเดตเครื่องมือควบคุมโค้ดแบบ fleet-wide มีต้นทุน ถ้า package สำหรับระบบหนึ่งหาย ทีมอาจได้เครื่อง macOS ที่ทำงานกับเครื่อง Windows ที่ล้มพร้อมกัน เหมือนเปลี่ยนกุญแจสำนักงานแล้วพบทีหลังว่าลูกกุญแจของประตูชั้นหนึ่งไม่ได้อยู่ในกล่อง ทางที่ถูกไม่ใช่ปิดประตูทุกบานหรือฝืนใช้ไฟล์จากแหล่งอื่น แต่ pin เวอร์ชันแยก platform และรอ artifact ทางการครบ
สำหรับทีมไทยที่มีเครื่องนักพัฒนาหลายระบบ คำว่า latest จึงไม่ใช่นโยบาย rollout ต้องมี lockfileหรือ deployment manifest ที่บันทึกเวอร์ชันและ platform matrix รวมถึง canary ที่ไม่มี production secret ก่อนขยับทั้งทีม
ทำงานยังไง: client, server และแพ็กเกจเฉพาะเครื่อง
Codex CLI มีส่วนหน้าที่ผู้ใช้เห็นและ background server ที่ช่วยคง session/บริการบางอย่าง ก่อน patch compatibility check เปรียบเทียบ feature settings กว้างเกินไปจนความต่างจาก default ทำให้ startup ล้ม รุ่น 0.162.1 จำกัดการตรวจเข้มไว้เมื่อผู้ใช้ส่ง explicit command-line override ซึ่งเป็นเงื่อนไขที่มีเจตนาชัดกว่า ค่า default ที่เปลี่ยนตามเวอร์ชันจึงไม่ควรทำให้ handshake ล้มโดยอัตโนมัติ
การแก้ multiline async question รักษา line break และปลายทาง hyperlink ครบถ้วน จุดนี้สำคัญเพราะคำถามจาก tool อาจมีหลายรายการหรือ URL ยาว การตัดปลายทางทำให้ผู้ใช้ตรวจ hostname ไม่ครบ อย่างไรก็ดี clickable link ยังเป็น untrusted input ต้องอ่าน domain จริง ระวัง redirect/homoglyph และไม่ถือว่าการแสดงผลครบแปลว่าปลายทางน่าเชื่อถือ
แพ็กเกจ npm หลักทำหน้าที่เลือกหรือดึงส่วน platform-specific ตามระบบปฏิบัติการและสถาปัตยกรรม หาก dependency สำหรับ Windows ไม่ถูก publish หรือไม่ถูกอ้างในชุดล่าสุด installation graph จะขาด แม้ tarball หลักผ่าน integrity เปรียบเหมือนกล่องประกอบเฟอร์นิเจอร์ที่ซีลสมบูรณ์แต่ไม่มีขาโต๊ะหนึ่งแบบ ซีลบอกว่ากล่องไม่เปลี่ยนระหว่างทาง ไม่ได้บอกว่า manifest ภายในครบทุกแพลตฟอร์ม
หลักฐานที่ตรวจ
Release ทางการผูก tag rust-v0.162.1 กับ commit ใน repository openai/codex และบันทึก bug fix สองข้อ Metadata จาก registry ระบุ version, repository, integrity และ shasum ตรงกับแพ็กเกจชื่อทางการ การตรวจนี้อ่าน metadata เท่านั้น ไม่ทำ reproducible build และไม่ยืนยันว่า native asset ทุกไฟล์สร้างจาก source commit เดียวกัน
Security documentation อธิบายการทำงานร่วมกันของ sandbox, approval และ network policy ส่วน public advisories ไม่แสดง high/critical ที่ระบุ affected range ครอบคลุม 0.162.1 แบบไม่มี mitigation ณ เวลาตรวจ แต่ advisory เป็นหลักฐานย้อนหลังต่อสิ่งที่ถูกเปิดเผย ไม่ใช่ใบรับรองอนาคต MCP server, plugin, model provider และ dependency มี trust boundary ของตนเอง ต้องตรวจแยกจาก CLI
Issue 52683 เป็น known issue จาก repository เดียวกันและระบุอาการ missing Windows platform packages หลัง latest ขยับ รุ่น patch จึงผ่าน safety provenance gate แต่ยังไม่ผ่าน operational readiness สำหรับ Windows ในบทความนี้ การไม่พบ CVE ไม่ได้ลบความเสี่ยง supply-chain หรือ availability
Install/update path ที่ตรวจคือ npm metadata และ release asset listing แบบอ่านอย่างเดียว ผมไม่ได้รัน npm install -g, remote installer, PowerShell หรือ binary รุ่นนี้ ไม่ได้เปิด network/MCP ของ agent และไม่ให้เข้าถึง secret หรือ private network
เงินและผลกระทบ
Patch นี้อาจลดเวลาที่เสียกับ TUI crash และ server mismatch แต่ fleet ที่อัปเดตอัตโนมัติอาจเสียเวลามากกว่าหาก Windows developer หยุดทำงาน ต้นทุนจริงประกอบด้วยเวลาวินิจฉัย การ rollback และความต่างเวอร์ชันระหว่างสมาชิกทีม จึงควรเก็บ previous known-good artifact ใน registry ภายในและกำหนด owner ของ rollout
ความเสถียรของ approval UI ยังมีมูลค่าด้าน audit เพราะ prompt ที่แสดงครบช่วยให้ reviewer ตัดสินใจจากข้อมูลเดียวกับ log อย่างไรก็ตามทีมต้องบันทึก tool call, command, network destination และผลลัพธ์ ไม่ใช่เก็บเพียงคำว่า approved
สิ่งที่ยังไม่ชัดและแหล่งข่าวพูดไม่ตรงกัน
Release page บอก 0.162.1 เป็น latest และอธิบาย fix ที่สำเร็จ แต่ issue ฝั่ง Windows บอก installation path ของ latest ยังขาดองค์ประกอบ ทั้งสองข้อมูลไม่ขัดกันเรื่อง source code แต่อธิบายคนละชั้น: tag อาจถูกต้อง ขณะที่ distribution graph บาง platform ยังไม่ครบ
ยังไม่ชัดจาก release note ว่า issue จะถูกแก้ด้วย republish package เดิมหรือ version ใหม่ การ republish ภายใต้เวอร์ชันเดิมมีผลต่อ immutability และ lockfile policy ทีมจึงควรตรวจ registry metadata ใหม่ก่อน rollout ไม่เดาจากเลข version อย่างเดียว
ยังไม่มีข้อมูลในสอง bug fix นี้ว่าพฤติกรรมเปลี่ยนกับทุก terminal emulator, remote SSH, proxy หรือ enterprise-managed feature set อย่างไร และไม่มีหลักฐานว่าการไม่ crash ทำให้ approval decision ถูกต้องโดยตัวมันเอง
วิธีใช้ให้ปลอดภัยขึ้น
- pin
0.162.1เฉพาะ platform ที่ canary ผ่าน และ pin Windows ไว้ที่ known-good0.162.0ตาม mitigation ของ issue ณ เวลาตรวจ - ตรวจ npm integrity ของ tarball ที่ใช้จริง และตรวจ digest/signature แยกสำหรับ release asset ห้ามสลับ digest ข้ามช่องทาง
- รันใน isolated worktree ที่ไม่มี production secret จำกัด filesystem เป็น workspace-write และปิด network เป็นค่าเริ่มต้น
- บังคับ approval ก่อน push, PR mutation, publish, deploy, destructive command และการออกนอก allowlist
- allowlist MCP/plugin/provider ทีละตัว ส่ง secret อายุสั้น scope ต่ำ และไม่ forward environment ทั้งชุด
- ทดสอบ multiline question, URL display, server restart และ feature override ใน fixture ที่ไม่แตะระบบจริง
- เก็บ rollback artifact, platform matrix และ audit log พร้อม kill switch เมื่อ error rate เพิ่ม
- ติดตาม issue/advisory หลัง rollout เพราะสถานะ Windows และ dependency เปลี่ยนได้โดยไม่เปลี่ยนบทความนี้
แล้วเราควรทำอะไร
ผู้ใช้ macOS/Linux ที่เจอ crash ตาม release note สามารถทดลองแบบ pin ใน repository สาธิตและอ่าน diff ก่อนทุก remote action ทีมที่ไม่มีอาการไม่จำเป็นต้องรีบข้าม change window เพียงเพราะคำว่า latest ส่วนผู้ใช้ Windows ควรหยุดที่ 0.162.0 จนแพ็กเกจครบและมีการยืนยันจากการติดตั้งสะอาด
ทีมองค์กรควรแยก “security eligibility” ออกจาก “operational readiness” รุ่นหนึ่งอาจไม่มี known critical advisory แต่ยัง deploy ไม่ได้ในบาง platform ตรวจสอง gate นี้ก่อนอนุมัติ fleet เสมอ
ความเสี่ยงคงเหลือ
Prompt injection จาก repository, webpage, issue หรือ MCP result ยังชัก agent ให้เสนอคำสั่งอันตรายได้ Human approval ยังพลาดได้ โดยเฉพาะ URL คล้ายของจริงหรือคำสั่งหลายบรรทัด Worktree ไม่แยก Git object store, credential helper หรือ network identity โดยอัตโนมัติ
Integrity ของ npm ยืนยัน byte ที่ registry ให้ ไม่ยืนยันเจตนาของ source, transitive dependency, build pipeline หรือ native asset ช่องทางอื่น Known issue ใหม่อาจปรากฏหลังวันที่ตรวจ และ platform package ที่ถูกเติมภายหลังต้องตรวจ metadata ใหม่ รุ่นนี้จึงไม่ใช่การรับรองว่าไร้ช่องโหว่ แต่ผ่านเกณฑ์คัดกรองแบบมีเงื่อนไขและมี residual risk ชัดเจน
Recap
- 0.162.1 แก้ multiline TUI crash และ feature-settings handshake
- ตรวจ npm integrity ตาม artifact จริง ไม่ใช้แทน checksum native binary
- macOS/Linux canary ได้; Windows pin 0.162.0 จน issue 52683 คลี่คลาย
- sandbox, approval, network, MCP และ secret ยังต้องจำกัดแยกชั้น
- เก็บ platform matrix, audit log และ rollback
- สถานะคือผ่านเกณฑ์คัดกรอง ณ วันที่ตรวจ ไม่ใช่รับประกันไร้ช่องโหว่