เครื่องมือ GitHub Actions คือพระเอกของ DevOps ยุคใหม่ เพราะช่วยให้เรารัน CI/CD pipeline ได้อัตโนมัติ เช่น build, test, deploy โดยไม่ต้องเซ็ตเซิร์ฟเวอร์เอง แต่...ความสะดวกนี้ก็แอบซ่อน "กับดักความปลอดภัย" ไว้เช่นกัน

ทีมวิจัยจาก Sysdig พบว่าฟีเจอร์ pull_request_target ของ GitHub Actions ถูกใช้แบบผิดพลาดในหลายโปรเจกต์ดัง เช่น MITRE, Splunk และ Spotipy — ทำให้แฮกเกอร์สามารถส่ง Pull Request จาก fork แล้วสั่งให้รันโค้ดอันตรายได้ภายใต้สิทธิ์ของ repo หลัก 😨

เพราะ pull_request_target จะรัน workflow ใน context ของ branch หลัก เช่น main — ซึ่งแปลว่าแฮกเกอร์สามารถเข้าถึง token หรือ secrets ได้เลย หากไม่มีการป้องกันเพิ่มเติม

ในกรณี MITRE แฮกเกอร์สามารถรันโค้ดอันตรายผ่านการปรับ dependency ได้ ขณะที่ Splunk เผย secrets เช่น APPINSPECTUSERNAME/PASSWORD ออกไปผ่าน workflow ที่ไม่ปลอดภัย และใน Spotipy ก็ใช้ setup.py ที่แอบรันโค้ดได้ทันที

ข่าวนี้เตือนว่า...ภัยคุกคามใน open source ไม่ได้มาแบบ “ยิงตรง” แต่แฝงผ่าน supply chain ซ่อนอยู่ใน workflow ที่ดูปกติ!

✅ พบช่องโหว่การตั้งค่า GitHub Actions (pull_request_target) ในหลายโปรเจกต์ดัง  
• MITRE, Splunk, Spotipy ถูกใช้เป็นตัวอย่างการโจมตี  
• แฮกเกอร์สามารถรันโค้ดใน context ของ branch หลัก (main) ได้จาก PR

✅ ฟีเจอร์ pull_request_target ทำให้โค้ดจาก fork มีสิทธิ์เข้าถึง token หรือ secrets ได้  
• เพราะ workflow จะรันด้วย GITHUB_TOKEN และ access ของ repo ต้นทาง

✅ โค้ดโจมตีอาจมาแบบไร้พิษภัย เช่น setup.py หรือ dependency ปลอม  
• Spotipy ใช้ setup.py ฝังคำสั่ง  • MITRE แก้ dependency ให้รันโค้ดฝังใน workflow

✅ Sysdig แนะนำแนวทางป้องกันเบื้องต้น:  
• แยก workflow เป็น 2 ส่วน: ส่วนตรวจสอบ PR แบบ read-only และส่วน sensitive สำหรับ merged เท่านั้น  
• ไม่ให้ PR จาก fork เข้าถึง token  
• ใช้ Falco Actions หรือระบบ real-time detection ช่วยตรวจ

‼️ การตั้งค่า GitHub Actions ผิดพลาดเพียงบรรทัดเดียว อาจเปิดทางให้แฮกเกอร์เข้ายึด repo ได้  
• โดยเฉพาะหากใช้ pull_request_target โดยไม่มี guard

‼️ แฮกเกอร์สามารถขโมย secrets หรือครองสิทธิ์ repo ผ่านการ merge PR อันตรายได้ทันที  
• หากไม่มีการแยกสิทธิ์หรือใช้ token แบบจำกัดขอบเขต

‼️ แม้โค้ดจะผ่าน PR review ได้ดี แต่ workflows จะรัน “ก่อน” ที่ reviewer ได้ดูไฟล์  
• เปิดโอกาสให้โค้ดฝัง payload มาได้ก่อน merge

‼️ โปรเจกต์โอเพ่นซอร์สที่เปิดรับ Pull Request ต้องเพิ่มมาตรการตรวจสอบ workflow  
• ไม่ควรใช้ค่า default โดยไม่เข้าใจ scope และสิทธิของ GitHub Actions

