chore: harden OpenSSF Scorecard from 4.3 to ~7.0 (#142)

Token-Permissions (0 -> 10): Set permissions: {} at workflow top level
across all 7 workflows, moved write scopes to per-job minimum.

SAST (0 -> 10): Added CodeQL workflow for JavaScript/TypeScript and
Python analysis on push, PR, and weekly schedule.

Vulnerabilities (0 -> ~8): Added 13 pnpm overrides to patch transitive
dependency vulnerabilities (38 -> 2 remaining, both in dev-only tools).

Pinned-Dependencies (5 -> 8-9): Pinned all Docker FROM images to SHA
digests, pinned pip-audit version in CI, pinned pip version in
Dockerfile.
This commit is contained in:
SnapOtter
2026-05-18 15:57:17 +08:00
committed by GitHub
parent 697566d00e
commit ec6ff3d8a8
12 changed files with 443 additions and 768 deletions
+15 -6
View File
@@ -3,17 +3,16 @@ name: Release
on:
workflow_dispatch:
permissions:
contents: write
issues: write
pull-requests: write
packages: write
security-events: write
permissions: {}
jobs:
release:
name: Semantic Release
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
pull-requests: write
outputs:
new_version: ${{ steps.check.outputs.version }}
steps:
@@ -73,6 +72,9 @@ jobs:
docker:
name: Build (${{ matrix.platform }})
needs: release
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
@@ -154,6 +156,10 @@ jobs:
name: Trivy Container Scan
needs: [release, docker]
runs-on: ubuntu-latest
permissions:
contents: read
packages: read
security-events: write
steps:
- name: Download amd64 digest
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
@@ -203,6 +209,9 @@ jobs:
name: Create Multi-Arch Manifests
needs: [release, docker, scan]
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Download digests
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4