Repository navigation
feat(ssh): support explicit operator-trusted configuration files - #330
Conversation
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. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9e0a1c9490
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Current-main integration and test-maintenance follow-upNormal sequential-merge authorization is in effect; no admin/protection bypass is used. #329 merged as Both the first post-merge main CI 39902038002 and this PR's first integrated CI 39902108480 failed two macOS/Python 3.13 watch positive controls. Successful first snapshots were followed by Commit
No runtime source, deadline, production assertion, security check or expected refusal is weakened. Focused Python 3.9 and 3.13 watch suites pass (35 each); combined watch/CLI/status tests pass (62). Generator/diff checks pass. New exact-head CI is still required before merge; failed historical runs are retained. Independent noninteractive CLI review: Claude Code 2.1.308 / confirmed |
Summary
Operators cannot currently select a separately reviewed SSH configuration when the default configuration is unsuitable. Add
--ssh-config ABS_PATH --trust-ssh-configfor explicitlist,send,doctor, andupdate --hostinvocations, without changing default profiles or relaxing the--ssh-optallowlist.The paired flags explicitly authorize local configuration commands, including
Match execduringssh -Gand dry-run. One invocation-local selection is checked before advisory work or message input and revalidated before every forward SSH subprocess: user/identity metadata, ordinary and bounded handoff dispatch, version probes and remote update verification. Reverse doctor checks retain their own machine's configuration. No selected path is forwarded to a remote command, reply URI or public JSON diagnostic.Refs #312. No release, installation, credentials, known-hosts enrollment or operational configuration changes are included.
Validation
ssh -Gparse of an owned temporary configuration without a connection, hooks or credentials. Mac acceptance fixtures on the external volume normalize only stated fixture metadata; separate native descriptor coverage verifies that an ignore-ownership volume is refused.21553ccfaf759ef522580b775944decb716cddb2. The automatic cleanup finding was reproduced, fixed and its thread resolved; the added regression verifies directory closure after a file-close failure. CodeQL passes without alert dismissals or rule suppression.Limits
No authenticated live SSH destination or the original restricted namespace was tested. Transitive Includes and configuration commands remain operator-trusted; ownership checks are not human authorization or a sandbox. Detected changes fail closed, but same-user path reopening races are not eliminated. Existing independent settings and installed runtimes remain untouched.