Security Checks #24
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Security Checks | |
| on: | |
| schedule: | |
| - cron: "0 0 * * 0" # every Sunday at midnight UTC | |
| permissions: | |
| contents: read | |
| jobs: | |
| audit: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Enforce Composer floor | |
| # Composer >= 2.9.8 closes CVE-2026-45793 (GitHub App token leak to logs) | |
| run: composer self-update 2.9.8 && composer --version | |
| - name: Mint Composer resolver token | |
| id: composer-token | |
| uses: actions/create-github-app-token@v3 | |
| with: | |
| client-id: ${{ vars.COMPOSER_RESOLVER_CLIENT_ID }} | |
| private-key: ${{ secrets.COMPOSER_RESOLVER_PRIVATE_KEY }} | |
| owner: Starisian-Technologies | |
| repositories: sparxstar-ouroboros-integrity | |
| - name: Wire git to use Composer resolver token for Ouroboros | |
| env: | |
| TOKEN: ${{ steps.composer-token.outputs.token }} | |
| run: git config --global url."https://x-access-token:${TOKEN}@github.com/".insteadOf "https://github.com/" | |
| - name: Cache Composer packages | |
| uses: actions/cache@v4 | |
| with: | |
| path: vendor | |
| key: composer-v2-${{ hashFiles('composer.lock') }} | |
| restore-keys: composer-v2- | |
| - name: Install Composer dependencies | |
| env: | |
| COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ steps.composer-token.outputs.token }}"}}' | |
| run: composer install --no-interaction --prefer-dist | |
| - name: Composer audit | |
| run: composer audit || echo "Composer audit found vulnerabilities" | |
| - name: Cache pnpm packages | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.pnpm-store | |
| key: pnpm-${{ hashFiles('pnpm-lock.yaml') }} | |
| restore-keys: pnpm- | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 | |
| with: | |
| version: 8.6.0 | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: pnpm audit | |
| run: pnpm audit --audit-level=moderate || echo "pnpm audit found vulnerabilities" |