สรุปสั้น

นักวิจัยด้านความปลอดภัยไซเบอร์ได้ออกมาเตือนถึงช่องโหว่ workflow CI/CD รูปแบบใหม่ที่เปิดทางให้ผู้โจมตียึด workflow และเจาะ open-source supply chain ได้ รูปแบบช่องโหว่ที่ “ใช้โจมตีได้และวิกฤต” นี้ถูกตั้งชื่อรหัสว่า Cordyceps โดยบริษัท Novee Security ปัญหานี้เปิดทางให้ผู้โจมตีควบคุม repository ได้อย่างเต็มรูปแบบที่องค์กรขนาดใหญ่ที่สุดในโลกหลายสิบแห่ง รวมถึงบริษัท Microsoft, Google, Apache และ Cloudflare นาย Elad Meged วิศวกรผู้ก่อตั้งและนักวิจัยด้านความปลอดภัยของ Novee Security ระบุว่า ช่องโหว่นี้สามารถถูกใช้โจมตีได้โดยผู้ใช้ที่ไม่ผ่านการยืนยันตัวตนคนใดก็ได้ ไม่ต้องเป็นสมาชิกองค์กรหรือมีสิทธิ์พิเศษใด ๆ เพียงแค่บัญชีฟรีก็เพียงพอที่จะปลอมการอนุมัติ push โค้ด หรือขโมย credential ได้

จากการสแกน repository ที่มีผลกระทบสูงประมาณ 30,000 แห่งของบริษัทที่ทำ penetration test รายนี้ พบว่ามีมากกว่า 300 แห่งที่สามารถถูกเจาะได้เต็มรูปแบบ เปิดทางให้รันโค้ดที่ผู้โจมตีควบคุม ขโมย credential และเจาะ supply chain ซึ่งอาจส่งผลกระทบรุนแรงต่อระบบปลายน้ำ แก่นของปัญหาอยู่ที่การตั้งค่า CI/CD ที่อ่อนแอ ซึ่งให้สิทธิ์แก่ pull request หรือ PR มากเกินกว่าที่ควรจะเป็น โดย PR คือข้อเสนอเพื่อรวมการเปลี่ยนแปลงโค้ดจาก branch หนึ่งเข้าสู่โปรเจกต์หลัก แต่เนื่องจาก PR ที่ไม่น่าเชื่อถือสามารถกระตุ้น workflow ที่มีสิทธิ์สูงได้ จึงเปิดประตูสู่ command injection การยกระดับสิทธิ์ และการเจาะ supply chain

รายละเอียดข่าว

เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 24 มิถุนายน 2569 ว่า บริษัท Novee Security ได้เปิดโปงช่องโหว่ CI/CD รูปแบบใหม่ชื่อ Cordyceps ซึ่งซ่อนตัวอยู่ในระบบ open-source plumbing พื้นฐานที่ทั้งอุตสาหกรรมใช้งานร่วมกัน Novee อธิบายว่าช่องโหว่นี้เป็นประเภทที่หลบซ่อนจากเครื่องมือสแกนได้ เพราะในทางเทคนิคแล้วทุกองค์ประกอบทำงานตามที่ออกแบบไว้ workflow ทำงานตามที่ถูกสั่ง ช่องโหว่จึงดำรงอยู่เฉพาะในการประกอบกัน คือข้อมูลที่ไม่น่าเชื่อถือข้ามผ่าน trust boundary ที่ไม่มีใครตรวจสอบ

ตัวอย่างที่ Novee พบ ได้แก่ บน Azure Sentinel ของ Microsoft มีคอมเมนต์บน PR ที่สามารถรันโค้ดของผู้โจมตีแบบไม่ระบุตัวตนบนระบบ CI ของ Microsoft และขโมย GitHub App key ที่ไม่มีวันหมดอายุได้ ในกรณีคล้ายกัน PR บน AI Agent Development Kit ของ Google (adk-samples) สามารถรันโค้ดของผู้โจมตีบน CI ของ Google เพื่อเข้าควบคุม repository ของ Google Cloud ได้อย่างสมบูรณ์ การค้นพบอื่น ๆ ยังรวมถึง Apache Doris ที่มีการโจมตีแบบ zero-click สองรายการ ทำให้คอมเมนต์เดียวบน PR ใด ๆ หรือ PR ที่ fork มา สามารถรันโค้ดของผู้โจมตีและขโมย CI credential ที่ฝังไว้หรือ token ที่มีสิทธิ์เขียนเต็มได้ รวมถึง Cloudflare Workers SDK ที่ PR ซึ่งมีชื่อ branch ที่ถูกประดิษฐ์ขึ้นสามารถรันคำสั่งใด ๆ บน CI runner ของ Cloudflare และโปรเจกต์ Black ของ Python Software Foundation ที่ PR เดียวจากใครก็ได้สามารถรันโค้ดบนระบบ build ของ Black และขโมย automation token ซึ่งนำไปใช้อนุมัติ PR ต่อได้

