Apple พลาดครั้งใหญ่! เผลอปล่อยซอร์สโค้ด App Store โฉมใหม่สู่สาธารณะ
Apple บริษัทเทคโนโลยียักษ์ใหญ่ที่ขึ้นชื่อเรื่องการรักษาความลับของผลิตภัณฑ์ ได้ประสบกับเหตุการณ์น่าอับอาย หลังจากเผลอปล่อยซอร์สโค้ด Front-end ทั้งหมดของเว็บไซต์ App Store เวอร์ชันใหม่ที่เพิ่งเปิดตัว สู่สายตาสาธารณชน เหตุการณ์นี้ไม่ได้เกิดจากการถูกแฮก แต่เป็นความผิดพลาดด้านการตั้งค่าที่เรียบง่ายอย่างไม่น่าเชื่อ
ความผิดพลาดดังกล่าวเกิดขึ้นเมื่อทีมวิศวกรของ Apple ลืมปิดการใช้งาน “Sourcemaps” ในสภาพแวดล้อมจริง (Production Environment) ของเว็บไซต์ App Store ที่ปรับปรุงใหม่ ซึ่งเขียนขึ้นด้วยเฟรมเวิร์กสมัยใหม่อย่าง Svelte และภาษา TypeScript
Sourcemaps คืออะไร และทำไมถึงเป็นเรื่องใหญ่?
โดยปกติแล้ว ในกระบวนการพัฒนาเว็บไซต์สมัยใหม่ โค้ดที่นักพัฒนาเขียน (Source Code) จะถูกแปลง, ย่อขนาด และรวมเข้าด้วยกันเพื่อให้ทำงานบนเบราว์เซอร์ได้อย่างรวดเร็ว ซึ่งทำให้โค้ดที่ใช้งานจริงนั้นแทบจะอ่านไม่รู้เรื่อง Sourcemaps คือไฟล์ที่ทำหน้าที่เหมือน “แผนที่” ที่เชื่อมโยงโค้ดที่อ่านยากเหล่านี้กลับไปยังโค้ดต้นฉบับที่มนุษย์เขียน เพื่อช่วยให้นักพัฒนาสามารถแก้ไขจุดบกพร่อง (Debug) ได้ง่ายขึ้น
ตามหลักปฏิบัติที่เป็นมาตรฐานสากล Sourcemaps จะถูกใช้ในขั้นตอนการพัฒนาและทดสอบเท่านั้น และจะต้องถูกปิดการใช้งานทุกครั้งก่อนที่จะนำเว็บไซต์ขึ้นสู่ระบบจริง เพื่อป้องกันไม่ให้บุคคลภายนอกเข้าถึงโค้ดต้นฉบับซึ่งอาจเป็นความลับทางการค้าได้ แต่ในกรณีนี้ Apple ได้มองข้ามขั้นตอนพื้นฐานดังกล่าวไป
มีอะไรหลุดออกมาบ้าง?
หลังจากมีการค้นพบความผิดพลาด นักพัฒนาชื่อ “rxliuli” ได้ใช้เครื่องมือในเบราว์เซอร์เพื่อดึงซอร์สโค้ดทั้งหมดออกมาและอัปโหลดขึ้นไปยัง GitHub เพื่อเป็นกรณีศึกษา ข้อมูลที่หลุดออกมาประกอบด้วย:
- ซอร์สโค้ดทั้งหมดที่เขียนด้วย Svelte และ TypeScript
- ตรรกะในการจัดการสถานะ (State management) ของเว็บไซต์
- โค้ด UI components ทั้งหมด
- โค้ดส่วนที่เชื่อมต่อกับ API ภายในของ Apple
- โค้ดของไลบรารีส่วนตัวที่ Apple ใช้เป็นการภายในและไม่มีเผยแพร่ที่ไหน
ไม่ใช่การแฮกและไม่มีข้อมูลผู้ใช้รั่วไหล
สิ่งสำคัญที่ต้องเน้นย้ำคือ เหตุการณ์นี้ ไม่ใช่การถูกแฮก และ ไม่มีข้อมูลส่วนตัวของผู้ใช้, รหัสผ่าน หรือข้อมูลบัตรเครดิตใดๆ รั่วไหลออกมา โค้ดที่หลุดออกมาเป็นเพียงโค้ดส่วนหน้าเว็บที่ใช้ในการแสดงผลและติดต่อกับผู้ใช้เท่านั้น ไม่ใช่โค้ดฝั่งเซิร์ฟเวอร์ที่เก็บข้อมูลสำคัญ
อย่างไรก็ตาม แม้จะไม่สร้างความเสียหายโดยตรงต่อผู้ใช้งาน แต่ก็นับเป็นความผิดพลาดที่น่าอับอายอย่างยิ่งสำหรับบริษัทระดับโลกอย่าง Apple และเปิดโอกาสให้คู่แข่งหรือผู้ไม่หวังดีสามารถศึกษาโครงสร้าง, ตรรกะการทำงาน, หรือแม้กระทั่งหาช่องโหว่ที่อาจมีอยู่ในโค้ดเพื่อนำไปใช้โจมตีเว็บอื่น ๆ ของ Apple ในอนาคตได้
ล่าสุด Apple ได้ทำการแก้ไขข้อผิดพลาดโดยปิดการใช้งาน Sourcemaps บนเว็บไซต์ App Store เรียบร้อยแล้ว แต่ซอร์สโค้ดที่เคยหลุดออกไปก็ยังคงถูกเก็บไว้ในโลกอินเทอร์เน็ต กลายเป็นกรณีศึกษา “ความผิดพลาดของมือใหม่ (Rookie Mistake)” ที่แม้แต่บริษัทยักษ์ใหญ่ก็สามารถพลาดได้

