Claude Code 2.1.178 — ปิดช่องโหว่ sub-agent ขอสิทธิ์เกินตัว
สารบัญ
สรุปให้ไว
ปิดช่องโหว่ sub-agent
ตอนนี้มี classifier ตรวจ sub-agent ก่อนปล่อยให้รัน ตัวลูกขอสิ่งที่ตัวหลักถูกห้ามไม่ได้อีกแล้ว
ล็อก permission ละเอียดขึ้น
ใช้ asterisk wildcard จับค่าที่ส่งเข้า tool ได้ เช่นจำกัด edit ให้แก้ได้แค่บางโฟลเดอร์
ค้นโค้ดเร็วขึ้น 5-10 เท่า
ลง Ripgrep แล้ว Claude Code หยิบไปใช้เองอัตโนมัติ โปรเจกต์ใหญ่ค้นไวขึ้นชัด
ฟันธง: อัปเดตเลย + รัดสิทธิ์
`npm update @anthropic-ai/claude-code` แล้วล็อก sub-agent ให้อ่านอย่างเดียว
01เรื่องนี้คืออะไร
Claude Code คือ AI coding agent ที่ทำงานบน terminal เวอร์ชันล่าสุดคือ 2.1.178 ตัวเด็ดของรอบนี้อยู่ที่เรื่อง permission ของ sub-agent
ลองนึกภาพ sub-agent เป็นลูกทีมที่ตัวหลักสั่งให้ไปลุยงานย่อย ๆ แทน ปัญหาเดิมคือถ้าเราห้ามตัวหลักทำบางอย่างไว้ ลูกทีมที่มันแยกออกไปกลับเดินไปขอทำสิ่งนั้นได้เอง เท่ากับกำแพงที่เราตั้งไว้มีรูรั่ว รอบนี้เขาอุดรูนั้นแล้ว
02มีอะไรใหม่
ก่อนที่ sub-agent จะถูกปล่อยออกไปทำงาน มันจะถูก classifier ตรวจก่อนทุกครั้ง ถ้าตัวงานนั้นเป็นสิ่งที่ตัวหลักถูกห้ามไว้ มันจะถูกปฏิเสธ และเพราะ sub-agent แสดง permission prompt แบบกดยืนยันสด ๆ ไม่ได้ ระบบจึงถือว่า tool call ที่ถูกบล็อกคือ "ปฏิเสธ" ไปเลย ไม่มีเดากลาง ๆ
อีกของที่ใช้ได้จริงคือ permission rule แบบ wildcard ตอนนี้เขียนกฎจับค่าที่ส่งเข้า tool ด้วย asterisk ได้ เลยล็อกระดับ input ได้ เช่นบังคับให้ tool edit แตะได้แค่บางโฟลเดอร์ ส่วนการเรียก sub-agent ก็เจาะจงตามชื่อได้ และมี CLI flag `--disallow-tools` ไว้ปิด agent บางตัวตั้งแต่ตอนเริ่ม
ของใหม่และของที่ซ่อมในเวอร์ชันนี้
- ★
classifier ตรวจ sub-agent ก่อนรัน
ปิดช่องที่ sub-agent ขอ action ที่ตัวหลักถูกบล็อก ของที่ถูกห้ามถือเป็นปฏิเสธทันที
- ★
wildcard ใน permission rule
จับค่า input ของ tool ด้วย asterisk allow/block ได้ละเอียดถึงระดับโฟลเดอร์
- ★
เจาะจง sub-agent ตามชื่อ
สั่งปิด agent บางตัวตอนเริ่มด้วย flag `--disallow-tools`
- ★
Ripgrep-based grep
tool description แนะนำให้ลง Ripgrep ลงแล้วค้นไวขึ้น 5-10 เท่าบนโปรเจกต์ใหญ่ ใช้เองอัตโนมัติ และเคารพ `.gitignore` โฟลเดอร์ที่ ignore ไว้จะถูกข้าม
- ★
ซ่อม session ค้าง
session ไม่ยอมปิดเมื่อมี sub-agent ที่ park ไว้เฉย ๆ หรือ shell ที่รันพื้นหลังหลุดค้าง
- ★
ซ่อม worktree ค้าง
orphaned background worktree หลังรอบเก็บกวาด retention 30 วัน
- ★
ซ่อมวันที่เพี้ยน
background session ที่ reattach หลังเครื่อง sleep/wake แล้วได้วันที่ผิด
- ★
ซ่อม MCP กับ worktree
sub-agent ไม่รับ MCP server ที่ inject เข้ามาสด ๆ และ sub-agent ใน isolated worktree เคยถูกห้ามอ่าน/แก้ไฟล์ใน worktree ของตัวเอง
03เกี่ยวอะไรกับเรา
ใครที่รัน sub-agent หลายตัวพร้อมกัน เรื่องปิดช่องโหว่ "ลูกทีมขอสิ่งที่ตัวหลักถูกห้าม" คือข่าวที่ควรรู้ เพราะก่อนหน้านี้กำแพงที่เราตั้งไว้ไม่ได้ครอบทั้งกองจริง แต่อย่าเข้าใจผิดว่าระบบจะจัดให้เองทั้งหมด
บทเรียนตัวจริงคือ Human Gate — จุดที่คนต้องเป็นคนตั้งกฎเอง ระบบแค่บังคับใช้ตามที่เราเขียน ทีมเขาแนะนำให้ล็อก sub-agent ไว้ที่ tool ชุด read-only คืออ่านอย่างเดียว แล้วให้การแก้ไขทุกอย่างวิ่งผ่านตัวหลัก เท่านี้ถ้าลูกทีมตัวไหนหลุด มันก็แก้ไฟล์เราไม่ได้ โดยเฉพาะงานที่แตะไฟล์บริษัท ลูกค้า หรือสัญญา อย่าปล่อยให้ sub-agent แก้ตรง ๆ
ฟันธง: อัปเดตเลยด้วย `npm update @anthropic-ai/claude-code` แล้วถือโอกาสรัดสิทธิ์ใหม่ทันที — ตั้ง sub-agent เป็น read-only ให้ตัวหลักเป็นคนแก้ และถ้ายังไม่ได้ลง Ripgrep ก็ลงไว้ ค้นโค้ดเร็วขึ้นฟรี ๆ