This release includes 4 security fixes for security teams reviewing exposed deployments.
Topics
+13 more
Affected surfaces
ReleasePort's take
Light signalv0.16.0 adds SARIF 2.1.0 output for GitHub Code Scanning integration, remote GitHub Actions scanning, and detections for OIDC npm publish worms and cache poisoning.
Why it matters: Test in dev if you use GitHub Actions for npm publishing or caching. OIDC npm worm and cache poisoning detections block supply chain attacks; HTTP 30s timeout hardens remote scanning.
Summary
AI summaryAdded SARIF output support to the GitHub Actions Scanner.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | Medium |
Stripped ANSI escape sequences from Evidence output to prevent terminal injection. Stripped ANSI escape sequences from Evidence output to prevent terminal injection. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Security | Medium |
Added HTTP client timeout (30s) for remote scans to prevent slowloris hangs. Added HTTP client timeout (30s) for remote scans to prevent slowloris hangs. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Security | Medium |
Implemented GitHub owner/repo input validation to prevent URL manipulation. Implemented GitHub owner/repo input validation to prevent URL manipulation. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
GitHub Actions Scanner introduces WorkflowCheck pipeline with extensible pattern. GitHub Actions Scanner introduces WorkflowCheck pipeline with extensible pattern. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
GitHub Actions Scanner enables remote scanning via `aegis actions scan --repo owner/repo` using GitHub Contents API. GitHub Actions Scanner enables remote scanning via `aegis actions scan --repo owner/repo` using GitHub Contents API. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
GitHub Actions Scanner outputs SARIF 2.1.0 with `--sarif` flag, compatible with GitHub Code Scanning upload-sarif action. GitHub Actions Scanner outputs SARIF 2.1.0 with `--sarif` flag, compatible with GitHub Code Scanning upload-sarif action. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
New detections: OIDC + npm publish worm vector (Mini Shai-Hulud), actions/cache poisoning in pull_request_target. New detections: OIDC + npm publish worm vector (Mini Shai-Hulud), actions/cache poisoning in pull_request_target. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Ecosystem parser pipeline refactored to two-stage process (EcosystemParser → NormalizedPackage → []Check). Ecosystem parser pipeline refactored to two-stage process (EcosystemParser → NormalizedPackage → []Check). Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Added 9 new ecosystem parsers: Go, Maven, Composer, NuGet, Gleam. Added 9 new ecosystem parsers: Go, Maven, Composer, NuGet, Gleam. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
GitHub Actions Scanner adds allowlist `.aegis-actions-allowlist.yaml` to suppress findings per-file or globally. GitHub Actions Scanner adds allowlist `.aegis-actions-allowlist.yaml` to suppress findings per-file or globally. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Low |
New detections: CapVCSDependency for VCS URL dependencies across multiple ecosystems. New detections: CapVCSDependency for VCS URL dependencies across multiple ecosystems. Source: granite4.1:30b@2026-05-23-audit Confidence: low |
— |
| Feature | Low |
New detection `FindingCachePoisoning` finds `actions/cache` poisoning in `pull_request_target`. New detection `FindingCachePoisoning` finds `actions/cache` poisoning in `pull_request_target`. Source: granite4.1:30b@2026-05-23-audit Confidence: low |
— |
| Refactor | Medium |
Moved `domain.PackageSource` from `usecase` to `domain`; kept backward-compatible type alias in `usecase`. Moved `domain.PackageSource` from `usecase` to `domain`; kept backward-compatible type alias in `usecase`. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Refactor | Low |
Pass `context.Context` as function parameter instead of storing in struct. Pass `context.Context` as function parameter instead of storing in struct. Source: granite4.1:30b@2026-05-23-audit Confidence: low |
— |
Full changelog
What's New
Ecosystem Parser Pipeline
Refactored heuristics to a two-stage pipeline (EcosystemParser → NormalizedPackage → []Check). Adding a new ecosystem now requires only one new parser file — no check files change.
New parsers (9 ecosystems now covered):
- Go —
go.modreplace directives - Maven —
exec-maven-pluginhooks,<systemPath>local deps - Composer —
repositories[type=vcs], install scripts - NuGet — custom feeds,
<HintPath>local refs - Gleam —
gleam.tomlgit deps
GitHub Actions Scanner
- WorkflowCheck pipeline — same extensible pattern as package heuristics
- Remote scanning —
aegis actions scan --repo owner/repovia GitHub Contents API - Allowlist —
.aegis-actions-allowlist.yamlto suppress findings per-file or globally - SARIF 2.1.0 output —
--sarifflag; compatible with GitHub Code Scanning upload-sarif action - New detections: OIDC + npm publish worm vector (Mini Shai-Hulud),
actions/cachepoisoning inpull_request_target
New Detections
CapVCSDependency— VCS URL dependencies across PyPI, Cargo, RubyGems, Go, Composer, GleamFindingOIDCNpmPublish—id-token:write+ npm publish (Mini Shai-Hulud 2026-05-11 worm vector)FindingCachePoisoning—actions/cacheinsidepull_request_target
Clean Architecture
domain.PackageSourcemoved fromusecasetodomain; type alias inusecasefor backward compatibility
Security Fixes
- HTTP client timeout (30s) for remote scans — prevents slowloris hangs
- GitHub owner/repo input validation — prevents URL manipulation
- ANSI escape stripping from Evidence output — prevents terminal injection
context.Contextpassed as function parameter, not stored in struct
Security Fixes
- HTTP client timeout set to 30 seconds for remote scans — prevents slowloris hangs
- GitHub owner/repo input validation — prevents URL manipulation
- ANSI escape stripping from Evidence output — prevents terminal injection
- `context.Context` passed as function parameter, not stored in struct
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About qwexvf/aegis-cli
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]