Container Scan #485
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow uses actions that are not certified by GitHub. | |
# They are provided by a third-party and are governed by | |
# separate terms of service, privacy policy, and support | |
# documentation. | |
# This workflow checks out code, builds an image, performs a container image | |
# vulnerability scan with Anchore's Grype tool, and integrates the results with GitHub Advanced Security | |
# code scanning feature. For more information on the Anchore scan action usage | |
# and parameters, see https://github.com/anchore/scan-action. For more | |
# information on Anchore's container image scanning tool Grype, see | |
# https://github.com/anchore/grype | |
name: Container Scan | |
on: | |
workflow_dispatch: | |
push: | |
branches: [ "latest" ] | |
paths-ignore: | |
- '.github/**' | |
pull_request: | |
# The branches below must be a subset of the branches above | |
branches: [ "latest" ] | |
paths-ignore: | |
- '.github/**' | |
schedule: | |
- cron: '* 2 * * 1' | |
permissions: | |
contents: read | |
jobs: | |
Anchore-Scan: | |
permissions: | |
contents: read # for actions/checkout to fetch code | |
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results | |
actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v4 | |
- name: Pull the Docker image | |
run: docker pull ${{ secrets.DOCKERHUB_USERNAME }}/rubberglue | |
- name: Run the Anchore scan action itself with GitHub Advanced Security code scanning integration enabled | |
uses: anchore/scan-action@49e50b215b647c5ec97abb66f69af73c46a4ca08 | |
with: | |
image: "${{ secrets.DOCKERHUB_USERNAME }}/rubberglue" | |
acs-report-enable: true | |
fail-build: false | |
- name: Upload Anchore Scan Report | |
uses: github/codeql-action/upload-sarif@v3 | |
with: | |
sarif_file: results.sarif | |
Trivy-Scan: | |
permissions: | |
contents: read # for actions/checkout to fetch code | |
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results | |
name: Trivy-Scan | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Pull the Docker image | |
run: docker pull ${{ secrets.DOCKERHUB_USERNAME }}/rubberglue | |
- name: Run Trivy vulnerability scanner | |
uses: aquasecurity/trivy-action@915b19bbe73b92a6cf82a1bc12b087c9a19a5fe2 | |
with: | |
image-ref: '${{ secrets.DOCKERHUB_USERNAME }}/rubberglue' | |
format: 'template' | |
template: '@/contrib/sarif.tpl' | |
output: 'trivy-results.sarif' | |
severity: 'CRITICAL,HIGH' | |
- name: Upload Trivy scan results to GitHub Security tab | |
uses: github/codeql-action/upload-sarif@v3 | |
with: | |
sarif_file: 'trivy-results.sarif' | |
CodeQL: | |
name: CodeQL | |
runs-on: ubuntu-latest | |
permissions: | |
actions: read | |
contents: read | |
security-events: write | |
strategy: | |
fail-fast: false | |
matrix: | |
language: [ 'python' ] | |
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] | |
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
# Initializes the CodeQL tools for scanning. | |
- name: Initialize CodeQL | |
uses: github/codeql-action/init@v3 | |
with: | |
languages: ${{ matrix.language }} | |
# If you wish to specify custom queries, you can do so here or in a config file. | |
# By default, queries listed here will override any specified in a config file. | |
# Prefix the list here with "+" to use these queries and those in the config file. | |
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs | |
# queries: security-extended,security-and-quality | |
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java). | |
# If this step fails, then you should remove it and run the build manually (see below) | |
- name: Autobuild | |
uses: github/codeql-action/autobuild@v3 | |
# ℹ️ Command-line programs to run using the OS shell. | |
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun | |
# If the Autobuild fails above, remove it and uncomment the following three lines. | |
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. | |
# - run: | | |
# echo "Run, Build Application using script" | |
# ./location_of_script_within_repo/buildscript.sh | |
- name: Perform CodeQL Analysis | |
uses: github/codeql-action/analyze@v3 |