Rule: RGS-012 — Secret Exfiltration via Outbound HTTP Request
Severity: High
File: .github/workflows/visual-regression-checker.md
Lines: 387, 712
Description
Runner-Guard (RGS-012) detected two instances where run: blocks in the visual-regression-checker workflow contain outbound HTTP request commands (curl/wget/httpie/etc.) targeting a non-GitHub domain, in a job context that has access to secrets or publishing capabilities.
This is a new finding first appearing in the 2026-04-26 scan (not detected in previous scans).
Impact
When a run: block makes an outbound HTTP request to an external domain while the job has access to secrets, this creates a potential credential exfiltration path:
- Attackers achieving code execution in a CI runner (via expression injection, fork checkout, compromised action, etc.) can exfiltrate secrets to infrastructure they control via HTTP POST
- The most common supply-chain attack method is an HTTP POST to an attacker-owned domain carrying environment variables, secret values, or tokens as the request body
- Even without active exploitation, the pattern means any future expression injection vulnerability in the same workflow gains an exfiltration channel
Remediation
- Audit the outbound HTTP calls: Identify what domains are being called at lines 387 and 712 in the compiled workflow (
visual-regression-checker.lock.yml) and verify they are expected and safe
- Restrict secrets scope: Ensure the job or step making the HTTP request does not have access to secrets it doesn't need
- Apply least privilege: If the HTTP call is to a local/test server (e.g. localhost), verify the URL cannot be influenced by external user input
- Add firewall rules: Consider using the workflow firewall to allowlist outbound HTTP destinations
Detected by runner-guard v2.6.0 — CI/CD source-to-sink vulnerability scanner
Workflow run: https://github.com/github/gh-aw/actions/runs/24965334725
Generated by Static Analysis Report · ● 374.4K · ◷
Rule: RGS-012 — Secret Exfiltration via Outbound HTTP Request
Severity: High
File:
.github/workflows/visual-regression-checker.mdLines: 387, 712
Description
Runner-Guard (RGS-012) detected two instances where
run:blocks in thevisual-regression-checkerworkflow contain outbound HTTP request commands (curl/wget/httpie/etc.) targeting a non-GitHub domain, in a job context that has access to secrets or publishing capabilities.This is a new finding first appearing in the 2026-04-26 scan (not detected in previous scans).
Impact
When a
run:block makes an outbound HTTP request to an external domain while the job has access to secrets, this creates a potential credential exfiltration path:Remediation
visual-regression-checker.lock.yml) and verify they are expected and safeDetected by runner-guard v2.6.0 — CI/CD source-to-sink vulnerability scanner
Workflow run: https://github.com/github/gh-aw/actions/runs/24965334725