Task read endpoints (GET /tasks, GraphQL subscriptions) serve task data without checking repo visibility or task-level access rules. This allows unauthenticated callers to read task bodies on private repos.
Needed:
- Gate task reads behind
authorize_repo_read
- Decouple open-claim eligibility from read visibility
- Apply rate limiting to GraphQL WebSocket subscriptions
- Enforce hostile-node response limits in the CLI and MCP client
Task read endpoints (
GET /tasks, GraphQL subscriptions) serve task data without checking repo visibility or task-level access rules. This allows unauthenticated callers to read task bodies on private repos.Needed:
authorize_repo_read