# This workflow integrates Brakeman with GitHub's Code Scanning feature # Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications name: Brakeman Scan # This section configures the trigger for the workflow. Feel free to customize depending on your convention on: push: branches: [ "master" ] pull_request: branches: [ "master" ] permissions: contents: read jobs: brakeman-scan: permissions: contents: read # for actions/checkout to fetch code security-events: write # for github/codeql-action/upload-sarif to upload SARIF results name: Brakeman Scan runs-on: ubuntu-latest steps: # Checkout the repository to the GitHub Actions runner - name: Checkout uses: actions/checkout@v3 # Customize the ruby version depending on your needs - name: Setup Ruby uses: ruby/setup-ruby@v1 with: ruby-version: '2.7' - name: Setup Brakeman env: BRAKEMAN_VERSION: '5.4.0' run: | gem install brakeman --version $BRAKEMAN_VERSION # Execute Brakeman CLI and generate a SARIF output with the security issues identified during the analysis - name: Scan continue-on-error: true run: | git show --no-patch # the commit being tested (which is often a merge due to actions/checkout@v3) brakeman -f sarif -o output.sarif.json . # Upload the SARIF file generated in the previous step - name: Upload SARIF uses: github/codeql-action/upload-sarif@v2 with: sarif_file: output.sarif.json