https://www.techradar.com/computing/artificial-intelligence/jaw-dropping-flaws-found-in-open-source-projects-could-allow-hackers-to-take-away-entire-projects-heres-what-devs-need-to-know
เครื่องมือ GitHub Actions คือพระเอกของ DevOps ยุคใหม่ เพราะช่วยให้เรารัน CI/CD pipeline ได้อัตโนมัติ เช่น build, test, deploy โดยไม่ต้องเซ็ตเซิร์ฟเวอร์เอง แต่...ความสะดวกนี้ก็แอบซ่อน "กับดักความปลอดภัย" ไว้เช่นกัน ทีมวิจัยจาก Sysdig พบว่าฟีเจอร์ pull_request_target ของ GitHub Actions ถูกใช้แบบผิดพลาดในหลายโปรเจกต์ดัง เช่น MITRE, Splunk และ Spotipy — ทำให้แฮกเกอร์สามารถส่ง Pull Request จาก fork แล้วสั่งให้รันโค้ดอันตรายได้ภายใต้สิทธิ์ของ repo หลัก 😨 เพราะ pull_request_target จะรัน workflow ใน context ของ branch หลัก เช่น main — ซึ่งแปลว่าแฮกเกอร์สามารถเข้าถึง token หรือ secrets ได้เลย หากไม่มีการป้องกันเพิ่มเติม ในกรณี MITRE แฮกเกอร์สามารถรันโค้ดอันตรายผ่านการปรับ dependency ได้ ขณะที่ Splunk เผย secrets เช่น APPINSPECTUSERNAME/PASSWORD ออกไปผ่าน workflow ที่ไม่ปลอดภัย และใน Spotipy ก็ใช้ setup.py ที่แอบรันโค้ดได้ทันที ข่าวนี้เตือนว่า...ภัยคุกคามใน open source ไม่ได้มาแบบ “ยิงตรง” แต่แฝงผ่าน supply chain ซ่อนอยู่ใน workflow ที่ดูปกติ! ✅ พบช่องโหว่การตั้งค่า GitHub Actions (pull_request_target) ในหลายโปรเจกต์ดัง   • MITRE, Splunk, Spotipy ถูกใช้เป็นตัวอย่างการโจมตี   • แฮกเกอร์สามารถรันโค้ดใน context ของ branch หลัก (main) ได้จาก PR ✅ ฟีเจอร์ pull_request_target ทำให้โค้ดจาก fork มีสิทธิ์เข้าถึง token หรือ secrets ได้   • เพราะ workflow จะรันด้วย GITHUB_TOKEN และ access ของ repo ต้นทาง ✅ โค้ดโจมตีอาจมาแบบไร้พิษภัย เช่น setup.py หรือ dependency ปลอม   • Spotipy ใช้ setup.py ฝังคำสั่ง  • MITRE แก้ dependency ให้รันโค้ดฝังใน workflow ✅ Sysdig แนะนำแนวทางป้องกันเบื้องต้น:   • แยก workflow เป็น 2 ส่วน: ส่วนตรวจสอบ PR แบบ read-only และส่วน sensitive สำหรับ merged เท่านั้น   • ไม่ให้ PR จาก fork เข้าถึง token   • ใช้ Falco Actions หรือระบบ real-time detection ช่วยตรวจ ‼️ การตั้งค่า GitHub Actions ผิดพลาดเพียงบรรทัดเดียว อาจเปิดทางให้แฮกเกอร์เข้ายึด repo ได้   • โดยเฉพาะหากใช้ pull_request_target โดยไม่มี guard ‼️ แฮกเกอร์สามารถขโมย secrets หรือครองสิทธิ์ repo ผ่านการ merge PR อันตรายได้ทันที   • หากไม่มีการแยกสิทธิ์หรือใช้ token แบบจำกัดขอบเขต ‼️ แม้โค้ดจะผ่าน PR review ได้ดี แต่ workflows จะรัน “ก่อน” ที่ reviewer ได้ดูไฟล์   • เปิดโอกาสให้โค้ดฝัง payload มาได้ก่อน merge ‼️ โปรเจกต์โอเพ่นซอร์สที่เปิดรับ Pull Request ต้องเพิ่มมาตรการตรวจสอบ workflow   • ไม่ควรใช้ค่า default โดยไม่เข้าใจ scope และสิทธิของ GitHub Actions https://www.techradar.com/computing/artificial-intelligence/jaw-dropping-flaws-found-in-open-source-projects-could-allow-hackers-to-take-away-entire-projects-heres-what-devs-need-to-know
0 ความคิดเห็น 0 การแบ่งปัน 18 มุมมอง 0 รีวิว