วิธีตั้งค่า Snyk เพื่อตรวจสอบช่องโหว่ของ Dependencies อัตโนมัติใน GitHub Actions อย่างปลอดภัย

ที่มาภาพ: Unknown Source

วิธีตั้งค่า Snyk เพื่อตรวจสอบช่องโหว่ของ Dependencies อัตโนมัติใน GitHub Actions อย่างปลอดภัย

⚡ สรุป 30 วิ

Snyk เป็นเครื่องมือสแกนช่องโหว่ของ dependencies ที่ทำงานอัตโนมัติบน GitHub Actions ช่วยให้ทีมพัฒนาเห็นและจัดการความเสี่ยงได้ทันที บทความนี้จะอธิบายขั้นตอนตั้งค่า Snyก เพื่อสแกนอัตโนมัติในทุก push หรือ…

ภาพรวม — Overview

Snyk เป็นเครื่องมือสแกนช่องโหว่ของ dependencies ที่ทำงานอัตโนมัติบน GitHub Actions ช่วยให้ทีมพัฒนาเห็นและจัดการความเสี่ยงได้ทันที บทความนี้จะอธิบายขั้นตอนตั้งค่า Snyก เพื่อสแกนอัตโนมัติในทุก push หรือ pull request โดยปลอดภัย

  • ทำไมต้องใช้ Snyk: ตรวจจับช่องโหว่รุ่นล่าสุด, มีฐานข้อมูลที่อัปเดตบ่อย, ผสานกับ GitHub อย่างราบรื่น
  • ผลลัพธ์ที่คาดหวัง: รายงานความเสี่ยงใน PR, ปิดการทำงานของ workflow หากพบระดับความเสี่ยงสูง

ความต้องการเบื้องต้น — Prerequisites

ก่อนเริ่มเราต้องเตรียมสิ่งต่อไปนี้เพื่อให้ขั้นตอนดำเนินได้โดยไม่มีอุปสรรค

  • บัญชี GitHub พร้อม repository ที่ใช้ GitHub Actions
  • สิทธิ์ Admin บน repository เพื่อเพิ่ม secret และแก้ workflow file
  • สมัครบัญชี Snyk และสร้าง API token

สร้าง Snyk API Token — Generate Snyk Token

Token จะถูกเก็บเป็น secret ใน GitHub เพื่อให้ workflow สามารถเรียกใช้ Snyk ได้อย่างปลอดภัย

  • ไปที่หน้า https://app.snyk.io/account/api
  • คลิก Create token, ตั้งชื่อเช่น `github-actions-token` แล้วคัดลอกค่าไว้
  • กลับไปที่ GitHub repository, เลือก Settings Secrets and variables Actions
  • สร้าง secret ใหม่ชื่อ `SNYK_TOKEN` และวางค่าที่คัดลอกมา
**Tip: อย่าแชร์ token นี้ในโค้ดหรือไฟล์ config ใด ๆ; ใช้ secret เท่านั้น

เพิ่ม Workflow ของ Snyk ลงใน GitHub Actions — Add Snyk Workflow

สร้างไฟล์ workflow ใหม่ที่สแกน dependencies ทุกครั้งที่มีการเปลี่ยนแปลง

  • สร้างไฟล์ `.github/workflows/snyk.yml` ใน repository
  • ใส่โค้ดต่อไปนี้ (ปรับ `node-version` หรือ language ที่ใช้)

```yaml name: Snyk Scan

on: push: branches: [ main ] pull_request: types: [ opened, synchronize ]

jobs: snyk: runs-on: ubuntu-latest steps:

  • name: Checkout code

uses: actions/checkout@v3

  • name: Set up Node.js

uses: actions/setup-node@v3 with: node-version: '18'

  • name: Install dependencies

run: npm ci

  • name: Run Snyk test

env: SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} run: | npm install -g snyk snyk auth $SNYK_TOKEN snyk test --severity-threshold=high ```

  • `--severity-threshold` กำหนดระดับความรุนแรงที่จะทำให้ workflow ล้มเหลว

ปรับการแจ้งเตือนและบล็อกโค้ดที่มีช่องโหว่ — Configure Alerts & Blocking

เพื่อให้ทีมพัฒนาไม่ละเลยผลลัพธ์ เราตั้งค่าให้ PR แสดงสัญลักษณ์สีแดงเมื่อพบความเสี่ยงระดับสูง

  • เพิ่มขั้นตอน `snyk monitor` เพื่ออัปโหลดข้อมูลไปยัง Snyk dashboard

```yaml

  • name: Monitor project in Snyk

env: SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} run: snyk monitor ```

  • เปิดใช้งาน Snyk Pull Request comments ในหน้า Settings Security & analysis ของ repository เพื่อให้ Snyk แสดงความคิดเห็นใน PR โดยอัตโนมัติ
**Tip: หากต้องการบล็อก merge อย่างจริงจัง ให้เปิด “Require status checks to pass before merging” และเลือก `Snyk Scan` เป็นหนึ่งในเช็คที่จำเป็น

ตรวจสอบผลลัพธ์และแก้ไขช่องโหว่ — Review Results & Fix

หลัง workflow รันเสร็จ คุณจะเห็นสองส่วนสำคัญ

  • Actions tab: แสดงสถานะ Success/Failure ของการสแกน พร้อม log รายละเอียด
  • Snyk dashboard: สรุปรายการ vulnerabilities, ให้คำแนะนำวิธีอัปเดตหรือแพทช์

ขั้นตอนต่อไปคือ

  • อัปเดต package ที่มีช่องโหว่โดยใช้ `npm update` หรือระบุเวอร์ชันใหม่ใน `package.json`
  • รัน workflow อีกครั้งเพื่อยืนยันว่าปัญหาได้ถูกแก้ไข

