Skip to content

fix(agt): withhold Claude Code stderr with stdout at the result gate - #521

Open
aaronormerod wants to merge 1 commit into
GenAI-Security-Project:integrationfrom
aaronormerod:fix/claude-code-result-gate
Open

aaronormerod wants to merge 1 commit into
GenAI-Security-Project:integrationfrom
aaronormerod:fix/claude-code-result-gate

Conversation

@aaronormerod

Copy link
Copy Markdown
Collaborator

What changed

Adds outputs.companions to the hookmap. A result-gate deny now withholds Bash stderr with stdout.

Which issue does this implement

Part of #375. A redaction still leaves stderr as produced. Evaluating stderr through the policy is the follow-up.

Base branch

  • integration, because this touches the specification, schemas, a reference
    implementation, an adapter, tests, or CI
  • main, because every changed path is on the documentation lane allowlist in
    CONTRIBUTING.md

Type of change

  • Specification change (schema, hooks, events, AgBOM)
  • Reference implementation or adapter
  • Documentation
  • Tooling or CI
  • Governance (licensing, security policy, contributor docs)

I tested this

  • I synced my branch with the base branch before opening this
  • uv run pytest -v passes on my machine
  • uv run mkdocs build --strict passes on my machine

bun test in reference-implementations/agt also passes: 1316 pass, 4 skip. 33 new tests, mutation-checked. Not run in a live Claude Code session.

Checklist

  • Commits are signed off with git commit -s (required by the DCO)
  • Prose follows STYLE.md
  • No secrets, tokens, or internal URLs in the diff

Security

This closes a leak where a deny delivered stderr in clear.

A deny replaced stdout and delivered stderr. Add `outputs.companions` to
the hookmap: text fields that are not copies of the leaf. A withholding
replaces them, a redaction leaves them. PostToolUse declares stderr.

Part of GenAI-Security-Project#375

Signed-off-by: aaronormerod <137795541+aaronormerod@users.noreply.github.com>
@github-actions

github-actions Bot commented Nov 8, 2026

Copy link
Copy Markdown

Thanks for this. It is queued rather than ignored. A lead has not reviewed this pull request yet. A lead will read it when they have time, and we can't promise a date. Nothing here is rejected. If a check below fails, please fix it. A pull request that waits a long time may be closed, and you can reopen it later.

@acs-board-reconciler acs-board-reconciler Bot moved this from Needs triage to In progress in ACS Project Tracker Nov 9, 2026

This branch has not been deployed

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

Labels

status:needs-triage Not yet triaged. Applied by the issue forms

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

1 participant