Skip to content
Open
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions .github/workflows/security-scan.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: Security Scan

on:
pull_request:
branches: [main]
push:
branches: [main]
workflow_dispatch:

jobs:
trivy-scan:
name: Trivy
runs-on: ubuntu-latest
permissions:
security-events: write
actions: read
contents: read
checks: write

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Run Trivy vulnerability scan
uses: aquasecurity/[email protected]
with:
scan-type: fs
scan-ref: .
format: sarif
output: trivy-results.sarif
severity: CRITICAL,HIGH,MEDIUM,LOW
exit-code: 0

- name: Check for critical and high vulnerabilities
uses: aquasecurity/[email protected]
with:
scan-type: fs
scan-ref: .
format: table
severity: CRITICAL,HIGH
exit-code: 1
continue-on-error: true

- name: Upload SARIF to Security tab
if: always()
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: trivy-results.sarif
category: trivy-security-scan

bandit:
name: Bandit
runs-on: ubuntu-latest
permissions:
security-events: write
actions: read
contents: read
checks: write

steps:
- uses: actions/checkout@v4

- name: Run Bandit code scan
uses: PyCQA/bandit-action@v1
with:
project_path: .
bandit_args: "-r . -f sarif -o results.sarif"
continue-on-error: true

- name: Upload SARIF as artifact
if: always()
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: results.sarif
category: bandit-security-scan