Skip to content

fix(security): harden triage command dispatch - #6112

Draft
bokelley wants to merge 1 commit into
mainfrom
security-wave-9-triage-command-boundary
Draft

fix(security): harden triage command dispatch#6112
bokelley wants to merge 1 commit into
mainfrom
security-wave-9-triage-command-boundary

Conversation

@bokelley

Copy link
Copy Markdown
Contributor

Summary

  • replace shell interpolation of /triage dispatch payloads with a fail-closed Node parser that reads GITHUB_EVENT_PATH
  • validate event/action shape, positive IDs, actors, command, and the documented empty/execute/clarify/defer modifiers before publishing any step output
  • prevent forged dispatch payloads from redirecting the reaction PAT to another repository
  • add exact-parser regression coverage for shell substitution, metacharacters, output injection, flags, Unicode confusables, invalid actors, and valid GitHub event variants

Security finding addressed

  • codex-security/triage-slash-args-shell-injection — slash-command arguments were compiled directly into Bash in a secret-bearing workflow

Validation

  • focused adversarial tests: 46/46 passed
  • actionlint / embedded ShellCheck: passed
  • server TypeScript no-emit check: passed
  • git diff --check, protocol-scope, package/lock, and dist guards: passed
  • independent security and testing expert reviews: CLEAN

Workflow permissions remain read-only. No package metadata, generated artifacts, documentation, or changesets are modified.

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