Commit Graph

7 Commits

Author SHA1 Message Date
JonKazama-Hellion 7cbc8fcccc Merge pull request 'fix(scan): pin Trivy to v0.70.0 (avoid GitHub rate-limit)' (#2) from fix/pin-trivy-version into main
Reviewed-on: #2
2026-05-12 00:13:43 +00:00
renovate-bot 27a469b169 fix(scan): pin Trivy to v0.70.0 to avoid GitHub rate-limit
The trivy install script otherwise queries api.github.com unauthenticated
for the latest release tag. Self-hosted runners hit rate-limit quickly
when multiple workflows run in succession, leading to empty version
resolution and install failures.

Version pinned with renovate annotation so updates flow through Renovate.
2026-05-12 00:12:13 +00:00
JonKazama-Hellion 1222381732 Merge pull request 'fix(scan): merge semgrep + trivy into one job (act_runner race)' (#1) from fix/sequential-scan-jobs into main
Reviewed-on: #1
2026-05-11 23:12:56 +00:00
renovate-bot 27c4db980e fix(scan): merge semgrep + trivy into one job to avoid act_runner race
act_runner v0.6.1 fails when 2 jobs in the same task chown the shared workspace in parallel. Sequential steps inside one job sidestep the issue.

Trivy step uses if: always() so both tools surface findings in a single run.
2026-05-11 23:11:39 +00:00
JonKazama-Hellion c0d2b12b4f Add semgrep-exclude-rules input, drop WARNING-severity-as-failing
Two changes for noise reduction and per-repo control:

1. New optional input `semgrep-exclude-rules` (comma-separated rule
   IDs). Lets a consumer skip rules that are context-specific false
   positives (e.g. SQLi rules in a local-only plugin with SqlParameter-
   bound values).

2. Semgrep now only fails the build on ERROR-severity findings.
   WARNING-level rules still run for visibility but do not block.
   Keeps the noise floor low while still surfacing concerns.

Both are opt-in for consumers, default behaviour stays scan-everything.
2026-05-09 11:53:36 +02:00
JonKazama-Hellion c9a8000a84 Replace aquasecurity/trivy-action with direct install
The Trivy GitHub Action wrapper does nested checkouts and auth-juggling
that breaks on Self-Hosted Gitea Actions: 'Failure - Main Checkout
install script' on the first HellionChat run. Switching to the
upstream install.sh + plain `trivy fs` invocation has a smaller
surface and removes the action-internal git clone dance entirely.
2026-05-09 11:49:14 +02:00
JonKazama-Hellion 61dd7bf214 Initial reusable security-scan workflow
Semgrep SAST + Trivy filesystem scan, runs in parallel.
Either job failing fails the calling workflow.

Inputs:
- severity (Trivy threshold, default CRITICAL,HIGH)
- semgrep-config (rule pack, default auto)
2026-05-09 11:20:11 +02:00