π¨ Runner-Guard Security Finding
Rule: RGS-018 β Suspicious Payload Execution Pattern
Severity: High
File: .github/workflows/daily-sentrux-report.lock.yml
Line: 512 (source: .github/workflows/daily-sentrux-report.md, Install sentrux step)
Description
Runner-guard flagged a run: block whose code matches a dangerous-execution pattern from its supply-chain threat database. The Install sentrux step downloads a release binary and executes it without integrity verification:
- name: Install sentrux
run: |
SENTRUX_VERSION="0.5.7"
curl -fsSL -o /tmp/gh-aw/agent/sentrux "https://github.com/sentrux/sentrux/releases/download/v${SENTRUX_VERSION}/sentrux-linux-x86_64"
chmod +x /tmp/gh-aw/agent/sentrux
sudo mv /tmp/gh-aw/agent/sentrux /usr/local/bin/sentrux
sentrux --version
Impact
The binary is fetched over the network and executed (and installed to /usr/local/bin with sudo) with no checksum or signature verification. If the release asset were replaced β via a compromised upstream repo, a hijacked release, or a MITM on the redirect chain β the runner would execute attacker-controlled code with the job's token and secret scope. This is the class of supply-chain risk RGS-018 exists to surface.
Remediation
Pin and verify the expected SHA-256 before making the binary executable:
- name: Install sentrux
run: |
SENTRUX_VERSION="0.5.7"
SENTRUX_SHA256="<pinned-sha256-of-sentrux-linux-x86_64>"
curl -fsSL -o /tmp/gh-aw/agent/sentrux "https://github.com/sentrux/sentrux/releases/download/v${SENTRUX_VERSION}/sentrux-linux-x86_64"
echo "${SENTRUX_SHA256} /tmp/gh-aw/agent/sentrux" | sha256sum -c -
chmod +x /tmp/gh-aw/agent/sentrux
sudo mv /tmp/gh-aw/agent/sentrux /usr/local/bin/sentrux
Because this step lives in the source workflow markdown, update .github/workflows/daily-sentrux-report.md and recompile so the .lock.yml regenerates. If sentrux publishes a checksums file or a pinnable install action, prefer that.
Note: the other two High RGS-018 hits this run (daily-cli-performance.lock.yml:791, smoke-claude.lock.yml:1307) anchor on generated Write MCP Scripts Config / generate_safe_outputs_tools.cjs framework scaffolding and are false positives β no fix required.
Detected by runner-guard v2.6.0 β CI/CD source-to-sink vulnerability scanner
Workflow run: https://github.com/github/gh-aw/actions/runs/29675146405
Generated by π Static Analysis Report Β· 207.6 AIC Β· β 29.5 AIC Β· β 10K Β· β·
π¨ Runner-Guard Security Finding
Rule: RGS-018 β Suspicious Payload Execution Pattern
Severity: High
File:
.github/workflows/daily-sentrux-report.lock.ymlLine: 512 (source:
.github/workflows/daily-sentrux-report.md,Install sentruxstep)Description
Runner-guard flagged a
run:block whose code matches a dangerous-execution pattern from its supply-chain threat database. TheInstall sentruxstep downloads a release binary and executes it without integrity verification:Impact
The binary is fetched over the network and executed (and installed to
/usr/local/binwithsudo) with no checksum or signature verification. If the release asset were replaced β via a compromised upstream repo, a hijacked release, or a MITM on the redirect chain β the runner would execute attacker-controlled code with the job's token and secret scope. This is the class of supply-chain risk RGS-018 exists to surface.Remediation
Pin and verify the expected SHA-256 before making the binary executable:
Because this step lives in the source workflow markdown, update
.github/workflows/daily-sentrux-report.mdand recompile so the.lock.ymlregenerates. If sentrux publishes a checksums file or a pinnable install action, prefer that.Detected by runner-guard v2.6.0 β CI/CD source-to-sink vulnerability scanner
Workflow run: https://github.com/github/gh-aw/actions/runs/29675146405