รายละเอียดช่องโหว่

แก่นของช่องโหว่ Cordyceps อยู่ที่การตั้งค่า CI/CD ที่ให้สิทธิ์ pull request มากเกินไป โดยปกติ workflow ที่มีสิทธิ์สูง เช่น การ build, การ deploy หรือการเข้าถึง secret ไม่ควรถูกกระตุ้นโดยโค้ดจาก PR ที่ไม่น่าเชื่อถือ แต่เมื่อ PR ที่มาจากภายนอกหรือ fork สามารถกระตุ้น workflow เหล่านี้ได้ ผู้โจมตีก็สามารถสอด command injection ยกระดับสิทธิ์ และเจาะ supply chain ผ่าน trust boundary ที่ไม่มีใครตรวจสอบ จุดที่อันตรายเป็นพิเศษคือการที่ workflow รัน build script, ติดตั้ง dependency หรือประมวลผล metadata ของ PR เช่น ชื่อ branch โดยไม่ตรวจสอบความน่าเชื่อถือ ทำให้ชื่อ branch ที่ถูกประดิษฐ์ขึ้นกลายเป็นช่องทางรันคำสั่งได้ หลังการเปิดเผยอย่างมีความรับผิดชอบ ทั้ง Microsoft และ Google ยืนยันผลกระทบ ขณะที่ Cloudflare, Python และ Apache ได้ทำการ hardening และออกแพตช์แก้ไขแล้ว นาย Meged เตือนว่า ธรรมชาติของการเขียนโค้ดแบบ agentic ทำให้ช่องโหว่ CI/CD เหล่านี้ถูกทำซ้ำอย่างต่อเนื่องในวงกว้าง “ติดเชื้อ” repository ในอัตราแบบทวีคูณ

ผลกระทบต่อไทย

ช่องโหว่ Cordyceps เป็นปัญหาเชิงโครงสร้างของระบบ CI/CD ที่นักพัฒนาทั่วโลกรวมถึงในประเทศไทยใช้งานอยู่ทุกวัน องค์กรไทยจำนวนมากทั้งบริษัทเทคโนโลยี สตาร์ตอัป สถาบันการเงิน และหน่วยงานราชการ ต่างพึ่งพา GitHub Actions และ pipeline CI/CD ในการพัฒนาและ deploy ซอฟต์แวร์ หากตั้งค่า workflow ให้ PR จากภายนอกกระตุ้น job ที่มีสิทธิ์สูงโดยไม่ตรวจสอบ ก็อาจตกเป็นเหยื่อรูปแบบเดียวกัน ความเสี่ยงสำคัญคือการที่ผู้โจมตีสามารถขโมย token หรือ secret จาก pipeline แล้วฝังโค้ดอันตรายเข้าสู่ผลิตภัณฑ์ ซึ่งจะส่งต่อไปยังลูกค้าและผู้ใช้ปลายทางในลักษณะ supply chain attack ทีมพัฒนาและ DevSecOps ของไทยจึงควรตรวจสอบการตั้งค่า workflow ของตนเองอย่างเร่งด่วน โดยเฉพาะ repo ที่เป็น open-source หรือเปิดรับ PR จากภายนอก

คำแนะนำ

ทีมพัฒนาและ DevSecOps ควรตรวจสอบการตั้งค่า workflow CI/CD ทั้งหมด โดยเฉพาะการใช้ trigger อย่าง pull_request_target บน GitHub Actions ที่ให้สิทธิ์เข้าถึง secret แก่โค้ดจาก PR ภายนอก ควรหลีกเลี่ยงการรันโค้ดที่ไม่น่าเชื่อถือใน context ที่มีสิทธิ์สูง และแยก job ที่ต้องใช้ secret ออกจาก job ที่ประมวลผลข้อมูลจาก PR ภายนอก ควรจำกัดสิทธิ์ของ GITHUB_TOKEN ให้น้อยที่สุดเท่าที่จำเป็น (least privilege) และตั้งค่าให้ PR จากภายนอกต้องได้รับการอนุมัติด้วยตนเองก่อนรัน workflow ที่มีสิทธิ์ ควรตรวจสอบและล้าง metadata ของ PR เช่น ชื่อ branch ก่อนนำไปใช้ใน script และพิจารณาใช้ environment protection rule กับ secret ที่สำคัญ องค์กรที่ใช้ AI agent ในการเขียนโค้ดควรระวังเป็นพิเศษ เพราะ Novee เตือนว่าช่องโหว่ลักษณะนี้ถูกทำซ้ำในวงกว้างผ่านการเขียนโค้ดแบบ agentic

แหล่งอ้างอิง