AI coding เร็วขึ้น แต่ npm/pip/cargo ต้องมีด่านตรวจก่อนติดตั้ง dependency
สารบัญ
สรุปให้ไว
agent ติดตั้ง package ได้เร็วมาก
แต่ไม่ได้แปลว่าปลอดภัย
minimum release age ช่วยลดความเสี่ยง
ไม่ดึง package ที่เพิ่งปล่อยเมื่อไม่กี่นาที
scanner ควรอยู่หน้า install command
โดยเฉพาะ npm, pip และ cargo
Human Gate ต้องชัด
dependency ใหม่ต้องมีเหตุผลและคนอนุมัติ
01มันคืออะไร
ยุค AI coding ทำให้การเพิ่ม library ง่ายกว่าเดิมมาก แค่บอก agent ว่าแก้ feature หนึ่ง มันอาจติดตั้ง dependency เพิ่มเองหลายตัวในไม่กี่นาที
ปัญหาคือ supply-chain attack ก็ใช้ความเร็วนี้เหมือนกัน package ที่ถูก takeover หรือ package ใหม่ที่แฝง malware มักสร้างความเสียหายก่อนที่ ecosystem จะจับได้ครบ
ดังนั้นการติดตั้ง dependency ต้องมี guardrail ที่เครื่องและใน repo ไม่ใช่หวังว่า prompt จะบอก agent ให้ระวังแล้วพอ
02มีอะไรใหม่
แนวทางแรกคือ minimum release age เช่นไม่ติดตั้ง package version ที่เพิ่งปล่อยทันที ให้รอระยะหนึ่งเพื่อให้ community และ security scanner มีเวลาจับความผิดปกติ
แนวทางนี้ทำได้กับหลาย package manager แต่รายละเอียดต่างกัน เช่น npm ใช้วัน, pnpm ใช้นาที และ bun ใช้วินาที ทีมจึงควรทำเป็น config กลาง ไม่ปล่อยให้แต่ละคนตั้งเอง
อีกแนวทางคือใช้ wrapper หรือ scanner หน้า install command เพื่อตรวจ known vulnerability และ pattern ที่น่าสงสัยก่อน package ถูกดึงเข้าเครื่องหรือ CI
เช็กลิสต์ที่ควรตั้งก่อนให้ agent ลง dependency
- ★
กำหนด release-age gate
ไม่ใช้ version ที่ใหม่เกินไปโดยไม่มีเหตุผล
- ★
บังคับ lockfile review
dependency diff ต้องอ่านได้และตรวจได้
- ★
แยกสิทธิ์ install
agent ไม่ควรลง package ใหม่ใน production branch โดยตรง
- ★
ใช้ scanner หน้า install
ให้ warning เป็นข้อมูลก่อนกดอนุมัติ
- ★
บันทึกเหตุผล
package ใหม่ควรมีเหตุผลใน PR หรือ task note
03เกี่ยวอะไรกับเรา
ฟันธง: ถ้าทีมใช้ AI coding agent แล้ว ยังให้มันลง package ได้อิสระเหมือนเดิม แปลว่า workflow ยังไม่พร้อม
ให้เริ่มจาก policy ง่าย ๆ คือ agent เสนอ dependency ได้ แต่คนต้องอนุมัติ dependency ใหม่ทุกครั้ง พร้อมดู maintainer, release age, license, install script และจำนวน package ที่เพิ่มเข้ามา
AI ช่วยเขียน code ได้เร็วขึ้นก็จริง แต่ถ้าไม่มีด่านตรวจ เราอาจแค่ ship bug และ malware ได้เร็วขึ้นเท่านั้น