![]() |
|
Trivy adalah Tools open-source yang digunakan untuk mendeteksi kerentanan keamanan (vulnerability) pada container image, file system, dan dependensi code. Dengan menggunakan Trivy, Tim Developer maupun DevOps dapat memastikan bahwa docker image yang telah dibuild aman dari celah serta eksploitasi "CVE: Common Vulnerabilities and Exposures".
Mengapa Menggunakan Trivy?
- Deteksi Cepat: Memeriksa CVE dan vulnerability dalam hitungan detik.
- Dukungan Multi-Platform: Bisa digunakan untuk Docker, Kubernetes, dan CI/CD pipeline.
- Integrasi: Dukungan CI/CD seperti GitHub Actions, GitLab CI, maupun Jenkins.
- Database Vulnerability "Up-to-date": Data vulnerability yang selalu update dari "NVD: National Vulnerabolity Database" dan lainya.
1. Instalasi Trivy
Panduan berikut ini adalah mengenai intalasi Trivy Security di Linux Ubuntu, Redhat, MacOS dan Windows.
1.1 Instalasi Trivy di Linux Ubuntu
Buka terminal di linux ubuntu, lalu jalankan perintah berikut untuk refresh repositori dan install tools wget dan gnugpg.
sudo apt-get update && sudo apt-get install wget gnupg -y
Tambahkan trivy public key dan gpg key.
wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | gpg --dearmor | sudo tee /usr/share/keyrings/trivy.gpg > /dev/null
Kemudian tambahkan trivy repositori pada path /etc/apt/sources.list.d
dengan menjalankan perintah berikut.
echo "deb [signed-by=/usr/share/keyrings/trivy.gpg] https://aquasecurity.github.io/trivy-repo/deb generic main" | sudo tee -a /etc/apt/sources.list.d/trivy.list
Setelah itu refresh kembali repositori ubuntu kemudian install Trivy dengan menjalankan perintah berikut.
sudo apt-get update sudo apt-get install trivy -y
1.2 Instalasi Trivy di Linux Redhat
Tambahkan repositori trivy pada lokasi direktori path /etc/yum.repos.d
cat << EOF | sudo tee -a /etc/yum.repos.d/trivy.repo [trivy] name=Trivy repository baseurl=https://aquasecurity.github.io/trivy-repo/rpm/releases/\$basearch/ gpgcheck=1 enabled=1 gpgkey=https://aquasecurity.github.io/trivy-repo/rpm/public.key EOF
Lalu, jalankan perintah berikut ini menggunakan yum
paket manager.
sudo yum -y install trivy
1.3 Instalasi di macOS
Jalankan perintah berikut untuk instalasi Trivy menggunakan Homebrew
paket manager.
brew install trivy
1.4 Instalasi di Windows
Unduh binary dari Trivy GitHub Releases dan tambahkan ke PATH environment variables Windows.
2. Scan Container Docker Image
Contoh panduan berikut ini melakukan scan vulnerability menggunakan docker image nginx berbasis alpine.
Pull docker image nginx:latest
.
docker pull nginx:alpine
2.1 Scan Vulnerability Docker Image
Jalankan perintah berikut untuk scan docker image.
trivy image nginx:alpine
Output result:
![]() |
|
2.2 Generate HTML Report
Pada dasarnya trivy sudah mempunyai default template yang berada pada path direktori linux /usr/local/share/trivy/templates/
, tetapi jika anda ingin generate trivy report dengan user interface yang lebih fresh, anda dapat menggunakan thirdparty plugin trivy report Scan2html.
Jalankan perintah berikut untuk generate report dengan format html.
trivy image --format template --template "@/usr/local/share/trivy/templates/html.tpl" -o report.html nginx:alpine
Install trivy plugin scan2html sebagai berikut.
trivy plugin install scan2html
Jika plugin sudah berhasil diinstal, jalankan perintah berikut untuk generate trivy report.
trivy scan2html image --scanners vuln,secret,misconfig,license nginx:alpine --scan2html-flags --output trivy_report.html
Tampilan trivy security report dengan scan2html
![]() |
|
Jika ingin melihat informasi atau bantuan tentang Trivy, anda dapat menjalankan perintah trivy --help
, maka akan muncul daftar opsi dan syntax yang didukung oleh Trivy.
Output result:
![]() |
|
Kesimpulan
Secara keseluruhan, Trivy adalah solusi cepat dan mudah untuk membantu tim engineeri dalam mendeteksi kerentanan pada container image sebelum diterapkan ke environment production.