GitHub ใช้ AI ปกป้องความลับในโค้ด ป้องกันข้อมูลรั่วไหลใน 2 มิลลิวินาที

ปัจจุบัน หนึ่งในสามของ pull request บน GitHub เกี่ยวข้องกับตัวแทน AI (AI agent) ซึ่งเพิ่มขึ้นอย่างก้าวกระโดดจากปีที่แล้วที่มีสัดส่วนไม่ถึง 1 ใน 10 หากแนวโน้มนี้ยังดำเนินต่อไป โค้ดส่วนใหญ่บน GitHub ในอีกสองปีข้างหน้าอาจถูกเขียนโดย AI ซึ่งมนุษย์อาจไม่สามารถตรวจสอบได้อย่างทั่วถึงอีกต่อไป
เมื่อนักพัฒนาและ AI ทำงานได้เร็วขึ้น เราจึงจำเป็นต้องมีระบบป้องกันที่ก้าวทันความเร็วนี้ นั่นหมายถึงการป้องกันข้อมูลรั่วไหลก่อนที่จะเกิดขึ้น และลดภาระของมนุษย์ในการตอบสนองต่อเหตุการณ์ความมั่นคงปลอดภัยลง
นี่คือจุดเปลี่ยนสำคัญของปัญหาความลับรั่วไหล (leaked secrets) นักพัฒนาไม่ได้ระมัดระวังน้อยลง แต่พวกเขากำลังถูกตามไม่ทันด้วยปริมาณงานที่มหาศาล เครื่องมือที่ช่วยให้นักพัฒนาสร้างซอฟต์แวร์ได้มากขึ้น จึงควรทำหน้าที่ปกป้องซอฟต์แวร์นั้นให้มากขึ้นตามไปด้วย
ในบทความนี้ ผมจะเผยข้อมูลย้อนหลัง 9 ไตรมาสที่สนับสนุนแนวคิดดังกล่าว พร้อมแนะนำตัวจำแนกประเภท (classifier) ที่ได้รับการปรับแต่งพิเศษ (fine-tuned) ร่วมกับ Microsoft Applied Sciences เพื่อขยายการป้องกัน (push protection) ไปยังความลับที่ไม่มีโครงสร้าง (unstructured secrets) โดยโมเดลนี้สามารถประเมินความเสี่ยงได้ในเวลาน้อยกว่า 2 มิลลิวินาที และช่วยเพิ่มประสิทธิภาพการป้องกันได้มากกว่าสองเท่า
ถูกตามไม่ทัน ไม่ใช่ไม่ระมัดระวัง
สถิติระบุว่าพบความลับใหม่ในโค้ดสาธารณะทุกๆ 2 วินาที ซึ่งเพิ่มขึ้นเท่าตัวทุกปีในช่วง 3 ปีที่ผ่านมา แม้หลายคนจะมองว่า AI ทำให้นักพัฒนาประมาทขึ้น แต่ตัวเลขจริงกลับชี้ไปในทางตรงกันข้าม
ระหว่างไตรมาสที่ 2 ปี 2024 ถึง 2026 การตรวจสอบการ push (screened pushes) เพิ่มขึ้น 2.84 เท่า ขณะที่การตรวจพบข้อมูลระบุตัวตน (credentials) เพิ่มขึ้น 2.59 เท่า นอกจากนี้ นักพัฒนายังมีความเข้าใจความเสี่ยงดีขึ้น โดยพบว่าอัตราการ override หรือฝ่าฝืนคำเตือนเพื่อ push โค้ดลดลงจาก 6.63% เหลือ 3.93% ซึ่งพิสูจน์ได้ว่าตัวแทน AI ไม่ได้ทำให้นักพัฒนาละเลยความปลอดภัย
More pushes, no clear rise in push prevalence
Public pushes
Push prevalence
202M
574M · 2.8×
0300M600M
0%0.5%1.0%
Q2Q3Q4Q1Q2Q3Q4Q1Q2202420252026
2026 Q2 · 574M pushes · 0.47% with secrets
Public pushes, Q2 2024 - Q2 2026. Push prevalence is the share with a detected secret. Covers supported provider patterns, including GitHub’s own tokens.
อย่างไรก็ตาม ปัญหาคือภาระงานที่เพิ่มขึ้นตามปริมาณการพัฒนา เนื่องจากเวลาเฉลี่ยในการยกเลิก (revoke) ความลับด้วยมือสูงถึง 40 วัน และบางส่วนอาจใช้เวลานานกว่า 90 วัน เมื่อข้อมูลที่หลุดออกไปใช้งานได้นานเป็นสัปดาห์หรือเป็นเดือน แต่ความสามารถในการแก้ไขของมนุษย์ไม่สามารถขยายตัว (scale) ได้ทัน เราจึงต้องการระบบป้องกันอัตโนมัติที่ยั่งยืนกว่าเดิม
การป้องกันขยายตัวตามพลังประมวลผล
GitHub ได้เชื่อมโยงระบบตรวจจับเข้ากับระบบที่ทำงานได้จริงผ่าน โครงการพันธมิตรการสแกนความลับ (secret scanning partnership program) ซึ่งครอบคลุมพันธมิตรกว่า 150 ราย เพื่อให้ผู้ออกโทเค็น (เช่น OpenAI, Google Cloud, Slack) สามารถเพิกถอนข้อมูลที่หลุดได้ทันทีโดยไม่ต้องรอนักพัฒนา
ระบบ Push protection ได้เข้ามาสกัดกั้นข้อมูลระบุตัวตนก่อนที่จะถูกบันทึกเข้าประวัติของ repository ช่วยให้ทั้งมนุษย์และ AI มีโอกาสแก้ไขก่อนเกิดความเสียหายจริง ปัจจุบันเราสามารถบล็อกความลับได้มากกว่า 1 ครั้งต่อวินาที และในกลุ่มข้อมูลที่ผูกกับผู้ออก (issuer-bound credentials) GitHub สามารถบล็อกได้มากกว่าที่หลุดรอดไปเสียอีก
การแก้ไขขยายตัวตามจำนวนคน
แม้ระบบจะบล็อกความลับได้ราว 30% ก่อนเข้าสู่ประวัติของ repository แต่ส่วนที่เหลืออีก 70% ยังต้องพึ่งพามนุษย์ในการแก้ไข ซึ่งใช้ทั้งเวลาและความสนใจของนักพัฒนาอย่างมาก
เมื่อปริมาณโค้ดเพิ่มขึ้น ภาระในการจัดการช่องโหว่ที่หลุดรอดไปจะกลายเป็นเรื่องที่รับมือได้ยาก ดังนั้นการย้ายภาระในการตรวจจับมาไว้ที่ฝั่งแพลตฟอร์มในช่วงต้นของกระบวนการพัฒนาจึงเป็นทางออกที่สำคัญที่สุด
การแก้ปัญหา Four-body problem
การหยุดยั้งความลับก่อนถูก push มีต้นทุนต่ำมาก แต่หากหลุดรอดไปได้ ต้นทุนในการแก้ไขจะสูงขึ้นอย่างมหาศาล ความท้าทายหลักคือการสร้างสมดุล 4 ด้าน ได้แก่ ความแม่นยำ (precision), ความหน่วง (latency), ปริมาณงาน (throughput) และต้นทุน (cost)
การตรวจสอบที่ช้าหรือผิดพลาดบ่อย (false positive) จะรบกวนนักพัฒนาและทำให้ระบบขาดความน่าเชื่อถือ GitHub จึงต้องพัฒนาระบบที่แม่นยำและรวดเร็วพอที่จะทำงานในสเกลใหญ่ได้โดยไม่กระทบต่อ workflow
การปกป้องในการ push ในเวลาต่ำกว่า 2 มิลลิวินาที
GitHub ใช้โมเดล ModernBERT ใหม่เพื่อวิเคราะห์บริบทของโค้ดรอบๆ ความลับที่น่าสงสัย เช่น รหัสผ่านใน URL ฐานข้อมูล หรือ Kubernetes Secret โดยไม่ต้องสร้างข้อความใหม่ ซึ่งให้ผลลัพธ์ที่แม่นยำกว่า LLM แบบเดิม และทำงานเร็วมากในเวลาไม่ถึง 2 มิลลิวินาที
การผสานโมเดลนี้เข้ากับ push protection ช่วยเพิ่มขีดความสามารถในการป้องกันได้ถึงสองเท่า โดยมีแผนการให้บริการดังนี้:
- องค์กรที่มี AI secret detection จะได้รับการอัปเดตโมเดลใหม่โดยอัตโนมัติตั้งแต่วันนี้
- GitHub Enterprise Server 3.23 จะเปิดใช้งานฟีเจอร์นี้ในรูปแบบ public preview สำหรับสภาพแวดล้อมแบบ air-gapped
- Copilot CLI และ Copilot App จะเพิ่มตัวจำแนกประเภทนี้ในคำสั่ง
/security-reviewเพื่อช่วยผู้ใช้จัดการความลับก่อน push
มองไปข้างหน้า
เรามุ่งหวังถึงอนาคตที่นักพัฒนาสามารถใช้งาน AI ได้เต็มที่โดยไม่ต้องกังวลเรื่องความปลอดภัยที่ต้องคอยควบคุมทุกขั้นตอน และเป็นอนาคตที่การรักษาความมั่นคงปลอดภัยไม่ต้องขยายตัวตามจำนวนบุคลากร แต่เติบโตไปพร้อมกับความสามารถในการสร้างสรรค์ซอฟต์แวร์ของเรา
ความคิดเห็น (0)
เข้าสู่ระบบเพื่อร่วมแสดงความเห็น
สมัครสมาชิกมาเป็นคนแรกที่แสดงความเห็นกันเลยโบร
