Skip to content

[pull] main from trustyai-explainability:main #74

[pull] main from trustyai-explainability:main

[pull] main from trustyai-explainability:main #74

Workflow file for this run

name: Security Scan
on:
pull_request:
branches: [main]
push:
branches: [main]
jobs:
trivy-scan:
name: Trivy Security Scan
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
actions: read
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.12'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
- name: Run Trivy filesystem scan
uses: aquasecurity/trivy-action@master
with:
scan-type: 'fs'
scan-ref: '.'
format: 'sarif'
output: 'trivy-fs-results.sarif'
severity: 'CRITICAL,HIGH,MEDIUM,LOW'
exit-code: '0' # Don't fail on this scan, we'll check results separately
- name: Run Trivy dependency scan
uses: aquasecurity/trivy-action@master
with:
scan-type: 'fs'
scan-ref: '.'
format: 'sarif'
output: 'trivy-deps-results.sarif'
severity: 'CRITICAL,HIGH,MEDIUM,LOW'
scanners: 'vuln'
exit-code: '0' # Don't fail on this scan, we'll check results separately
- name: Check for critical vulnerabilities
uses: aquasecurity/trivy-action@master
with:
scan-type: 'fs'
scan-ref: '.'
format: 'table'
severity: 'CRITICAL'
exit-code: '1' # Fail if critical vulnerabilities found
- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v3
if: always() && github.event_name == 'pull_request' && github.base_ref == 'main'
with:
sarif_file: 'trivy-fs-results.sarif'
category: 'trivy-filesystem'
- name: Upload Trivy dependency scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v3
if: always() && github.event_name == 'pull_request' && github.base_ref == 'main'
with:
sarif_file: 'trivy-deps-results.sarif'
category: 'trivy-dependencies'