กุญแจสีอำพันจากแฟ้มภายนอกหยุดอยู่หน้าประตูเหล็กที่ปิดกั้นเครื่องมือและซองข้อมูลในห้องสีเขียวเข้ม

Qwen Code 0.24.2: โฟลเดอร์ที่ยังไม่ตัดสินใจเชื่อถือต้องหยุดก่อนโหลดคำสั่งโปรเจกต์

พี่โชว์Engineering

ลองนึกถึงการเปิดโฟลเดอร์งานที่เพิ่งรับมาจากคนอื่น ถ้า agent อ่านไฟล์ตั้งค่าและเริ่มรัน hook ก่อนที่เราจะตอบว่าเชื่อถือโฟลเดอร์นี้ไหม ก็เหมือนช่างเข้าห้องเครื่องพร้อมกุญแจก่อนเจ้าของบ้านอนุญาต Qwen Code 0.24.2 แก้จุดนี้สำหรับผู้ใช้ที่ เปิด folder trust ไว้แล้ว: โฟลเดอร์ที่ยังไม่มีคำตัดสินเริ่มเป็น untrusted จนกว่าจะอนุญาตชัดเจน

คำว่า folder trust คือการตัดสินใจว่าจะให้ไฟล์ของโปรเจกต์กำหนดพฤติกรรม agent ได้แค่ไหน ไม่ใช่การตรวจว่าโค้ดในโฟลเดอร์ไม่มีอันตราย ก่อนแก้ PR #12198 ระบุว่าโฟลเดอร์ที่ยังไม่ตัดสินใจอาจได้รับค่า trusted ระหว่างเริ่มระบบ โดยเฉพาะ headless session ที่ไม่มีหน้าต่างถาม ผู้สร้างโปรเจกต์จึงอาจใส่ startup hook, ค่า environment หรือโหมดอนุมัติแบบกว้างในไฟล์โปรเจกต์ให้โหลดเร็วเกินไป

หลังแก้ เมื่อ folder trust เปิดอยู่ Qwen Code จะกัน project settings, project .env, hooks, rules, memory, skills, subagents, LSP และ MCP ของโฟลเดอร์ที่ยังไม่ trusted ไว้ก่อน โหมดอนุมัติที่ให้สิทธิ์สูงจะกลับไปเป็น default ระหว่างรอคำตอบ หน้าต่างแบบโต้ตอบจะเริ่ม CLI ใหม่หลังเราเลือก trust เพื่อโหลดค่าของโปรเจกต์ตามที่อนุญาต นี่เป็นการเปลี่ยนลำดับโหลด ไม่ใช่การสแกนความปลอดภัยของ repository

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

  • Release ทางการของ QwenLM/qwen-code เป็น stable tag v0.24.2 เผยแพร่ 20 กันยายน 2026 เวลา 14:12 UTC มี changelog ระบุ PR #12198 โดยตรง PR อธิบายการทดสอบสถานะ undecided, trusted, untrusted, headless และ daemon; ผู้พัฒนาระบุว่า Windows/Linux native และ OpenTUI ยังไม่ได้ทดสอบครบใน PR นี้
  • ดาวน์โหลด archive qwen-code-darwin-arm64.tar.gz จาก release เพื่อ อ่าน checksum เท่านั้น: shasum -a 256 ได้ c4944a86fcb6e4ac2fb518041a339a3f315f1646732b335eeb1b90e556c87294 ตรงกับ SHA256SUMS และ digest ใน GitHub release API ไม่ได้แตกไฟล์ รัน binary หรือรัน remote installer
  • Settings ทางการ บอกว่า folder trust และ OS sandbox ปิดเป็นค่าเริ่มต้น ต้องเปิดเอง; approval mode ใช้ classifier ในโหมด auto ไม่ควรเข้าใจว่า classifier เป็น sandbox หรือใช้ --yolo แทน permission policy
  • หน้า published advisories ยังไม่มีรายการ ณ วันที่ตรวจ แต่ issue ทางการ #8136 และ #7770 ยังเปิดระดับ P2: ส่วนเตือนของ provider URL อาจเผย password ที่อยู่ใน URL และ MCP proxy ที่เปิดสู่อินเทอร์เน็ตอาจพาเครื่องมือข้ามขอบเขต sandbox ได้ ไม่มีหลักฐานว่า 0.24.2 แก้สองเรื่องนี้

เส้นทางอัปเดตที่ตรวจเป็นแบบอ่านอย่างเดียว: เลือกแพ็กเกจหรือ archive จาก publisher, pin เวอร์ชัน และตรวจ checksum ก่อนนำไปใช้จริง ไม่ได้ทดลองกับ repository, credential, network ภายใน หรือ production; dependency ที่ติดตั้งผ่าน npm และ extension ที่เพิ่มเองยังต้องตรวจแยก

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

เปิด folder trust ใน user settings ที่โปรเจกต์แก้ไม่ได้ แล้วเริ่มจากโฟลเดอร์ที่ไม่เคย trust เพื่อดูว่า hook กับ project MCP ยังไม่ทำงานก่อนให้สิทธิ์ เมื่อยอม trust ให้ตรวจ QWEN.md, hooks, .env, MCP server และ permission rules ของโปรเจกต์เหมือนตรวจสัญญาก่อนเซ็น ถ้าใช้ OpenTUI ให้ทราบว่า PR นี้ระบุว่ายังไม่มี trust prompt ใน renderer นั้น; ใช้หน้าต่าง Ink ตามคำแนะนำผู้พัฒนาสำหรับการตัดสินใจครั้งแรก

เปิด sandbox ที่ตรวจนโยบาย filesystem และ network แล้ว จำกัด MCP server เป็นรายการที่จำเป็นและไม่เปิด proxy สู่อินเทอร์เน็ต ใส่ secret ผ่านช่องทางที่จำกัด scope โดยไม่ฝัง password ใน provider URL ตั้ง approval mode ให้ถามก่อนการเขียนหรือรัน shell ที่มีผล และตรวจ artifact/log ก่อนแชร์ต่อ

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

ผู้ใช้ที่ยังไม่เปิด folder trust ไม่ได้รับขอบเขตใหม่นี้โดยอัตโนมัติ; sandbox ก็ยัง opt-in และ approval classifier อาจประเมินคำสั่งผิดได้ Issue P2 ทั้งสองยังต้องหลีกเลี่ยงตามวิธีข้างต้น การตรวจ checksum ยืนยันเฉพาะไฟล์ที่ดาวน์โหลดตรงกับค่าที่ publisher เผยแพร่ ไม่ยืนยัน dependency, extension, ลายเซ็นอิสระ หรือความปลอดภัยขณะรัน สรุปได้เพียง ผ่านเกณฑ์คัดกรอง ณ วันที่ตรวจ ภายใต้ข้อจำกัดนี้

Recap

  • 0.24.2 ปิดทางโหลดค่าของโฟลเดอร์ undecided เร็วเกินไป เมื่อเปิด folder trust
  • เปิด folder trust และ sandbox เอง; ตรวจ hook, .env, MCP ก่อนกด trust
  • หลีกเลี่ยง credential ใน URL และ MCP proxy ที่เปิดสู่เครือข่ายภายนอก
  • เทียบ checksum ของไฟล์จริงก่อนติดตั้ง และแยกความเสี่ยงของ dependency ออกมาตรวจ