โต๊ะทำงานและตู้ข้อมูลอยู่ในกรอบ sandbox สีเขียวเข้ม โดยรอยแตกสีอำพันจากอุโมงค์ภายนอกถูกหยุดที่กำแพง

Codex CLI 0.155.0: อุด WSL Escape และ Credential Leak ก่อนลอง Voice/MCP

พี่โชว์Engineering

Codex CLI 0.155.0 ออก 18 กันยายนตามเวลากรุงเทพฯ เพิ่ม voice แบบทดลอง, Touch ID สำหรับคำขอ MCP บน Mac ที่รองรับ, การ archive/delete task และ daemon update แต่เหตุผลที่ควรอ่านก่อนคือ hardening ของ sandbox, credential และ approval evidence ครับ

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

ตรวจ tag stable rust-v0.155.0, release notes, commit/asset metadata และไฟล์ codex_package_SHA256SUMS จาก repository ทางการ Release แนบ SHA-256 ให้ artifacts และมี Sigstore bundle สำหรับ Linux packages หลายชุด จึงมีเส้นทางตรวจ provenance โดยไม่ต้องรัน remote installer ทีมไม่ได้ติดตั้งหรือเรียก binary รุ่นนี้กับ repository/credential จริง

release ระบุว่าบล็อก Windows process escape จาก restricted WSL sandbox, ป้องกัน shell snapshot เปิดเผย credential, invalidate remote-control session/cache เมื่อสลับ account และรักษาหลักฐาน authorization ใน automatic approval review ให้ครบขึ้น หน้า GitHub advisories มี advisory ระดับ high เก่าที่กระทบถึง 0.38.0 และแก้ใน 0.39.0 จึงไม่อยู่ในช่วง 0.155.0 ณ วันที่ตรวจ แต่การไม่มี advisory ใหม่ไม่ใช่หลักฐานว่าไม่มีช่องโหว่

สรุปว่า ผ่านเกณฑ์คัดกรอง ณ วันที่ตรวจ 2026-09-18 สำหรับ canary ที่ pin version, ตรวจ artifact และบังคับ sandbox/approval ชัดเจน โดยยังต้องถือว่ามีความเสี่ยงคงเหลือ

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

ดาวน์โหลดจาก release/registry ทางการ ตรึง 0.155.0 และเทียบ SHA-256 หรือ Sigstore ก่อนใช้ ทดลองใน repository สังเคราะห์ที่ไม่มี secret ตั้ง filesystem เป็น read-only หรือ workspace-write, ปิด network โดย default และเปิดเฉพาะปลายทางที่งานต้องใช้ อย่าเปิด experimental voice ใน environment ที่ microphone/transcript มีข้อมูลอ่อนไหว

สำหรับ MCP ให้เริ่มโดยไม่ต่อ server แล้วเพิ่มทีละตัว ตรวจ publisher, tool schema, filesystem/network scope และ OAuth audience Touch ID ช่วยยืนยันคน ณ จุดขอใช้ tool แต่ไม่ตรวจว่า tool server ซื่อสัตย์ จึงยังต้องอ่าน action/destination ก่อนยืนยัน

แยก credential provider สำหรับ Bedrock จาก shell environment ทั่วไป จำกัดอายุและ role ไม่ใช้คำสั่ง export ที่พิมพ์ secret ลง log ตรวจ account identity หลังสลับผู้ใช้ และให้ CI ที่ agent แก้ไม่ได้เป็น publication gate

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

voice, daemon update และ MCP เพิ่ม process/network/data path ใหม่ ความผิดพลาดของ transcript หรือ tool description ยังชักนำ action ได้ Shell snapshot hardening ลดช่องทางหนึ่งแต่ host process ที่ได้รับสิทธิ์กว้างยังเข้าถึงสิ่งที่ sandbox อนุญาต ส่วน automatic approval review เป็น classifier/policy layer ไม่ใช่การพิสูจน์ผลกระทบทั้งหมด

supply chain ยังผ่าน registry, release workflow และ dependency จำนวนมาก ควรเก็บ SBOM/digest ของ artifact ที่ deploy และมี rollback ไปเวอร์ชันที่ผ่าน canary แล้ว

Recap

  • pin 0.155.0 และตรวจ SHA-256/Sigstore
  • ตั้ง sandbox, network และ approval แบบ explicit
  • เปิด voice/MCP/credential provider ทีละส่วน
  • audit account switch, destination และ diff ก่อนส่งออกนอกเครื่องครับ