Skip to main content
Back to articles

GitHub Dependabot เพิ่ม Registry แบบ Anonymous ระดับองค์กร

Dependabot รองรับ package mirror ที่อ่านได้โดยไม่ใช้ credential ผ่านการตั้ง private registry ระดับองค์กร ลดการใช้ token หลอกและช่วยแก้ปัญหา blocked host

GitHub Dependabot เพิ่ม Registry แบบ Anonymous ระดับองค์กร

GitHub ประกาศวันที่ 12 ตุลาคม 2026 ว่าองค์กรบน github.com สามารถตั้ง private registry สำหรับ Dependabot โดยเลือกวิธียืนยันตัวตนเป็น Anonymous ได้แล้ว ฟังดูย้อนแย้งกับคำว่า private registry แต่กรณีใช้งานจริงคือ registry หรือ package mirror ภายในที่อนุญาตให้อ่านแบบไม่ใช้ credential และต้องเปิดให้ Dependabot เข้าถึงโดยระบุ host อย่างชัดเจน ความสามารถนี้ช่วยเลิกใช้ token หลอกที่บางทีมเคยใส่เพียงเพื่อให้การตั้งค่าผ่าน

ปัญหาที่แก้คือเส้นทางเครือข่าย

Dependabot ที่ทำงานบน github.com ไม่ได้อ่าน package จากทุก host ที่ปรากฏในไฟล์โปรเจ็กต์ได้เอง GitHub อธิบายว่า update job เข้าถึงได้เฉพาะ host ใน egress allowlist และ private registry ที่องค์กรกำหนด หากใส่ registry ไว้แค่ .npmrc หรือ nuget.config job อาจถูกบล็อกแม้ package นั้นเปิดให้อ่านแบบไม่ต้อง login ดังนั้นการตั้ง registry ระดับองค์กรเป็นทั้งการระบุปลายทางที่อนุญาตและวิธีเข้าถึงปลายทาง ไม่ใช่เพียงการเก็บ secret

กรณีตัวอย่างคือทีมมี mirror ของ npm ภายในเพื่อควบคุมความพร้อมใช้งานหรือ cache package แต่ mirror เปิดอ่านโดยไม่ต้องใช้ token เดิมอาจต้องสร้าง credential ที่ไม่มีความหมายเพื่อบังคับให้ระบบรับการกำหนดค่าใหม่ ตอนนี้เลือก Anonymous ได้ตรงตามความจริง ทำให้ผู้ดูแลไม่ต้องหมุนเวียน token ที่ไม่ได้ใช้ และ log ของงานอัปเดตสะท้อนสาเหตุที่เข้าถึง registry ได้หรือไม่ได้ชัดขึ้น

ขอบเขตการตั้งค่า

GitHub ระบุว่า registry ระดับองค์กรใช้กับทุก repository ที่องค์กรให้สิทธิ์เข้าถึง รวมถึง repository ที่เปิดเฉพาะ Dependabot security updates และไม่มีไฟล์ dependabot.yml นี่เป็นจุดสำคัญสำหรับทีมที่คิดว่าการไม่มีไฟล์ดังกล่าวหมายถึงไม่ต้องดูค่า registry ควรตรวจรายชื่อ repository ที่ได้สิทธิ์และนโยบายการเข้าถึง package ก่อนเพิ่ม registry ใหม่ อย่าให้การตั้งค่าระดับองค์กรกลายเป็นทางออกทางเครือข่ายที่กว้างเกินจำเป็น

วิธีเพิ่มคือไปที่ Settings ขององค์กร เลือก Secrets and variables, Private registries แล้วสร้าง private registry ใหม่โดยเลือก Anonymous หากเคยใช้ token placeholder เป็นทางแก้ชั่วคราว GitHub บอกให้ลบ registry นั้นแล้วสร้างใหม่ เพราะเปลี่ยนวิธียืนยันตัวตนของ registry ที่มีอยู่ไม่ได้ ดังนั้นก่อนลบควรบันทึก URL ประเภท ecosystem และรายชื่อ repository ที่ผูกอยู่ จากนั้นสร้างค่าใหม่และรัน Dependabot update job เพื่อยืนยันว่า resolution สำเร็จจริง

ข้อควรระวังเรื่องความปลอดภัย

Anonymous ไม่ได้แปลว่าควรเปิด mirror ให้คนทั่วไปอ่านได้โดยไม่จำกัด การควบคุมเครือข่ายและสิทธิ์ของ host ยังเป็นหน้าที่ขององค์กร และ package ที่เก็บอยู่ใน mirror อาจมีโค้ดภายในหรือเวอร์ชันที่ไม่ควรเผยแพร่ ผู้ดูแลควรตรวจว่าบริการ Dependabot เข้าถึง endpoint ได้ตามแบบที่ตั้งใจโดยไม่ขยายการเปิดเผยต่ออินเทอร์เน็ตเกินจำเป็น รวมทั้งตรวจความถูกต้องของ package source และ lockfile เพื่อกัน dependency confusion

หลังตั้งค่า ให้ทดสอบทั้ง version update และ security update เพราะบาง repository อาจมีเฉพาะ security update ตรวจ log ว่าความล้มเหลวเดิมแบบ blocked host หายไปหรือไม่ และยืนยันว่ารายการ PR ที่สร้างอ้างอิง package จาก mirror ที่ต้องการ หาก job ยังล้มเหลว ให้แยกว่าปัญหาคือการอนุญาต host, DNS/network, รูปแบบ registry หรือสิทธิ์ package อย่ากลับไปใส่ token หลอกโดยไม่รู้สาเหตุ

ตัวเลือก Anonymous เปิดใช้ทั่วไปแล้วบน github.com ส่วน GitHub Enterprise Server จะได้ในเวอร์ชัน 3.24 ตามประกาศ ทีมที่ดูแล self-hosted GHES ควรตรวจเวอร์ชันก่อนวางขั้นตอนย้าย ไม่ควรสมมติว่าหน้าตั้งค่าเหมือน github.com ในขณะนี้

อ่านประกาศต้นทางวันที่ 12 ตุลาคม 2026: GitHub Changelog — Anonymous organization-level registries for Dependabot