authvault 0.1.0

Authentication and authorization vault with multi-provider support
Documentation
name: Deep Security Scan

on:
  push:
    branches: [main, master]
  pull_request:
    branches: [main, master]
  schedule:
    - cron: '0 0 * * *'  # Daily

jobs:
  # 1. Dependency Vulnerability Scan (Snyk-style)
  dependency-scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      
      - name: Run Trivy vulnerability scanner
        uses: aquasecurity/trivy-action@master
        with:
          scan-type: 'fs'
          ignore-unfixed: true
          format: 'sarif'
          output: 'trivy-results.sarif'
          severity: 'CRITICAL,HIGH'
      
      - name: Upload Trivy scan results
        uses: github/codeql-action/upload-sarif@v4
        with:
          sarif_file: 'trivy-results.sarif'

  # 2. Secret Scanning (GitLeaks)
  secret-scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
        with:
          fetch-depth: 0
      
      - name: Scan for secrets
        uses: gitleaks/gitleaks-action@v3
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

  # 3. Code Security Analysis (CodeQL)
  codeql-analysis:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        language: ['rust', 'go', 'python', 'typescript']
    steps:
      - uses: actions/checkout@v7
      
      - name: Initialize CodeQL
        uses: github/codeql-action/init@v4
        with:
          languages: ${{ matrix.language }}
      
      - name: Autobuild
        uses: github/codeql-action/autobuild@v4
      
      - name: Perform CodeQL Analysis
        uses: github/codeql-action/analyze@v4

  # 4. Container Security (if Dockerfile exists)
  container-scan:
    runs-on: ubuntu-latest
    if: hashFiles('**/Dockerfile') != ''
    steps:
      - uses: actions/checkout@v7
      
      - name: Build image
        run: docker build -t app:${{ github.sha }} .
      
      - name: Scan image with Trivy
        uses: aquasecurity/trivy-action@master
        with:
          image-ref: 'app:${{ github.sha }}'
          format: 'sarif'
          output: 'trivy-image-results.sarif'
      
      - name: Upload image scan results
        uses: github/codeql-action/upload-sarif@v4
        with:
          sarif_file: 'trivy-image-results.sarif'