Semgrep #54
This file contains 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 of this GitHub Actions workflow. | |
name: Semgrep | |
on: | |
# Scan changed files in PRs (diff-aware scanning): | |
pull_request: {} | |
# 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. | |
# Enable manual trigger of the action. Useful for debugging purposes | |
workflow_dispatch: | |
jobs: | |
semgrep: | |
# User definable name of this GitHub Actions job. | |
name: Scan | |
# If you are self-hosting, change the following `runs-on` value: | |
runs-on: ubuntu-latest | |
permissions: | |
# required for all workflows | |
security-events: write | |
container: | |
# A Docker image with Semgrep installed. Do not change this. | |
image: returntocorp/semgrep | |
# Skip any PR created by dependabot to avoid permission issues: | |
if: (github.actor != 'dependabot[bot]') | |
steps: | |
# Fetch project source with GitHub Actions Checkout. | |
- uses: actions/checkout@v3 | |
# Run the "semgrep ci" command on the command line of the docker image. | |
- run: semgrep ci --sarif --output=semgrep.sarif --config auto --exclude-rule c.lang.security.insecure-use-memset.insecure-use-memset --exclude testing/ | |
- name: Upload SARIF file for GitHub Advanced Security Dashboard | |
# pinning to full commit hash from tagged version v2.20.4 | |
uses: github/codeql-action/upload-sarif@489225d82a57396c6f426a40e66d461b16b3461d | |
with: | |
sarif_file: semgrep.sarif | |
if: ${{ hashFiles('semgrep.sarif') != '' }} |