security: document localhost=full-trust boundary and auto-approve/inheritance risks #414
Labels
No labels
backend
bug
chore
duplication
effort:complex
effort:medium
effort:trivial
enhancement
frontend
fullstack
priority:high
ready-for-agent
refactor
security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
dries/ocman#414
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Findings #3, #4, #5 (Low / by-design) from a security review. These are inherent to the design rather than bugs; the ask is to document the trust model clearly so operators do not misconfigure.
Items to document (docs/configuration.md and/or docs/mcp.md)
#3 Local-process trust:
isPrivilegedRequesttreats any loopback + Origin-less request as privileged (by design, for CLI/MCP clients). Any local process — or a prompt-injected agent — can drivenew_session, worktree creation, tmux/opencode launch, and workflow command nodes. The trust boundary is "everything on this machine". Ref:internal/server/middleware.go:140,internal/mcp/server.go.#4 Auto-approve is prompt-injection-exposed: the LLM judge sees attacker-influenceable session content and auto-replies to permission prompts. Safe-command cache + scoped judge are the only guardrails. Combined with #101 permission inheritance, an approved/YOLO posture propagates to child sessions. Ref:
internal/autoapprove.#5 Reverse-proxy footgun: a plain same-host reverse proxy makes ALL clients appear as loopback, so Origin-less clients bypass auth on privileged routes. Ref:
internal/server/middleware.go:112-121.Acceptance