From 77269ad44e6082421ded14420a8b74e821759fd6 Mon Sep 17 00:00:00 2001 From: mapup-parask <94374284+mapup-parask@users.noreply.github.com> Date: Fri, 6 Feb 2026 22:00:34 +0530 Subject: [PATCH] Add automated security scanning --- .github/workflows/gitleaks.yml | 20 ++++++++++++++++++++ .github/workflows/semgrep.yml | 17 +++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 .github/workflows/gitleaks.yml create mode 100644 .github/workflows/semgrep.yml diff --git a/.github/workflows/gitleaks.yml b/.github/workflows/gitleaks.yml new file mode 100644 index 0000000..d0c8cb5 --- /dev/null +++ b/.github/workflows/gitleaks.yml @@ -0,0 +1,20 @@ +name: Gitleaks Secret Scan +on: + pull_request: + branches: [main, master] + schedule: + - cron: '0 3 * * 1' # Weekly Monday 3am UTC + workflow_dispatch: # Allow manual trigger + +jobs: + gitleaks: + name: Scan for secrets + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: gitleaks/gitleaks-action@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITLEAKS_ENABLE_COMMENTS: false diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml new file mode 100644 index 0000000..9746e7d --- /dev/null +++ b/.github/workflows/semgrep.yml @@ -0,0 +1,17 @@ +name: Semgrep SAST +on: + pull_request: + branches: [main, master] + schedule: + - cron: '0 4 * * 1' # Weekly Monday 4am UTC + workflow_dispatch: # Allow manual trigger + +jobs: + semgrep: + name: Static analysis + runs-on: ubuntu-latest + container: + image: semgrep/semgrep + steps: + - uses: actions/checkout@v4 + - run: semgrep scan --config auto --error --quiet