From d214d5b3c6b254692f1eb090bd38840a6d47eae2 Mon Sep 17 00:00:00 2001 From: "huish@microsoft.com" Date: Mon, 27 May 2024 23:40:55 +0000 Subject: [PATCH] scanner --- .github/workflows/scan-vulns.yaml | 79 +++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 .github/workflows/scan-vulns.yaml diff --git a/.github/workflows/scan-vulns.yaml b/.github/workflows/scan-vulns.yaml new file mode 100644 index 000000000..652fd57ee --- /dev/null +++ b/.github/workflows/scan-vulns.yaml @@ -0,0 +1,79 @@ +name: scan_vulns +on: + push: + paths-ignore: + - ".github/workflows/website.yaml" + - "docs/**" + - "library/**" + - "demo/**" + - "deprecated/**" + - "example/**" + - "website/**" + - "**.md" + - "!cmd/build/helmify/static/README.md" + pull_request: + paths-ignore: + - ".github/workflows/website.yaml" + - "docs/**" + - "library/**" + - "demo/**" + - "deprecated/**" + - "example/**" + - "website/**" + - "**.md" + - "!cmd/build/helmify/static/README.md" + +permissions: read-all + +jobs: + govulncheck: + name: "Run govulncheck" + runs-on: ubuntu-22.04 + timeout-minutes: 15 + steps: + - name: Harden Runner + uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0 + with: + egress-policy: audit + + - uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 + with: + go-version: "1.22" + check-latest: true + - uses: golang/govulncheck-action@3a32958c2706f7048305d5a2e53633d7e37e97d0 # v1.0.2 + + scan_vulnerabilities: + name: "[Trivy] Scan for vulnerabilities" + runs-on: ubuntu-22.04 + timeout-minutes: 15 + steps: + - name: Harden Runner + uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0 + with: + egress-policy: audit + + - name: Check out code into the Go module directory + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 + + - name: Download trivy + run: | + pushd $(mktemp -d) + wget https://github.com/aquasecurity/trivy/releases/download/v${{ env.TRIVY_VERSION }}/trivy_${{ env.TRIVY_VERSION }}_Linux-64bit.tar.gz + tar zxvf trivy_${{ env.TRIVY_VERSION }}_Linux-64bit.tar.gz + echo "$(pwd)" >> $GITHUB_PATH + env: + TRIVY_VERSION: "0.46.0" + + - name: Run trivy on git repository + run: | + trivy fs --format table --ignore-unfixed --skip-dirs website --scanners vuln . + + - name: Build docker images + run: | + make e2e-build-local-ratify-image + + - name: Run trivy on images + run: | + for img in "localbuild:test"; do + trivy image --ignore-unfixed --vuln-type="os,library" "${img}" + done \ No newline at end of file