เครื่องมือ 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
ทีมวิจัยจาก 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 รีวิว