Skip to content

Harden manifest validation and action input handling - #2

Merged
snapsynapse merged 1 commit into
mainfrom
codex/mitigate-review-findings
Jul 10, 2026
Merged

Harden manifest validation and action input handling#2
snapsynapse merged 1 commit into
mainfrom
codex/mitigate-review-findings

Conversation

@snapsynapse

Copy link
Copy Markdown
Owner

Summary

  • Harden the composite GitHub Action against bundle-path shell injection.
  • Make manifest hash validation fail closed, with explicit hash: null opt-outs and update-mode repair.
  • Add CI regression scripts and expand coverage from 46 to 50 eval scenarios.
  • Prepare the canonical bundle and release surfaces for version 5.0.0.

Root cause

The action interpolated caller-controlled input directly into Bash source. The validator also conflated missing or malformed hashes with intentionally unhashed entries, allowing an invalid manifest to report success.

Impact

Validation now rejects missing, malformed, and duplicate hash fields. Git-backed bundles must use explicit hash: null for intentional opt-outs. This is a breaking manifest-contract change and is therefore versioned as 5.0.0.

Validation

  • Canonical bundle hash verification
  • Validator hash-state regression suite
  • Action input transport and adversarial-path regression
  • Strict and ClawHub package builds
  • Release-surface and .skill freshness checks
  • Bash syntax and JSON validation
  • Strict-platform skill validation

Follow-up

Path traversal, symlink handling, duplicate path entries, and the supported YAML-subset grammar remain policy questions. They are captured in a local ignored handoff and intentionally excluded from this PR.

@snapsynapse
snapsynapse marked this pull request as ready for review July 10, 2026 22:56
@snapsynapse
snapsynapse merged commit 90926de into main Jul 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant