name: Security on: push: branches: [main] pull_request: schedule: - cron: '23 2 * * 1' permissions: contents: read jobs: dependency-and-secret-scan: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 with: { version: 11.13.1 } - uses: actions/setup-node@v4 with: { node-version: 24, cache: pnpm } - run: pnpm install --frozen-lockfile - run: pnpm audit --audit-level=high - name: Reject committed private keys and common live secrets shell: bash run: | if git grep -IEn 'BEGIN (RSA |EC |OPENSSH )?PRIVATE KEY|sk_live_[A-Za-z0-9]{16,}|AKIA[0-9A-Z]{16}' -- ':!pnpm-lock.yaml'; then echo 'Potential secret detected'; exit 1 fi codeql: runs-on: ubuntu-latest permissions: { security-events: write, contents: read } steps: - uses: actions/checkout@v4 - uses: github/codeql-action/init@v3 with: { languages: javascript-typescript } - uses: github/codeql-action/analyze@v3