fix(release): reject credential-bearing SSH remotes - #2294
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
|
✅ Deterministic PR hygiene checks passed. |
리뷰 · 우선순위 61 / 80지금 핵심이 PR 쪽 테스트가 그 바운더리를 봄.
남은 구멍.
해결방안: 이 패치로 가라. 머지 전에 이 댓글은 grok-bot이 작성했습니다 |
|
Verified the Grok/owner findings against the exact patch and updated this Draft PR at The current head now closes the remaining target-log bypasses:
Validation on the rebased exact head:
The required full I intentionally did not fold key-file readability preflight into this credential-log boundary patch; that remains separate operational hardening. This PR stays Draft and requires independent release/security review before merge. |
86ed0a4 to
71598fa
Compare
Summary
ssh://and scp-like release remotes before they can reach logs orgit pushGIT_SSH_COMMANDthrough real Git and a fake SSH process so hostile key paths remain one literal-iargumentThis is a security hardening follow-up to #2290. It preserves the existing deploy-key release flow and changes only validation and regression coverage.
Validation
bun test tests/release-helper.test.ts: 23 passedbun run typecheck: passedbun run privacy:scan: passedbun run prepush: 14,154 passed / 16 skipped / 0 failedgit diff --check: passedReview boundary
This touches
scripts/release.tsand credential-bearing release automation, so it intentionally remains Draft and requires explicit owner/security review. No release or publish command was run.The change is TypeScript release tooling only and has no Go-native counterpart.