| Version | Supported |
|---|---|
| 0.0.x | ✅ |
If you discover a security vulnerability, please email the repository maintainer. Do not report security vulnerabilities through public GitHub issues.
Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
Expect an initial response within 48 hours.
pi-ssh-remote uses two mechanisms:
- SSHFS: Mounts remote filesystem locally via SSH
- SSH: Executes bash commands on the remote host
┌──────────────┐ SSH/SSHFS ┌──────────────┐
│ Local Host │ ◄──────────────────► │ Remote Host │
│ │ │ │
│ pi agent │ │ Files │
│ SSHFS mount │ │ Commands │
└──────────────┘ └──────────────┘
| Entity | Trust |
|---|---|
| The LLM | To generate safe commands |
| The pi agent | To execute requests faithfully |
| The remote host | To execute commands as expected |
| Your SSH config | To authenticate to intended hosts |
| SSHFS | To securely mount remote filesystems |
bash tool executes arbitrary commands on the remote host.
StrictHostKeyChecking=accept-new, which automatically accepts and remembers host keys on first connection (Trust On First Use). This is convenient but vulnerable to man-in-the-middle attacks on the first connection to a new host. For security-sensitive environments, use --ssh-strict-host-key to require hosts to be in your known_hosts file.
- Use dedicated SSH keys for pi-ssh-remote
- Limit remote user permissions to only what's needed
- Review commands before execution on production systems
- Unmount when done (the
pi-sshwrapper does this automatically) - Use
--ssh-strict-host-keyin production/sensitive environments to prevent MITM attacks - Pre-verify host keys by connecting manually before using pi-ssh-remote with strict mode