npm รองรับ trusted publishing หลายคอนฟิกต่อแพ็กเกจแล้ว
Multiple trusted publishing configurations for npm
GitHub ประกาศเมื่อวันที่ 3 กันยายน 2026 ว่าแพ็กเกจ npm สามารถมีคอนฟิก trusted publishing แบบ OIDC ได้หลายชุดพร้อมกันแล้ว จากเดิมที่จำกัดไว้เพียงชุดเดียวต่อแพ็กเกจ
Trusted publishing คือกลไกที่ใช้ OIDC token ในการยืนยันตัวตนตอน publish แพ็กเกจจาก CI/CD โดยไม่ต้องเก็บ credential อายุยาวหรือ personal access token ไว้ในระบบ ซึ่งเป็นช่องโหว่หลักที่ทำให้เกิดเหตุแพ็กเกจถูกยึดครองหลายครั้งในช่วงหลายปีที่ผ่านมา
ข้อจำกัดเดิมที่มีได้แค่คอนฟิกเดียวสร้างปัญหาจริงกับทีมที่มีสายการปล่อยหลายแบบ เช่น release ปกติ, prerelease, hotfix หรือ publish จาก repo คนละตัว ทีมเหล่านี้ต้องหาทางเลี่ยงหรือกลับไปใช้ token อายุยาว ตอนนี้แต่ละคอนฟิกทำงานอิสระและเป็นแบบบวกเพิ่ม (additive) ไม่จำกัดกันเอง เมื่อมี OIDC token เข้ามา ระบบจะอนุญาตหากตรงกับคอนฟิกใดคอนฟิกหนึ่ง
ค่าเริ่มต้นที่ปลอดภัยคือทุกคอนฟิกจะ stage แพ็กเกจไว้ก่อน ส่วนการ publish ตรงเข้า registry ต้องเปิดใช้เองเป็นรายคอนฟิก GitHub แนะนำให้ใช้โหมด staging-only ที่ต้องมีคนอนุมัติก่อนเวอร์ชันจะขึ้นจริง นอกจากนี้แพ็กเกจที่ stage ไว้จะถูกล็อกรออนุมัติจนกว่าการสแกนมัลแวร์จะเสร็จ และ maintainer ดูประวัติการ stage ได้ในแท็บ versions บน npmjs.com
การตั้งค่าทำได้จากหน้า settings ของแพ็กเกจ ทั้งการเพิ่ม ดูรายการ และลบคอนฟิก
แหล่งอ้างอิง
อ่านต้นฉบับที่ GitHub Changeloghttps://github.blog/changelog/2026-09-03-multiple-trusted-publishing-configurations-for-npm