Trivy คือเครื่องมือ Open-source Security Scanner ที่ได้รับความนิยมสูงสุดตัวหนึ่งในสายงาน DevOps และ Cyber Security เนื่องจากความสามารถที่ครอบคลุม ใช้งานง่าย และทำงานได้อย่างรวดเร็ว
หน้าที่หลักของมันคือการ “สแกนหาช่องโหว่” ในทุกขั้นตอนของ Software Development Life Cycle
🔍 Trivy สามารถสแกนอะไรได้บ้าง ?
Trivy ไม่ได้สแกนแค่ Container Image แต่ครอบคลุมแทบทุกส่วนของ Infrastructure
- Container Images: ตรวจสอบ OS Packages และ Language-specific Packages
- Filesystem & Git Repositories: สแกนหาช่องโหว่ใน Source Code โดยตรง
- Infrastructure as Code : ตรวจสอบไฟล์ Configuration เช่น Terraform, Dockerfile, Kubernetes และ Helm Charts เพื่อหาการตั้งค่าที่ไม่ปลอดภัย
- Secrets: สแกนหาความลับที่หลุดรอดอยู่ในโค้ด เช่น API Keys, Tokens หรือ Passwords
- Software Bill of Materials : สามารถสร้างและตรวจสอบ SBOM เพื่อดูรายการ Software ทั้งหมดที่ถูกนำมาใช้งาน
🚀 จุดเด่นที่ทำให้ Trivy แตกต่าง
- Comprehensive: ครบจบในเครื่องเดียว ไม่ต้องลงเครื่องมือแยกกันสแกน Image, IaC หรือ Secret
- Fast & Stateless: สแกนเร็วมาก และไม่ต้องมีฐานข้อมูลแยกภายนอก เพราะมันจะดึง DB ช่องโหว่มาไว้ที่เครื่องชั่วคราว
- Easy Integration: รองรับ CI/CD แทบทุกค่าย
- DevOps Friendly: สนับสนุนการแสดงผลหลายรูปแบบทั้ง Table, JSON, SARIF เพื่อนำไปใช้งานต่อในระบบอื่น
💻 ตัวอย่างการใช้งานเบื้องต้น
การใช้งานผ่าน Command Line นั้นง่ายและตรงไปตรงมา
- สแกน Container Image
trivy image python:3.9-slim - สแกนโปรเจกต์ในโฟลเดอร์ปัจจุบัน
trivy fs . - สแกนหาความลับ (Secrets) ที่อาจหลุดในโค้ด
trivy fs --scanners secret .
🛠 การนำไปใช้ในระดับองค์กร
ส่วนใหญ่จะนิยมนำ Trivy ไปใส่ไว้ใน CI Pipeline เพื่อทำ “Security Gate”
- ถ้าตรวจพบช่องโหว่ระดับ Critical หรือ High ให้สั่ง Fail Build ทันที
- ช่วยให้นักพัฒนาแก้ไขช่องโหว่ได้ตั้งแต่ตอนเขียนโค้ด ก่อนที่จะ Deploy ขึ้น Production
ข้อแนะนำ: หากคุณกำลังดูแลระบบที่มีความสำคัญสูง การสแกนด้วย Trivy เป็นประจำจะช่วยลดความเสี่ยงจากการโจมตีผ่านช่องโหว่ที่เพิ่งถูกค้นพบใหม่ ได้อย่างมีประสิทธิภาพครับ
อ่านเพิ่มเติม