
ที่มาภาพ: Unknown Source
วิธีเปิดใช้งาน GitHub Advanced Security เพื่อสแกนหาช่องโหว่ในโค้ดอัตโนมัติบนรีโพซิทอรีอย่างปลอดภัย
⚡ สรุป 30 วิ
GitHub Advanced Security (GHAS) ให้คุณสแกนหาช่องโหว่ในโค้ดแบบอัตโนมัติโดยไม่ต้องออกจากแพลตฟอร์มเดิม การเปิดใช้งานที่ถูกต้องจะช่วยให้ทีมพัฒนาตรวจจับปัญหาได้เร็วและลดความเสี่ยงต่อการรั่วไหลของข้อมูล
บทนำ
GitHub Advanced Security (GHAS) ให้คุณสแกนหาช่องโหว่ในโค้ดแบบอัตโนมัติโดยไม่ต้องออกจากแพลตฟอร์มเดิม การเปิดใช้งานที่ถูกต้องจะช่วยให้ทีมพัฒนาตรวจจับปัญหาได้เร็วและลดความเสี่ยงต่อการรั่วไหลของข้อมูล
ต่อไปนี้เป็นขั้นตอนพร้อมคำแนะนำสั้น ๆ เพื่อให้คุณสามารถเปิด GHAS บนรีโปซิทอรีขององค์กรได้อย่างปลอดภัย
ภาพรวมของ GitHub Advanced Security — Overview
GHAS ประกอบด้วยฟีเจอร์หลักสามส่วนคือ Code Scanning, Secret Scanning และ Dependabot alerts ฟีเจอร์เหล่านี้ทำงานร่วมกันเพื่อค้นหาความผิดพลาดในโค้ด การใช้คีย์ลับโดยไม่ตั้งใจ หรือไลบรารีที่มีช่องโหว่
- Code Scanning ใช้ CodeQL เพื่อวิเคราะห์สถาปัตยกรรมของโค้ด
- Secret Scanning ตรวจจับข้อมูลลับที่อาจถูกเช็คอินเข้ามาโดยไม่ได้ตั้งใจ
- Dependabot alerts แจ้งเตือนเมื่อไลบรารีที่ใช้มีช่องโหว่ที่รู้จัก
การเตรียมรีโปให้พร้อม — Prerequisites
ก่อนเปิดใช้งาน GHAS ควรตรวจสอบว่าผู้ใช้และองค์กรของคุณตรงตามเงื่อนไขขั้นต่ำ
- มีแผน GitHub Enterprise Cloud หรือ GitHub Team +/ Enterprise Server ที่รองรับฟีเจอร์นี้
- ผู้ดูแลระบบต้องมีสิทธิ admin บนรีโปหรือระดับองค์กร
- ตรวจสอบว่าไฟล์ `.github/workflows` สามารถสร้าง workflow ใหม่ได้
**Tip: หากคุณยังไม่มีแผนที่รองรับ GHAS ให้ติดต่อผู้จัดการบัญชี GitHub เพื่ออัปเกรดก่อนดำเนินการต่อ
วิธีเปิดใช้งานระดับองค์กร — Organization‑level Enablement
การเปิด GHAS ที่ระดับองค์กรทำให้ฟีเจอร์ทั้งหมดถูกเปิดใช้โดยค่าเริ่มต้นบนทุกรีโปที่อยู่ภายใต้โดเมนเดียวกัน
- ขั้นตอนที่ 1: เข้าสู่หน้า Organization Settings เลือก Security & analysis**
- ขั้นตอนที่ 2: เปิดสวิตช์ GitHub Advanced Security** สำหรับ “All repositories” หรือเลือก “Selected repositories” ตามต้องการ
- ขั้นตอนที่ 3: ยืนยันการเปิดใช้งานโดยคลิก Save changes**
**Tip: หากองค์กรมีรีโปหลายพัน ให้ใช้ “Selected repositories” พร้อมสคริปต์ API เพื่อเพิ่มรายการอัตโนมัติ
วิธีเปิดใช้งานระดับรีโป — Repository‑level Enablement
บางกรณีต้องการควบคุมฟีเจอร์เฉพาะรีโปเท่านั้น เช่น โครงการทดลองหรือโค้ดที่ยังอยู่ในขั้นตอนต้น
- ขั้นตอนที่ 1: ไปที่หน้ารีโป คลิก Settings Security & analysis**
- ขั้นตอนที่ 2: เปิดสวิตช์ GitHub Advanced Security** หรือเลือกฟีเจอร์ย่อย (Code Scanning, Secret Scanning) ตามต้องการ
- **ขั้นตอนที่ 3: บันทึกการตั้งค่า
การตั้งค่า Code Scanning Workflow — Code Scanning Setup
เมื่อเปิด GHAS แล้วต้องเพิ่ม workflow เพื่อให้ GitHub ทำการสแกนโค้ดทุกครั้งที่มีการ push หรือ pull request
- สร้างไฟล์ `codeql-analysis.yml` ภายใน `.github/workflows/`
```yaml name: CodeQL Analysis on: push: branches: [ main ] pull_request: branches: [ main ] jobs: analyze: name: Analyze runs-on: ubuntu-latest steps:
- uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@v2 with: languages: javascript,python # ปรับตามภาษาโปรเจค
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2 ```
- คอมมิตไฟล์แล้วเปิด Pull Request GHAS จะเริ่มสแกนโดยอัตโนมัติ
- ตรวจสอบผลในแท็บ Security Code scanning alerts
เครื่องมือสแกนเปรียบเทียบ — Tools Comparison
| ฟีเจอร์ | CodeQL | Dependabot |
|---|---|---|
| จุดประสงค์ | วิเคราะห์โค้ดระดับต้นแบบเพื่อหาข้อบกพร่องของตรรกะ | ตรวจจับไลบรารีที่มีช่องโหว่ในไฟล์ lock/manifest |
| รองรับภาษา | Java, C/C++, C#, Go, JavaScript, Python ฯลฯ (หลายสิบภาษา) | ทุกภาษาที่ใช้แพคเกจเมเนเจอร์ที่สนับสนุน (npm, Maven, pip…) |
| ความละเอียด | ระดับบล็อก/ฟังก์ชัน สามารถกำหนด query เองได้ | ระดับแพ็กเกจ ไม่สามารถปรับแต่ง query |
| เวลาในการสแกน | ปานกลาง‑ยาว ขึ้นกับขนาดโค้ด | รวดเร็ว เนื่องจากตรวจสอบเพียงเมตาดาต้า |
โดยทั่วไป CodeQL เหมาะสำหรับการค้นหาข้อบกพร่องของตรรกะ ส่วน Dependabot เป็นเครื่องมือเสริมที่ควรเปิดใช้พร้อมกันเพื่อป้องกันไลบรารีไม่ปลอดภัย
เคล็ดลับการใช้งานอย่างปลอดภัย — Tips
- ตั้งค่า branch protection rules ให้บังคับให้ผ่านการสแกนก่อน merge
- ใช้ secret scanning alerts ร่วมกับ GitHub Secret Scanning เพื่อบล็อกคีย์ที่อาจรั่วไหล
- ปรับระดับความรุนแรงของ alert ที่จะแสดงใน UI ผ่าน security policies (ไฟล์ `SECURITY.md`)
Tip: สร้าง issue template** สำหรับแจ้งเตือนช่องโหว่ เพื่อให้ทีมทำการแก้ไขอย่างเป็นระบบ
สรุป — Summary
GitHub Advanced Security เป็นชุดเครื่องมือที่ช่วยให้คุณสแกนหาช่องโหว่ในโค้ดได้อัตโนมัติและปลอดภัย การเปิดใช้งานทั้งระดับองค์กรและรีโปควรทำตามขั้นตอนที่กำหนด พร้อมตั้งค่า workflow สำหรับ Code Scanning และเปิดใช้ Secret Scanning/Dependabot เพื่อครอบคลุมทุกมิติของความเสี่ยง
- ตรวจสอบแผนและสิทธิ์ ก่อนเริ่มใช้งาน
- เปิด GHAS ที่ระดับองค์กรเพื่อคุมการทำงานแบบรวมศูนย์ หรือที่ระดับรีโปตามกรณีใช้จริง
- สร้าง workflow CodeQL เพื่อสแกนอัตโนมัติบนทุก Pull Request
- ใช้ Dependabot ร่วมกันเพื่อป้องกันไลบรารีที่มีช่องโหว่
ด้วยการตั้งค่าและแนวทางเหล่านี้ ทีมพัฒนาจะสามารถตรวจจับและจัดการกับจุดอ่อนของซอฟต์แวร์ได้เร็วขึ้น ลดความเสี่ยงต่อการโจมตีและรักษาความปลอดภัยของข้อมูลอย่างเป็นระบบ.
แชร์บทความนี้:
ชอบบทความแบบนี้?
สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม
แหล่งข่าวต้นฉบับ
- ชื่อต้นฉบับ
- วิธีเปิดใช้งาน GitHub Advanced Security เพื่อสแกนหาช่องโหว่ในโค้ดอัตโนมัติบนรีโพซิทอรีอย่างปลอดภัย
- ผู้เขียน
- กองบรรณาธิการ Thai Tech News
- แหล่ง
- บทความต้นฉบับ Thai Tech News · ช่วยร่างด้วย AI, เรียบเรียง/ตรวจสอบโดยกองบรรณาธิการ
- วันที่เผยแพร่
- 1 สิงหาคม 2569 เวลา 19:50



