Static Application Security Testing use Trivy in GitHub Actions

Muhammad Abdur Rofi Maulidin 🇮🇩
Jawara Cloud
Published in
3 min readMay 6, 2022

--

Static application security testing (SAST) tools seperti Trivy dapat membantu kita menganalisa source code dari security flaws.

Image by Scott Webb

Bismillahirahmanirahim,

Pada kesempatan ini saya akan coba sharing sedikit tentang SAST di GitHub Actions dengan menggunakan Trivy.

Pertama kita bahas apa itu SAST terlebih dahulu.

SAST atau Static Applications Security testing merupakan suatu metode security assessment dengan cara menganalisa source code aplikasi. Berbeda dengan DAST/Dynamic Applications Security Testing yang menggunakan black box, SAST menggunakan metode white box yang berfokus pada source code aplikasi. Tools SAST akan melakukan scanning pada source code aplikasi, kemudian tools tersebut akan menampilkan report yang berisikan identifikasi celah keamanan pada aplikasi dengan presentase keakuratan kurang lebih 50%.

Tools yang akan saya gunakan pada kesempatan ini adalah trivy.

Trivy merupakan tools yang digunan untuk melakukan Static Applications Security Testing pada container images, file systems, dan Git repositories, dan berfungsi dalam proses deteksi kesalahan konfigurasi.

Untuk mengaplikasikannya pada GitHub Actions, Trivy sudah menyediakan cara untuk mengintegrasikannya dengan GitHub Actions.

Disini saya akan mencobanya untuk melakukan scanning pada docker images yang saya buat.

name: CI Testing - PullRequest
on:
pull_request:

jobs:
SAST:
name: SAST Pipeline
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
ref: rofi
- name: Build an image from Dockerfile
run: |
docker build -t ghcr.io/mrofisr/simple:latest .
- name: Run Trivy vulnerability scanner in docker mode
uses: aquasecurity/trivy-action@master
with:
image-ref: "ghcr.io/mrofisr/simple:latest"
format: 'sarif'
output: 'trivy-results.sarif'
- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v1
with:
sarif_file: 'trivy-results.sarif'

Kurang lebih seperti ini script CI untuk melakukan SAST pada docker image di GitHub Actions. Pertama GitHub Actions akan melakukan cloning pada repository, kemudian dilanjutkan pada proses pembuatan docker images. Setelah itu trivy akan melakukan scanning pada docker images dan apabila terdapat celah keamanan di docker images yang kita punya, maka trivy akan menampilkanya pada GitHub Actions.

sample trivy report
sample trivy report

Untuk lebih jelasnya bisa langsung lihat disini.

Okeh mungkin sekian dari saya.

Terimakasih sudah membaca.

About me

I’m Muhammad Abdur Rofi Maulidin, a DevOps Engineer passionate about optimizing software development processes by supporting cloud infrastructure management like kubernetes orchestration, and automations. Dedicated to support the reliability, availability, and performance of systems by implementing SLI/SLO based on performance monitoring for business requirement.

Feel free to keep in touch with me:

Let’s go to the cloud 🚀

Free Palestine 🇵🇸

--

--