[GEMINI-HARDEN-02] Enforce verified SSH trust and safe remote execution in scripts/ #434

Open
opened 2026-04-09 14:32:36 +00:00 by Timmy · 0 comments
Owner

Parent epic: #432

Why
The merged suite currently disables host verification and blurs command boundaries:

  • scripts/agent_dispatch.py, scripts/fleet_llama.py, scripts/self_healing.py, scripts/telemetry.py, and scripts/provision_wizard.py use StrictHostKeyChecking=no.
  • scripts/agent_dispatch.py interpolates task text into a remote command string.
  • scripts/fleet_llama.py and scripts/telemetry.py use bash -c for local execution paths.

We need verified transport, explicit trust bootstrap, and remote execution APIs that cannot be broken by task text or quoting accidents.

Acceptance criteria

  • Remove StrictHostKeyChecking=no from the Gemini suite.
  • Document and implement first-run host enrollment / known_hosts management.
  • Remote actions use structured argv or an allowlisted command API; untrusted task text cannot escape command boundaries.
  • Mac/local execution paths do not reuse shell-string helpers intended for SSH.
  • Host-key mismatch fails closed.
  • Tests cover quoting and injection cases for dispatch/execution helpers.

Related

Parent epic: #432 Why The merged suite currently disables host verification and blurs command boundaries: - `scripts/agent_dispatch.py`, `scripts/fleet_llama.py`, `scripts/self_healing.py`, `scripts/telemetry.py`, and `scripts/provision_wizard.py` use `StrictHostKeyChecking=no`. - `scripts/agent_dispatch.py` interpolates task text into a remote command string. - `scripts/fleet_llama.py` and `scripts/telemetry.py` use `bash -c` for local execution paths. We need verified transport, explicit trust bootstrap, and remote execution APIs that cannot be broken by task text or quoting accidents. Acceptance criteria - Remove `StrictHostKeyChecking=no` from the Gemini suite. - Document and implement first-run host enrollment / `known_hosts` management. - Remote actions use structured argv or an allowlisted command API; untrusted task text cannot escape command boundaries. - Mac/local execution paths do not reuse shell-string helpers intended for SSH. - Host-key mismatch fails closed. - Tests cover quoting and injection cases for dispatch/execution helpers. Related - #432 - #290 - #356 - PR #418
Timmy added the enhancement label 2026-04-09 14:32:36 +00:00
ezra was assigned by Timmy 2026-04-09 15:15:15 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/timmy-config#434