BAH-5024 | Add Semgrep SAST CI workflow - #69
Open
vishalkarmalkarthoughtworks wants to merge 2 commits into
Open
Conversation
Adds .github/workflows/semgrep.yml. Runs Semgrep Community Edition on PRs, pushes to main/master, and weekly. Phase 1 is non-blocking (continue-on-error: true) while initial findings are triaged. Findings upload to the Security tab via SARIF. No SEMGREP_APP_TOKEN required; no Semgrep Cloud account. Pinned to immutable digests/SHAs per the bahmni-core#330 template.
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
GitHub disables a scheduled workflow in a public repo after 60 days with no repository activity, and the disable applies to the whole workflow, not just the cron trigger. Bahmni/bahmni-api-test-automation and Bahmni/openmrs-module-bedmanagement had already lost Semgrep on every PR this way, and GitHub does not re-enable it when the repo becomes active again. Scanning on pull_request and on push to the default branch is unchanged, and workflow_dispatch stays for an on-demand full scan.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
.github/workflows/semgrep.yml. Runs Semgrep Community Edition static analysis on PRs, pushes to main/master, and weekly. Findings upload to the Security tab (Code Scanning) via SARIF.Part of the rollout tracked in BAH-5024, a follow-up to BAH-4795 (same hardened template, applied to repos outside that ticket's original 17-repo scope). Template validated on bahmni-core#330: container image and actions pinned to immutable digests/SHAs, least-privilege checkout (
persist-credentials: false), SARIF upload guarded byhashFiles()so the workflow stays non-blocking if Semgrep crashes before producing the SARIF file.What it catches
OWASP-class bugs: SQL injection, path traversal, XSS, command injection, insecure deserialization. ~2,000 community rules cover the auto-detected language set.
Phase 1 — non-blocking
continue-on-error: trueis set so existing findings on legacy code do not fail PRs. Findings still surface in the Security tab for review. A follow-up PR will remove that flag and add--baseline-refonce a baseline is triaged.Cost: $0
SEMGREP_APP_TOKEN, no Semgrep Cloud accountTest plan