mirror of
https://github.com/samber/lo.git
synced 2026-04-22 15:37:14 +08:00
133 lines
3.1 KiB
YAML
133 lines
3.1 KiB
YAML
name: Security scan
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- maser
|
|
pull_request:
|
|
schedule:
|
|
- cron: '0 3 * * 1'
|
|
workflow_dispatch: # Allow manual trigger
|
|
|
|
permissions:
|
|
contents: read
|
|
# required for codeql analysis
|
|
security-events: write
|
|
|
|
jobs:
|
|
# govulncheck:
|
|
# name: govulncheck
|
|
# runs-on: ubuntu-latest
|
|
# strategy:
|
|
# fail-fast: false
|
|
# steps:
|
|
# - uses: actions/checkout@v6
|
|
# - uses: actions/setup-go@v6
|
|
# with:
|
|
# go-version-file: go.mod
|
|
|
|
# - name: Install govulncheck
|
|
# run: go install golang.org/x/vuln/cmd/govulncheck@latest
|
|
|
|
# - name: govulncheck
|
|
# run: govulncheck ./...
|
|
|
|
bearer:
|
|
name: bearer
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- name: Bearer
|
|
uses: bearer/bearer-action@v2
|
|
with:
|
|
skip-path: 'docs/'
|
|
|
|
codeql:
|
|
name: codeql
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- uses: actions/setup-go@v6
|
|
with:
|
|
go-version-file: go.mod
|
|
|
|
- name: Initialize CodeQL
|
|
uses: github/codeql-action/init@v4
|
|
with:
|
|
languages: go
|
|
|
|
- name: Autobuild
|
|
uses: github/codeql-action/autobuild@v4
|
|
- name: Perform CodeQL Analysis
|
|
uses: github/codeql-action/analyze@v4
|
|
|
|
trivy-codeql:
|
|
name: trivy-codeql
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- uses: actions/setup-go@v6
|
|
with:
|
|
go-version-file: go.mod
|
|
|
|
- name: Run Trivy vulnerability scanner (source code)
|
|
uses: aquasecurity/trivy-action@0.35.0
|
|
with:
|
|
scan-type: "fs"
|
|
scan-ref: "."
|
|
scanners: "vuln,secret,misconfig"
|
|
format: "sarif"
|
|
output: "trivy-results.sarif"
|
|
severity: "CRITICAL,HIGH,MEDIUM"
|
|
ignore-unfixed: true
|
|
trivyignores: ".trivyignore"
|
|
skip-dirs: "docs/"
|
|
|
|
- name: Upload Trivy results to GitHub Security tab
|
|
uses: github/codeql-action/upload-sarif@v4
|
|
if: always()
|
|
with:
|
|
sarif_file: "trivy-results.sarif"
|
|
|
|
trivy-logs:
|
|
name: trivy-logs
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- uses: actions/setup-go@v6
|
|
with:
|
|
go-version-file: go.mod
|
|
|
|
- name: Run Trivy scanner (table output for logs)
|
|
uses: aquasecurity/trivy-action@0.35.0
|
|
if: always()
|
|
with:
|
|
scan-type: "fs"
|
|
scan-ref: "."
|
|
scanners: "vuln,secret,misconfig"
|
|
format: "table"
|
|
severity: "CRITICAL,HIGH,MEDIUM"
|
|
ignore-unfixed: true
|
|
trivyignores: ".trivyignore"
|
|
exit-code: "1"
|
|
skip-dirs: "docs/"
|
|
|
|
- name: Run Trivy scanner (license)
|
|
uses: aquasecurity/trivy-action@0.35.0
|
|
if: always()
|
|
with:
|
|
scan-type: fs
|
|
scan-ref: .
|
|
scanners: license
|
|
severity: UNKNOWN,HIGH,CRITICAL
|
|
format: table
|
|
skip-dirs: "docs/"
|