This is a GitHub Actions to scan vulnerability using Trivy.
If vulnerabilities are found by Trivy, it creates the following GitHub Issue.
- Scan vulnerability used by Trivy
- Create or Update GitHub Issue if vulnerabilities found
- Customize Issue title, label and assignee
- Issue body is generated by template parameter
 
| Parameter | Required | Default Value | Description | 
|---|---|---|---|
| token | True | N/A | GitHub Access Token. ${{ secrets.GITHUB_TOKEN }} is recommended. | 
| image | True | N/A | The target image name to scan the vulnerability Specify this parameter or IMAGE_NAMEenvironment variable | 
| trivy_version | False | latest | Trivy version | 
| severity | False | HIGH,CRITICAL | Severities of vulnerabilities (separated by commma) | 
| vuln_type | False | os,library | Scan target are os and / or library (separated by commma) | 
| ignore_unfixed | False | false | Ignore unfixed vulnerabilities Please specify trueorfalse | 
| template | False | N/A | Path to template file This parameter equals trivy --template option By default, it uses src/default.tpl which is based on contrib/html.tpl reference: Report Formats - Trivy | 
| issue_title | False | Security Alert | Issue title | 
| issue_label | False | trivy,vulnerability | Issue label (separated by commma) | 
| issue_assignee | False | N/A | Issue assignee (separated by commma) | 
| fail_on_vulnerabilities | False | false | Whether the action should fail if any vulnerabilities were found. | 
| Parameter | Description | 
|---|---|
| html_url | The URL to view the issue | 
| issue_number | The created issue number | 
Detect your docker image vulnerability everyday at 9:00 (UTC).
name: Vulnerability Scan
on:
  schedule:
    - cron: '0 9 * * *'
jobs:
  scan:
    name: Daily Vulnerability Scan
    runs-on: ubuntu-latest
    steps:
      - name: Pull docker image
        run: docker pull sample
      - uses: lazy-actions/gitrivy@v3
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          image: sample