Security Checks #183
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: | |
| push: | |
| branches: [ main, develop ] | |
| pull_request: | |
| branches: [ main, develop ] | |
| schedule: | |
| # Run weekly on Monday at 00:00 UTC | |
| - cron: '0 0 * * 1' | |
| jobs: | |
| codeql: | |
| name: CodeQL Analysis | |
| runs-on: ubuntu-latest | |
| permissions: | |
| actions: read | |
| contents: read | |
| security-events: write | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| language: [ 'javascript' ] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Initialize CodeQL | |
| uses: github/codeql-action/init@v3 | |
| with: | |
| languages: ${{ matrix.language }} | |
| - name: Autobuild | |
| uses: github/codeql-action/autobuild@v3 | |
| continue-on-error: true | |
| - name: Perform CodeQL Analysis | |
| uses: github/codeql-action/analyze@v3 | |
| continue-on-error: true | |
| rust-audit: | |
| name: Rust Security Audit | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: stable | |
| override: true | |
| - name: Install cargo-audit | |
| run: cargo install cargo-audit | |
| - name: Run cargo audit | |
| working-directory: ./soroban | |
| run: cargo audit || true | |
| continue-on-error: true | |
| npm-audit: | |
| name: NPM Security Audit | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '18' | |
| - name: Install root dependencies | |
| run: npm ci || npm install | |
| - name: Audit root dependencies | |
| run: npm audit --audit-level=moderate || true | |
| - name: Install web dependencies | |
| working-directory: ./web | |
| run: npm ci || npm install | |
| - name: Audit web dependencies | |
| working-directory: ./web | |
| run: npm audit --audit-level=moderate || true | |
| - name: Install docs-site dependencies | |
| working-directory: ./docs-site | |
| run: npm ci || npm install | |
| - name: Audit docs-site dependencies | |
| working-directory: ./docs-site | |
| run: npm audit --audit-level=moderate || true | |
| slither: | |
| name: Slither (Solidity) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Run Slither | |
| uses: crytic/slither-action@v0.3.0 | |
| continue-on-error: true | |
| with: | |
| target: 'evm-verification/src/' | |
| fail-on: none | |
| slither-args: '--filter-paths node_modules' |