Skip to content

Security Checks

Security Checks #23

Workflow file for this run

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"