fix(desktop): harden remote SSH runtime - #705
Conversation
|
@skb50bd is attempting to deploy a commit to the Crafter Station Team on Vercel. A member of the Team first needs to authorize it. |
|
@Railly, when you have a moment, could you please review this independent remote-SSH hardening slice? The macOS, Linux, and Windows checks passed, including Linux real-SSH writeback; the remaining Vercel status is authorization-only. Thank you. |
|
Reviewed the Zig. It holds up. Checked the parts that looked risky and found them sound:
Two notes. The Windows comment on
I could not run the Windows binary or the docker SSH test here, so the orphan finding rests on mechanism reproduction with POSIX stand-ins plus reading the SDK teardown path, not an end-to-end Windows run. |
|
@Railly, thanks again for the careful review. I pushed 6d37faf addressing both notes: the Windows orphan-cleanup comment now describes the health-probe mechanism accurately, and the tunnel runtime directory is hardened with chmod 700 plus regression coverage. The Zig suite passes 86/86. When you have a chance, would you mind taking another look? |
6d37faf to
1721e79
Compare
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@Railly this one got green signal from codex review. can we merge this? |
|
sorry, accidentally closed it. |
Scope
Why
Relative Windows SSH lookup could fall back to current-directory search behavior, permissive pre-existing runtime directories were not corrected, and following a managed executable symlink could overwrite an unrelated target.
Impact
Windows desktops can manage POSIX SSH targets through the installed OpenSSH client. Existing POSIX desktop and remote behavior remains compatible. Managed remote state is private and symlink replacement cannot escape its intended path.
Size
3 files changed, 182 insertions, 22 deletions.
Validation
git diff --checkzig fmt --check src/remote_ssh.zignative test .: 213/213 passedMerge readiness
crafter-station/petdex:mainat0243af6.