T05 · Unauthorized Access and Privilege Escalation
- Location
mcp-server/index.js:219- Finding
Unauthenticated HTTP MCP Endpoints Can Use the Server Owner's Credentials
- Content
View full analysis
apiRequest(context, 'POST', 'MemoryEntry', buildMemoryWritePayload(args))); case 'memory_read': requireString(args.id, 'id'); return execute('memory_read', () => apiRequest(context, 'GET', `MemoryEntry/${encodeURIComponent(args.id)}`)); case 'memory_query': requireString(args.query, 'query'); return execute('memory_query', () => apiRequest(context, 'POST', 'MemoryEntry/query', buildMemoryQueryPayload(args))); case 'graph_get': { const graphPath = args.path ? `SwarmOps/graph/${trimSlashes(args.path)}` : 'SwarmOps/graph'; return execute('graph_get', () => apiRequest(context, 'GET', graphPath)); } case 'entity_list': { requireEntityType(args.entityType); const query = new URLSearchParams(); if (args.limit !== undefined) query.set('limit', String(args.limit)); if (args.offset !== undefined) query.set('offset', String(args.offset)); const suffix = query.toString() ? `?${query}` : ''; return execute('entity_list', () => apiRequest(context, 'GET', `${args.entityType}${suffix}`)); } case 'entity_get': requireEntityType ...[truncated 3640 chars]- Remediation
View remediation
