Skip to content

Security

Security #208

Workflow file for this run

name: Security
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
concurrency:
group: security-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
secret-scan:
name: Secret Scan
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
fetch-depth: 0
- name: Check repository privacy boundaries
run: sh scripts/check-repository-privacy.sh
- name: TruffleHog verified secrets
uses: trufflesecurity/trufflehog@6f3c981e7b77f235fd2702dd74af25fc4b72bf11 # v3.96.0
with:
version: 3.96.0
extra_args: --results=verified
- name: Trivy secret and misconfig scan
uses: aquasecurity/trivy-action@ed142fd0673e97e23eac54620cfb913e5ce36c25 # v0.36.0
with:
scan-type: fs
scanners: secret,misconfig
exit-code: "1"
skip-dirs: target,dist,node_modules
actions-security:
name: GitHub Actions Security
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Run zizmor
run: |
npm run verify:github-actions
python3 -m pip install --user uv
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
"$HOME/.local/bin/uvx" zizmor==1.24.1 . \
--persona regular \
--min-severity medium \
--min-confidence medium \
--no-progress \
--format plain