audit follow-up: fix 39 open HIGH/MEDIUM findings (security, correctness, tests) - #8
Open
hmziqagent wants to merge 15 commits into
Open
audit follow-up: fix 39 open HIGH/MEDIUM findings (security, correctness, tests)#8hmziqagent wants to merge 15 commits into
hmziqagent wants to merge 15 commits into
Conversation
…), update downstream service tests
…nner, dedupe host resolve, shell-quote remote values
… close key temp-file symlink race (O_EXCL)
…-render, backup selection, doctor routing)
…e to spawn_blocking
…g_set_toml_edit tests
…wire redact_args into logs + tests
…tch macos user shells, test-only App ctor, test collect_authorized_keys_preview
…alidate byte->chars and net-None hitbox
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements all 39 open HIGH/MEDIUM findings from
docs/AUDIT-2026-06-30.mdthat remained after the prior "deep-audit HIGH/MEDIUM" commits. Partitioned into 15 atomic per-crate commits (each self-contained, its own crate green). Thetoride-service--hardening is bundled with its downstream test ripples (wireguard/monitor/tailscale) so it reverts cleanly.Security
systemctlnow gets a--separator + unit-name validation (flag-injection guard)AuthorizedPrincipalsFilevalue before interpolation (injection); timeoutssh-keyscanremove_from_configtemp file usesO_EXCL(symlink-race)domainin cert-manager paths (traversal guard)write_pam_configgenuinely atomic (temp+rename)TotpSecretzeroizeof key secretredact_argsinto log emission + forwardredact_logsCorrectness
!content.matches("COMMIT").count() >= 2operator-precedence bug (NAT guard)enable()honors exit code, not just non-empty stderrerror_countwhen "no errors were found" appearsMinLength/MaxLengthcount chars, not bytesTest coverage (gaps closed)
SSH sub-tab CRUD ops across all 8 tabs,
gauge_hitboxes+width helpers, sidebar render, toride-audit (auditd_config/backup/config/doctor), installerTooLargesize-cap, miseconfig_set_toml_edit, AST round-trip proptest, serialized env-mutating config tests,collect_authorized_keys_preview, status-collector predicate, test-onlyAppctor.Refactor / perf / async
From<toride_runner::Error>(was duplicated per provider)&dyn CliRunner; resolve host config once perrun_allexecute_oplogging; batch macOSdscluser-shell query (O(N)→O(1)); offload installer verify/extract/write tospawn_blocking; timeoutssh_write_taskon quitVerification
cargo build --workspace✅cargo clippy --workspace --all-targets -- -D warnings✅ cleancargo test --workspace✅ 5936 passedtoride-runner::stdin_to_exiting_command_succeeds, is not touched by this PR (toride-runner is unmodified) and passes in isolation; it intermittently fails under workspace-wide parallel load regardless of this change.Notes
docs/AUDIT-2026-06-30.mdis intentionally excluded (separate decision on whether to commit the audit report).