Skip to content

fix: scrub automation output surfaces#66

Open
andrei-hasna wants to merge 1 commit into
mainfrom
iproj-security-leaks/T10-automation-output
Open

fix: scrub automation output surfaces#66
andrei-hasna wants to merge 1 commit into
mainfrom
iproj-security-leaks/T10-automation-output

Conversation

@andrei-hasna

Copy link
Copy Markdown
Contributor

Summary

  • Scrub OpenLoops automation stdout/stderr/error and workflow event payloads before persistence and before public rendering.
  • Add loops hygiene output-quarantine for historical output/event payload quarantine with dry-run default, forced backup on apply, and keyset pagination.
  • Update MCP showOutput descriptions from raw to scrubbed output and add canary coverage for historical render, active workflow events, forced backup, and limited-batch scans.

Validation

  • bun test src/lib/format.test.ts --timeout 30000
  • bun test src/lib/store.test.ts --timeout 30000
  • bun test src/lib/backup.test.ts --timeout 30000
  • bun test src/cli/index.test.ts -t "hygiene output-quarantine" --timeout 30000
  • bun test src/api/index.test.ts --timeout 30000
  • bun test src/mcp/index.test.ts --timeout 30000
  • LOOPS_UPDATE_GOLDEN=1 bun test src/mcp/golden-schema.test.ts --timeout 30000
  • bun test src/cli/index.test.ts --timeout 60000
  • bun run build
  • git diff --check
  • gitleaks protect --staged --redact --verbose
  • gitleaks detect --redact --source . --log-opts HEAD~1..HEAD --verbose

Adversarial review

  • Fixed pagination review finding by keyset-paginating quarantine scans and adding limit: 1 coverage.
  • Fixed backup review finding by forcing a fresh backup for quarantine apply and adding repeated-apply coverage.
  • Fixed active-event review finding by scanning all workflow event payload rows, including active workflow runs.
  • Fixed render-path review finding by scrubbing all public structured payload string leaves before event/invocation/goal rendering.
  • Final focused review reported no blockers for the public payload render fix.

Follow-ups

  • Remaining owner surfaces are tracked as child tasks from T10: Codewith native/log watcher stores, dispatch/todos watcher surfaces, hooks env allowlist, and cross-package shared redaction contract rollout.

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