Skip to content

[compiler-threat-spec] spec: bump compiler-threat-detection-spec to v1.0.14 (CTR-020) - #42169

Merged
pelikhan merged 1 commit into
mainfrom
daily-threat-spec-optimizer/2026-06-29-d5c86b85670ae3d3
Jun 29, 2026
Merged

[compiler-threat-spec] spec: bump compiler-threat-detection-spec to v1.0.14 (CTR-020)#42169
pelikhan merged 1 commit into
mainfrom
daily-threat-spec-optimizer/2026-06-29-d5c86b85670ae3d3

Conversation

@github-actions

@github-actionsgithub-actionsBot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Bumps the compiler threat detection specification from v1.0.13 to v1.0.14, adding CTR-020 Conditional Import Security as a new mandatory detection rule.

Changes

New rule — CTR-020 Conditional Import Security (Section 5.1)

  • Rejects imports: entries that contain an if field at compile time.
  • Rationale: conditional imports make security-sensitive import decisions dependent on runtime conditions, which can alter workflow setup and security posture.
  • Authors are directed to use {{#if ...}}{{#runtime-import? ...}}{{/if}} for experiment-specific prompt imports.
  • Implemented in pkg/parser/import_bfs.go (parseImportSpecsFromArray).
  • Tested in pkg/parser/import_bfs_test.go (TestParseImportSpecsFromArray_RejectsIfField).

New test — T-CTR-020 (Section 8.1)

  • Input: workflow imports: list with an object entry containing an if field.
  • Expected output: compilation failure with error import 'if' is no longer supported.

CTR-010 mapping extended (Section 7.1)

  • pkg/workflow/runtime_import_validation.go (validateRuntimeImportFiles) added to CTR-010 Expression Safety Allowlist mapping.

Spec-to-implementation sync table updated (Section 2)

  • New 1.0.14 row: minimum gh-aw binary v0.72.1 (or newer).

Mapping audit updated (Section 7.2)

Files Changed

FileChange
specs/compiler-threat-detection-spec.mdVersion bump 1.0.13 to 1.0.14; CTR-020 rule, test, mapping, audit, and changelog entries added

Compatibility

Minimum gh-aw binary version remains v0.72.1 (or newer). No lock-file format changes; the new imports.if rejection is a compiler parse-time error.

References:

Generated by PR Description Updater for #42169 · 42.2 AIC · ⌖ 9.45 AIC · ⊞ 4.7K ·

Add CTR-020 Conditional Import Security covering the compiler-level
rejection of imports.if fields (pkg/parser/import_bfs.go). Conditional
imports were removed because they can alter workflow setup and security
posture at runtime.
Also:
- Extend CTR-010 mapping with runtime_import_validation.go
(validateRuntimeImportFiles enforces expression allowlist in
{{#runtime-import}} macro targets)
- Update Section 7.2 mapping audit to 2026-06-29 covering PR #42146
- Add spec-to-implementation sync table row for v1.0.14
Reviewed threats:
- CTR-020 (new): imports.if rejection — uncovered → implemented in
pkg/parser/import_bfs.go, test: TestParseImportSpecsFromArray_RejectsIfField
- Sandbox validation consolidation (sandbox_validation.go) → strengthens
CTR-004; already covered by mapping pattern pkg/workflow/sandbox_validation*.go
- Runtime import expression validation (runtime_import_validation.go) →
extends CTR-010 coverage
- network-isolation → sudo rename → refactoring only, no new CTR rule
- mcpg/firewall dependency bumps → runtime-only, outside compiler scope
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@pelikhan
pelikhan merged commit 0c3d1c9 into mainJun 29, 2026
@pelikhan
pelikhan deleted the daily-threat-spec-optimizer/2026-06-29-d5c86b85670ae3d3 branch June 29, 2026 05:32
@github-actions

Copy link
Copy Markdown
ContributorAuthor

🎉 This pull request is included in a new release.

Release: v0.82.0

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@pelikhan