เคล็ดลับเพิ่มความปลอดภัย — Security Tips

**Tip: ใช้ Snyk Enterprise หากต้องการฟีเจอร์เช่น custom policies, branch‑level scanning และ integration กับ Jira
  • เก็บ token ไว้ใน secret เท่านั้น; อย่าใส่ค่าโดยตรงใน workflow file
  • จำกัดสิทธิ์ของ GitHub Actions runner ให้ทำงานเฉพาะที่จำเป็น (เช่น ไม่ต้องใช้ `sudo`)
  • เปิดใช้งาน Dependabot ร่วมกับ Snyk เพื่อรับการอัปเดตอัตโนมัติของ dependencies ที่ปลอดภัย

สรุป — Summary

ตั้งค่า Snyk บน GitHub Actions ทำให้กระบวนการตรวจสอบช่องโหว่ของ dependencies เป็นอัตโนมัติและปลอดภัย ช่วยลดความเสี่ยงจากซอฟต์แวร์ที่ล้าสมัย

  • สร้าง SNYK_TOKEN เก็บเป็น secret
  • เพิ่ม workflow `snyk.yml` ที่ทำการสแกนทุก push / PR
  • กำหนด severity threshold เพื่อบล็อกโค้ดไม่ปลอดภัย
  • ตรวจสอบผลใน Actions และ Snyk dashboard, แล้วอัปเดตแพ็กเกจตามคำแนะนำ

ด้วยขั้นตอนเหล่านี้ ทีมของคุณจะมีพื้นฐานความปลอดภัยที่แข็งแรงต่อการพัฒนาแบบ CI/CD บน GitHub.

แชร์บทความนี้:

ชอบบทความแบบนี้?

สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม

แหล่งข่าวต้นฉบับ

ชื่อต้นฉบับ
วิธีตั้งค่า Snyk เพื่อตรวจสอบช่องโหว่ของ Dependencies อัตโนมัติใน GitHub Actions อย่างปลอดภัย
ผู้เขียน
กองบรรณาธิการ Thai Tech News
แหล่ง
บทความต้นฉบับ Thai Tech News · ช่วยร่างด้วย AI, เรียบเรียง/ตรวจสอบโดยกองบรรณาธิการ
วันที่เผยแพร่
2 สิงหาคม 2569 เวลา 17:50

Related

บทความที่เกี่ยวข้อง

วิธีตั้งค่าและใช้ Terraform บน macOS เพื่อบริหารโครงสร้างพื้นฐาน Multi‑Cloud อย่างปลอดภัยGrowth
2 สิงหาคม 2569 เวลา 11:30

วิธีตั้งค่าและใช้ Terraform บน macOS เพื่อบริหารโครงสร้างพื้นฐาน Multi‑Cloud อย่างปลอดภัย

Terraform เป็นเครื่องมือ Infrastructure‑as‑Code ที่ช่วยให้คุณสร้างและจัดการโครงสร้างพื้นฐานบนหลายคลาวด์ได้ด้วยไฟล์เดียว การใช้ Terraform บน macOS ทำให้ขั้นตอนตั้งค่าเร็วขึ้นและปลอดภัยกว่าเดิม

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ7 นาที
วิธียกเครื่อง Kubernetes บน Azure Arc เพื่อบริหารแบบไฮบริดและรักษาความปลอดภัยอย่างต่อเนื่องGrowth
1 สิงหาคม 2569 เวลา 20:30

วิธียกเครื่อง Kubernetes บน Azure Arc เพื่อบริหารแบบไฮบริดและรักษาความปลอดภัยอย่างต่อเนื่อง

การใช้ Kubernetes บน Azure Arc ช่วยให้คุณขยายคลัสเตอร์จากศูนย์ข้อมูลหรือ edge ไปยังคลาวด์ได้แบบไฮบริด โดยไม่ต้องเปลี่ยนแปลงโครงสร้างเดิม อีกทั้ง Azure Arc ยังผสานเครื่องมือด้านความปลอดภัยและการจัดการอ…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ9 นาที
วิธีตั้งค่า OpenVPN Access Server บน Ubuntu เพื่อสร้างเครือข่ายส่วนบุคคลแบบปลอดภัยGrowth
1 สิงหาคม 2569 เวลา 19:00

วิธีตั้งค่า OpenVPN Access Server บน Ubuntu เพื่อสร้างเครือข่ายส่วนบุคคลแบบปลอดภัย

OpenVPN Access Server (AS) เป็นโซลูชัน VPN ที่ติดตั้งง่ายและให้ UI สำหรับจัดการผู้ใช้ และ เครือข่ายได้อย่างเต็มรูปแบบ การตั้งค่าบน Ubuntu ทำให้คุณสามารถสร้างเครือข่ายส่วนบุคคล (Private Network) ปลอดภั…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ9 นาที
วิธีตั้งค่าและใช้งาน GitHub Copilot Labs เพื่อสร้างโค้ดด้วย AI อย่างปลอดภัยใน VS CodeGrowth
1 สิงหาคม 2569 เวลา 11:30

วิธีตั้งค่าและใช้งาน GitHub Copilot Labs เพื่อสร้างโค้ดด้วย AI อย่างปลอดภัยใน VS Code

GitHub Copilot Labs เป็นส่วนขยายที่เพิ่มฟีเจอร์ AI ขั้นสูงให้กับ VS Code ทำให้การเขียนโค้ดเร็วขึ้นและปลอดภัยมากยิ่งขึ้น บทความนี้จะแนะนำวิธีตั้งค่าและใช้งาน Copilot Labs อย่างเป็นระบบ พร้อมเคล็ดลับเพื…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ6 นาที
คัดลอกลิงก์แล้ว!