Skip to content

Releases: Vigilant-LLC/runner-guard

v2.6.0

03 Apr 12:05

Choose a tag to compare

What's new in v2.6.0

Active campaign IOC detection:

  • 31 threat signatures across 5 campaigns (up from 11), organized in rules/signatures/ directory
  • TeamPCP campaign: C2 domains (scan.aquasecurtiy.org, checkmarx.zone, models.litellm.cloud), process memory harvesting, archive exfiltration, tag force-push patterns
  • UNC1069/Axios campaign: sfrclak[.]com C2 domain, plain-crypto-js malicious package, postinstall RAT chain, temp-exec-delete pattern
  • Telnyx campaign: WAV steganography payload extraction, Startup folder persistence, AES-256-CBC/RSA-4096 exfiltration
  • General supply chain: environment variable harvesting, curl exfiltration to new domains
  • New IOC types: ioc-domain (C2 domains with defanged notation support) and ioc-package (malicious package names)

Runner Guard Score:

  • CI/CD security score (0-100) with letter grade displayed after every scan
  • Category breakdown: Pinning, Permissions, Injection, Triggers, IOCs
  • Works on both local and remote scans

Interactive CLI menu:

  • Run runner-guard with no arguments for a guided experience
  • Sub-menus for scan (local vs remote with path confirmation) and fix
  • Coming-soon placeholders for upcoming features (batch scanning, dependency checking, upstream audit)
  • Power users unaffected: all flag-based CLI usage works unchanged

Signature directory restructure:

  • Signatures moved from single signatures.yaml to rules/signatures/ directory
  • One file per campaign/threat actor for easy browsing and contribution
  • Backward compatible: falls back to single file if directory not present

v1

03 Mar 20:07

Choose a tag to compare

v1

Changelog

  • 48047df Pin all GitHub Actions to immutable commit SHAs
  • ef3e87b Pin goreleaser-action to commit SHA

v2.5.2

30 Mar 19:49

Choose a tag to compare

What's new

  • Heredoc quoting fix: The engine no longer wraps env var references in quotes when they are part of a compound value (e.g. ${VAR}/path). Previously this created invalid YAML in heredoc contexts like docker-compose files.

v2.5.1

30 Mar 03:21

Choose a tag to compare

What's new

  • Docker container skip: The engine no longer attempts to pin or flag docker:// container references, which use content-addressed digests (sha256) and are already immutable.

v2.5.0

29 Mar 03:56

Choose a tag to compare

What's new

  • Single-quoted expression extraction: The engine now extracts ${{ }} expressions from inside single-quoted strings in run blocks. GitHub Actions expands these before the shell runs, so single quotes do not protect against injection. Uses bash string concatenation to safely break out of the single-quoted context.

v2.4.9

28 Mar 23:03

Choose a tag to compare

What's new

  • Parser fix: Handle standalone carriage return characters and YAML control characters that appear in workflow files with Windows paths or mixed line endings. Previously these caused parse failures on large complex workflow files.

v2.4.8

28 Mar 21:27

Choose a tag to compare

What's new

  • RGS-019: New advisory rule flags step output expressions interpolated in run blocks for manual review
  • Parser fix: YAML block scalar parsing handles under-indented lines (literal newlines, heredocs)

v2.4.6

28 Mar 18:19

Choose a tag to compare

Changelog

  • 93c4555 Skip expression extraction inside bash brace expansion

v2.4.5

28 Mar 18:03

Choose a tag to compare

Changelog

  • 6b098db Add shell-aware env var syntax in expression extraction

v2.4.4

28 Mar 16:54

Choose a tag to compare

Changelog

  • 2f580e2 Add shell injection protection: quote env var references in run blocks