Introduction
Ensuring security in containerized applications is a critical aspect of modern DevOps workflows. To enhance security and streamline vulnerability detection, I integrated Trivy into my GitHub repository, enabling automated security scanning within the CI/CD pipeline.
Objective
To automate vulnerability scanning for container images using Trivy within GitHub Actions, ensuring secure deployments with minimal manual intervention.
Step 1: Install Trivy v0.18.3
Run the following commands to download and install Trivy v0.18.3:
# Update package lists
sudo apt update
# Download Trivy v0.18.3 .deb package
wget https://github.com/aquasecurity/trivy/releases/download/v0.18.3/trivy_0.18.3_Linux-64bit.deb
# Install Trivy using dpkg
sudo dpkg -i trivy_0.18.3_Linux-64bit.deb
# Verify installation
trivy --version
Step 2: Create a GitHub Actions Workflow for Automated Scanning
To integrate Trivy into your GitHub repository (trivy-security-scan), create a workflow file.
Create the Workflow Directory and File
mkdir -p .github/workflows
nano .github/workflows/trivy-scan.yml
Add the Following Content
name: Trivy Security Scan
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
trivy-scan:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Trivy v0.18.3
run: |
sudo apt update
wget https://github.com/aquasecurity/trivy/releases/download/v0.18.3/trivy_0.18.3_Linux-64bit.deb
sudo dpkg -i trivy_0.18.3_Linux-64bit.deb
- name: Run Trivy Image Scan
run: |
trivy image alpine:latest > trivy-report.txt
cat trivy-report.txt
- name: Upload Scan Report
uses: actions/upload-artifact@v4
with:
name: security-report
path: trivy-report.txt
Step 3: Commit and Push the Workflow
git add .github/workflows/trivy-scan.yml
git commit -m "Added Trivy v0.18.3 security scan workflow"
git push origin main
Step 4: Verify GitHub Actions Workflow
- Open your GitHub repository: https://github.com/ArvindRaja45/trivy-security-scan.
- Click on the “Actions” tab.
- Ensure the “Trivy Security Scan” workflow runs successfully.
- Check the trivy-report.txt under Artifacts in GitHub Actions.
Final Outcome
- Trivy v0.18.3 is installed using .deb package.
- GitHub Actions will run Trivy security scans on Docker images.
- Vulnerability reports are uploaded as artifacts for review.
Why This Matters?
By integrating security checks early in the CI/CD pipeline, we reduce risks and avoid last-minute surprises in production!
Security isn’t a one-time process—it’s a culture! How are you integrating security in your DevOps workflow? Let’s discuss in the comments!