15 Commits
Author SHA1 Message Date
JonKazama-Hellion 72c296d354 revert(ci): checkout wieder ueber actions/checkout
Rueckbau des Workarounds von 00f5b89. Der Archiv-Download war noetig,
weil git fetch gegen die Forge crashte. Ursache war kein git-Bug, sondern
eine Kompromittierung ueber CVE-2026-59774: ein injizierter
packObjectsHook ersetzte git pack-objects durch einen Malware-Dropper,
dessen Ausgabe upload-pack an einer Assertion sterben liess.

Gitea laeuft jetzt auf 1.27.2, der Hook ist entfernt, fetch funktioniert
wieder. Details: Obsidian "Projekte/Hellion Forge/Forge Security-Incident
2026-08-15.md".
2026-08-15 23:16:59 +02:00
JonKazama-Hellion 00f5b89680 fix(ci): checkout via source archive instead of git fetch
git fetch over HTTPS is broken on this Gitea instance since 2026-08-12:
`git upload-pack --stateless-rpc` aborts with
BUG("packfile_uris requires sideband-all") in upload-pack.c and dumps
core on every fetch. Every checkout therefore failed before the scan
started, which is why all security runs have been red since then.

Reproduced against every repo, from multiple clients, on git 2.52 and
2.55, and on Gitea 1.26.1 as well as 1.26.4. SSH, the web UI and the
API are unaffected — only the smart-HTTP pack transfer dies.

Semgrep and Trivy operate on the working tree and do not need history,
so the sources are pulled as a tar archive over plain HTTP. This sidesteps
upload-pack entirely. Revert to actions/checkout once the fetch path is
fixed upstream.
2026-08-15 19:09:23 +02:00
JonKazama-Hellion dfe44fdf3b Merge pull request 'Update actions/checkout action to v6' (#4) from renovate/actions-checkout-6.x into main
Reviewed-on: #4
2026-05-12 14:43:30 +00:00
renovate-bot f5c6828302 Update actions/checkout action to v6 2026-05-12 14:43:17 +00:00
JonKazama-Hellion 54301ecdf6 Merge pull request 'Update actions/setup-python action to v6' (#5) from renovate/actions-setup-python-6.x into main
Reviewed-on: #5
2026-05-12 14:42:53 +00:00
renovate-bot ef287c8868 Update actions/setup-python action to v6 2026-05-12 12:34:06 +00:00
JonKazama-Hellion 6274df8e48 Merge pull request 'Configure Renovate' (#3) from renovate/configure into main
Reviewed-on: #3
2026-05-12 07:05:22 +00:00
renovate-bot c9c318c092 Add renovate.json 2026-05-12 06:34:48 +00:00
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