fix(cron): redact command output in delivery#95809
Conversation
|
Behavioral proof for the cron delivery hardening: What was verified:
Local behavioral proof run on this branch: The new announce regression proves a message containing a fake device-login prompt and fake API key is delivered as: The new webhook regression proves the posted webhook payload redacts both the fake device code and fake key, and also proves the stored cron diagnostic summary still contains the original fake device code for run-history inspection. Additional validation: CI state checked on the PR:
No config, protocol, public API, or changelog changes were made. |
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
Codex review: needs real behavior proof before merge. Reviewed June 23, 2026, 10:25 AM ET / 14:25 UTC. Summary PR surface: Source +38, Tests +84. Total +122 across 5 files. Reproducibility: yes. by source inspection: command stdout/stderr becomes Review metrics: 1 noteworthy metric.
Stored data model Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Next step before merge
Security Review findings
Review detailsBest possible solution: Keep the delivery-boundary redaction approach, but narrow or explicitly accept the generic device-URL masking and require a real cron delivery proof before merge. Do we have a high-confidence way to reproduce the issue? Yes by source inspection: command stdout/stderr becomes Is this the best way to solve the issue? Mostly yes: redacting at the outbound delivery boundary preserves stored diagnostics while preventing cron egress leaks. The Full review comments:
Overall correctness: patch is correct AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 273eed4c51cb. Label changesLabel justifications:
Evidence reviewedPR surface: Source +38, Tests +84. Total +122 across 5 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
Summary
Redacts sensitive and action-required command output before cron sends non-interactive announce or webhook delivery messages.
Changes
Validation
node scripts/run-vitest.mjs src/cron/delivery.failure-notify.test.ts src/gateway/server-cron.test.ts src/cron/command-runner.test.ts src/cron/run-diagnostics.test.tscorepack pnpm exec oxfmt --check --threads=1 src/cron/delivery-redaction.ts src/cron/delivery.failure-notify.test.ts src/cron/delivery.ts src/gateway/server-cron-notifications.ts src/gateway/server-cron.test.tsgit diff --check.agents/skills/autoreview/scripts/autoreview --mode localNotes
corepack pnpm tsgo:corewas attempted but is blocked by an unrelated existing unused variable insrc/config/sessions/session-accessor.ts:1545.corepack pnpm format:checkwas attempted but is blocked by unrelated pre-existing formatting issues; scoped formatting for touched files passes.