Security & threat model

Audience: operators deploying PearDock in multi-operator or semi-trusted environments. Scope: HyperDHT P2P control plane + local Docker Engine socket.

1. Assets

AssetSensitivity
SERVER_SEEDCritical: identity and vault key derivation
Docker socket accessCritical: full host container control
Registry passwords (vault)High: encrypted at rest
Peer invite tokensMedium: short-lived capabilities
Audit logMedium: forensic integrity
Container data / env secretsHigh: via inspect, logs, exec

2. Trust boundaries

[Client] --Noise/HyperDHT--> [peardock server] --unix socket--> [dockerd]
                                  |
                                  +-- peardock-vault.json (AES-GCM)
                                  +-- peardock-peers.json
                                  +-- peardock-audit.log

3. Adversaries

  1. Remote peer with public key only: should not get Docker control if allowlist and non-admin default are set.
  2. Stolen invite token: limited by TTL and max uses. Rotate after use.
  3. Compromised client: can use any role the peer holds until revoke.
  4. Local host attacker with filesystem: can steal seed and vault if file perms are wrong.
  5. Malicious container: out of scope for PearDock. Engine isolation applies.

4. Controls (implemented)

ControlMechanism
Transport E2EHyperDHT Noise
Capability ACLviewer / operator / admin + MethodRoles
Peer policyInvite, register, revoke, optional allowlist
AuditAppend-only log for privileged methods
Rate limitPer-peer limiter on RPC
Registry secretsAES-256-GCM vault
Browse FSRoot allowlist / default deny
Tunnel targetsLoopback / allowlisted hosts only

5. Residual risks

6. Operator hardening checklist