Repository navigation
fix(cloud-agent-next): redact secrets by key name in setup output - #7237
Conversation
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Full re-review against HEAD
Files Reviewed (23 files)
Previous Review Summaries (4 snapshots, latest commit 30d3634)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit 30d3634)Status: No Issues Found | Recommendation: Merge This incremental commit resolves both prior findings: Files Reviewed (5 files)
Previous review (commit 03baf4d)Status: 2 Issues Found | Recommendation: Address before merge Executive SummaryThe refactor that threads named secret keys into the output redactor is sound and all call sites were updated, but the new Overview
Issue Details (click to expand)WARNING
SUGGESTION
Files Reviewed (21 files)
Note: the incremental base commit Fix these issues in Kilo Cloud Previous review (commit b8fe8ea)Status: 2 Issues Found | Recommendation: Address before merge Executive SummaryThis incremental commit only sanitizes test fixtures ( Overview
Issue Details (click to expand)WARNING
SUGGESTION
Files Reviewed (4 files + 2 re-checked)
Fix these issues in Kilo Cloud Previous review (commit 2d0f3b9)Status: 2 Issues Found | Recommendation: Address before merge Executive SummaryThe named-secret redaction wiring is sound, but the new lookup in Overview
Issue Details (click to expand)WARNING
SUGGESTION
Files Reviewed (21 files)
Verified clean
Reviewed by deepseek-v4.1-flash · Input: 109.6K · Output: 26.2K · Cached: 1.7M Review guidance: REVIEW.md from base branch |
b8fe8ea to
03baf4d
Compare
- Redact setup output secrets identified by key name. - Harden named-secret redaction and its boundaries.
30d3634 to
b29a062
Compare
Summary
Setup commands and the automatic git diagnostics could print a decrypted profile secret in clear when its name did not match the
SECRET_NAMEheuristic, for exampleDATABASE_URL. The wrapper now also redacts the value of every secret it is told about by key name.getSaferEnvVarsreturns the names of the secrets it decrypted (excluding a key a later credential step overwrote). The bootstrap carries them asmaterialized.secretEnvKeys, and the wrapper redacts them in setup output and auto-commit diagnostics.session.preparemay carry frame-onlysecretEnvKeys, validated in the shared protocol and rejected in a prepare input so it can never reach a route row. The wrapper advertises optionalredactsNamedSecretsinhello. A frame without the field stays valid for a version-3 wrapper. Nothing sends the field yet; the follow-up PR delivers profile secrets to control-plane sessions and uses this.Agent output and terminals are not redacted.
Verification
redact-output,prepare,turn,session-bootstrap,auto-commit,connection) andsession-servicetests for the legacy plane;pnpm --filter cloud-agent-nexttypecheck, lint,test(5929 passed) andtest:wrapper(968 passed) are green.Visual Changes
N/A
Reviewer Notes
First of two stacked PRs; the second (
eshurakov/deliver-profile-secrets) depends on the protocol fields added here.