Skip to content

[static-analysis] RGS-018: Suspicious Payload Execution Pattern in daily-sentrux-report.lock.ymlΒ #46532

Description

@github-actions

🚨 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 Β· β—·

  • expires on Jul 25, 2026, 9:53 PM UTC-08:00

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions