Use this file to discover all available pages before exploring further.
This document shows an sample job configuration that uploads your Semgrep findings to GitHub Advanced Security Dashboard. See GitHub Actions for information on adding a Semgrep configuration file to your GitHub Actions pipeline.
# Name of this GitHub Actions workflow.name: Semgrepon: # Scan changed files in PRs (diff-aware scanning): pull_request: {} # Scan on-demand through GitHub Actions interface: workflow_dispatch: {} # Scan mainline branches and report all findings: push: branches: ["master", "main"] # Schedule the CI job (this method uses cron syntax): schedule: - cron: '20 17 * * *' # Sets Semgrep to scan every day at 17:20 UTC. # It is recommended to change the schedule to a random time.permissions: # This permission is required when uploading sarifs to any repository at GitHub security-events: write # These permissions are only required when uploading sarifs to private and internal repositories at GitHub contents: read actions: readjobs: semgrep: # User definable name of this GitHub Actions job. name: semgrep/ci # If you are self-hosting, change the following `runs-on` value: runs-on: ubuntu-latest container: # A Docker image with Semgrep installed. Do not change this. image: semgrep/semgrep # Skip any PR created by dependabot to avoid permission issues: if: (github.actor != 'dependabot[bot]') steps: # Fetch project source with GitHub Actions Checkout. Use either v3 or v4. - uses: actions/checkout@v6 # Run the "semgrep ci" command on the command line of the docker image. - run: semgrep ci --sarif > semgrep.sarif env: # Connect to Semgrep AppSec Platform through your SEMGREP_APP_TOKEN. # Generate a token from Semgrep AppSec Platform > Settings # and add it to your GitHub secrets. SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }} - name: Upload SARIF file for GitHub Advanced Security Dashboard uses: github/codeql-action/upload-sarif@v3 with: sarif_file: semgrep.sarif if: always()