Releases: Vigilant-LLC/runner-guard
Releases · Vigilant-LLC/runner-guard
v2.6.0
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-guardwith 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.yamltorules/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
v2.5.2
v2.5.1
v2.5.0
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.