Skip to content

Deferred security/correctness items from #48 #49

Description

@LiukScot

Deferred security/correctness items captured during review of #48. Full patches + decision notes in PR body of #48.

  • HIGH — Rate limiting on login endpointinternal/server/server.go:186, internal/auth/auth.go:64. Per-IP token bucket via golang.org/x/time/rate.
  • HIGH — Unbounded SELECT in system_history.go Query()internal/collectors/system_history.go:212. Move dedup/merge into SQL GROUP BY.
  • MEDIUM — Password echoed to terminal in user-cliscripts/user-cli.go:42. Use golang.org/x/term.ReadPassword.
  • MEDIUM — StartBroadcastLoop ticker never stoppedinternal/server/ws.go:145. Accept context.Context, defer ticker.Stop().
  • LOW — WebSocket read pump has no read deadlineinternal/server/ws.go:130. Set read deadline + reset in pong handler.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions