Skip to content

fix(sandbox): replay redaction after fixture-history contamination - #906

Closed
seonghobae wants to merge 16 commits into
mainfrom
fix/sandbox-log-redaction-clean-history-v2-20260810
Closed

fix(sandbox): replay redaction after fixture-history contamination#906
seonghobae wants to merge 16 commits into
mainfrom
fix/sandbox-log-redaction-clean-history-v2-20260810

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Replacement purpose

Supersede #888 after its reachable history was re-contaminated by a credential-shaped test fixture while repairing the current Docker/Podman login redaction defect. This branch starts from exact protected main@6eb06cdd08c79a06f7b390069d4ffa49e2eb7dba and carries only the corrected final blobs.

RCA

#888 initially existed to replace #842's contaminated test history. A later test commit on #888 introduced the fixed literal quartz-capybara-731-opaque. Replacing that line in a following commit did not repair the gate because Secret Scan correctly evaluates the whole PR commit range; run 31319880976 continued to report one generic-api-key finding in the reachable predecessor commit.

Rejected:

Implemented:

Exact identity

  • base: 6eb06cdd08c79a06f7b390069d4ffa49e2eb7dba;
  • exact initial head: 5ccf85f64c4a5689d89e64b528880262a22e6de7;
  • ten changed file blobs verified byte-for-byte against corrected fix(sandbox): replay redaction without secret-shaped history #888 head 285305291fdf602f31796f0c7ff1c2858406c08e;
  • the committed fixed credential-shaped literal is absent from all ten final blobs;
  • no force update or destructive history operation was used.

Exact-head evidence

  • exact head: d573d21752e07d3cbbf9845b4b413baf81ecea7c;
  • fail-first reproduction: three malformed public sh -c / env -S / env --split-string= wrapper cases exposed the runtime-synthesized opaque credential before the repair;
  • local repaired-head acceptance: 145 focused tests; 789 statements and 306 branches at exact 100%; 1,063 full-suite tests plus 16 subtests; all 7,400 owned-production statements and 2,964 branches at exact 100%; compile, public-docstring, and diff checks passed;
  • exact-head hosted runs Sandbox Log Redaction Quality CI 31534673352 and Strix Changed Path Quality CI 31534673441 are in progress; eight security/supply-chain runs are queued, so none is represented as passing yet;
  • review submissions: 0; review threads: 0; approvals: 0. The predecessor-head review request is stale, and automated review remains separate from qualifying independent human approval.

Current security scope

This Draft includes the direct Docker/Podman login -p, -p=, and --password= repair plus the bounded env -S / shell -c implementation tracked by #907. The latest repair fails closed when malformed outer wrapper quoting prevents safe tokenization while preserving the established non-wrapper fallback. Benign Docker publish ports, SSH -p ports, env assignments/options, and valid --password-stdin registries remain visible.

The #907 source repair is active_pr, not protected-main behavior; keep its issue open until integration and protected-main acceptance. Atomic multiline/duplicate-key JSON redaction and layout fidelity remains the stacked active_pr in #929 for #908. Keep this PR Draft until exact-head gates and current review pass and the #908 dependency is integrated or an explicitly reviewed narrower acceptance boundary is adopted. Output-memory and service-file quotas remain separate work in #766.

Acceptance

Require exact-head Sandbox Log Redaction Quality CI, Secret Scan, all security/dependency checks, current source review, zero valid unresolved findings, a qualifying independent non-author formal approval, and repository protection. After protected integration, run synthetic protected-main acceptance for completed stdout/stderr, timeout evidence, and bounded service tails before closing the incident.

@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 57cb402e-bb09-46f8-a75a-2e9b46a7c0fc

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copy link
Copy Markdown
Contributor Author

@opencode-agent review

Perform a fresh read-only semantic review of exact current head 18a6d125fead8cb95972fe3e1a97e4cc4163e9d2 against independently resolved live protected base 6eb06cdd08c79a06f7b390069d4ffa49e2eb7dba. All ten exact-head quality/security/supply-chain workflows are terminal-success, GitHub reports the Draft mergeable, and no formal review or unresolved thread exists. This is the dependency base for stacked PR #929; preserve Draft and keep automated judgment separate from independent human approval and merge authority.

Copy link
Copy Markdown
Contributor Author

@opencode-agent review

Perform a fresh read-only semantic review of exact current head d573d21752e07d3cbbf9845b4b413baf81ecea7c against independently resolved live protected base 6eb06cdd08c79a06f7b390069d4ffa49e2eb7dba. The predecessor-head request is stale. Review the malformed-wrapper fail-closed repair and its three fail-first cases; local exact-head evidence is 145 focused passes with 789/789 statements and 306/306 branches, followed by 1,063 full-suite passes plus 16 subtests and 7,400/7,400 owned-production statements with 2,964/2,964 branches. Hosted exact-head checks are still non-terminal and must remain a separate evidence channel. Preserve Draft; automated judgment is not independent human approval or merge authority.

Copy link
Copy Markdown
Contributor Author

Superseded by current-main successor #929 at exact head 0b8b2a286094d6e52a9160faee678c5b75f1711e. The successor contains this PR's exact head d573d21752e07d3cbbf9845b4b413baf81ecea7c as an ancestor (7 commits ahead, 0 behind), adds the #908 atomic JSON boundary, is cleanly mergeable against main@6eb06cdd08c79a06f7b390069d4ffa49e2eb7dba, and has terminal-success exact-head hosted quality/security workflows. This closure removes the duplicate merge path while preserving #906 as lineage evidence; #929's pending CodeRabbit status and missing qualifying independent human approval remain separate merge blockers.

@seonghobae seonghobae closed this Aug 12, 2026
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