{"generated_at":"2026-10-14T20:07:22+00:00","item":{"added_at":"2026-07-22","analysis_method":"independent_manual_review_2026-10-10","assessment_status":"provisional","auth_posture":"auth_required","catalog_reconciliation":{"basis":"Documented actions on the identified catalog surface; not an execution test.","confidence":"medium","evidence_completeness":"partial","previous":{"confidence":"low","detail_sha256":"ecdd84643da1283be0bd546cafdf067e27888baa6f65455e4dc1fe04987be19a","risk":"high"},"proposal_file":"claude-tail-proposals.json","rationale":"Low-confidence entry. The prior High rested only on 'generic gateway / flexible query execution is High'. In the published source, search_endpoints, call_api and query_data are all annotated readOnlyHint=True. call_api issues only HTTP GET to Massive's market-data REST API, with a path-traversal check and a path allowlist (idx.is_path_allowed). query_data runs SQL over a per-session in-memory SQLite store. The AI-tools quickstart describes the hosted server as OAuth with 64 MB of working storage per session. The data is licensed public market data, with no trading, account changes or user-private data => Low. The consistency anchor says a generic dispatch gateway labelled Executes Code is a mapping error. Residual: the hosted-only 'workspace' tool is not in the OSS source. The quickstart describes it as session working storage.","review_key":"claudesec:9c66818d-7f58-4b5b-9018-dffe692ba4a4","reviewed_at":"2026-10-12","runtime_verified":false,"sources":["https://api.anthropic.com/api/directory/servers?verified_tier=anthropic,partner,community","https://massive.com/docs","https://massive.com/docs/ai-tools/quickstart","https://github.com/massive-com/mcp_massive/blob/1e161a8c50b69bd467b092e0721e30908ab94eb6/README.md","https://github.com/massive-com/mcp_massive/blob/1e161a8c50b69bd467b092e0721e30908ab94eb6/src/mcp_massive/server.py"],"status":"resolved"},"category":"Web Connector","confidence":"low","description":"Massive retrieves real-time and historical financial market data. Explore equities, options, futures, indices, forex, crypto, and ETFs. Query prices, trades, quotes, aggregates, fundamentals, corporate actions, news, and indicators.","did":"9c66818d-7f58-4b5b-9018-dffe692ba4a4","documentation_url":"https://massive.com/docs","editorial_description":{"extended_description":"Search API endpoints and work with market datasets for analysis. Equity coverage includes U.S. exchanges, while options data includes chains, open interest, quotes, and trades.","schema_version":1,"summary":"Massive retrieves real-time and historical financial market data.\nExplore equities, options, futures, indices, forex, crypto, and ETFs.\nQuery prices, trades, quotes, aggregates, fundamentals, corporate actions, news, and indicators."},"homepage_url":"","icon":"","id":"9c66818d-7f58-4b5b-9018-dffe692ba4a4","installs":0,"last_scanned":"","license":"","long_description":"Search API endpoints and work with market datasets for analysis. Equity coverage includes U.S. exchanges, while options data includes chains, open interest, quotes, and trades.","manual_assessment":"high","manual_review":{"all_findings":[{"evidence":"One tool discovers endpoints and another executes the selected API call.","reasoning":"The stored inventory does not enumerate the callable endpoint/action schema.","risk_type":"generic_gateway","severity":"high","title":"Calls dynamically selected Massive API endpoints","triggering_tools_or_skills":["search_endpoints","call_api"]},{"evidence":"The connector accepts data queries/API parameters across multiple asset classes.","reasoning":"Generic live query execution is High even when intended to be read-only.","risk_type":"query_execution","severity":"high","title":"Executes flexible market-data queries","triggering_tools_or_skills":["query_data","call_api"]}],"assessment_status":"provisional","auth_and_scopes":"Authentication is required for licensed Massive market-data access.","blocked_missing_evidence":null,"confidence":"low","displayed_risk":"high","evidence_completeness":"partial","manual_overall_risk":"high","official_sources":[{"accessed_at":"2026-10-10T20:24:37Z","url_or_path":"plutosecurity/plutonium@b749c8dc43536c794409be9805edd48063f045e2:app/data/conn/claudesec/9c66818d-7f58-4b5b-9018-dffe692ba4a4.json","what_it_proves":"Candidate PR #125 record identity (name \"Massive\", publisher, type web_connector) and 4 stored tool names; no tool descriptions stored"},{"accessed_at":"2026-09-22T10:46:07Z","url_or_path":"https://api.anthropic.com/api/directory/servers?verified_tier=anthropic,partner,community (snapshot claude-directory-all-tiers-2026-09-22.json)","what_it_proves":"Official Claude Directory listing https://claude.ai/directory/9c66818d-7f58-4b5b-9018-dffe692ba4a4: complete tool_names inventory (4 tools), remote streamable-http endpoint https://mcp.massive.com/, auth_posture auth_required, directory tier community"}],"primary_reason":"Massive exposes a dynamic API/query gateway rather than fixed read tools.","provisional_risk":null,"publication_recommendation":"fix","requires_runtime_verification":true,"review_key":"claude:9c66818d-7f58-4b5b-9018-dffe692ba4a4","reviewed_at":"2026-10-10","reviewer_notes":"Reviewed all four wrapper tools; publish only after verifying the endpoint allowlist is read-only.","risk_domains":{"arbitrary_network_access":"false","authz_ambiguity":"unknown","browser_control":"false","credential_or_admin_actions":"false","deletes_data":"false","deployment_or_infrastructure":"false","dynamic_hidden_actions":"true","filesystem_or_repo_access":"false","forwards_data_to_third_party":"true","modifies_data":"false","persistent_credentials":"true","prompt_injection_exposure":"true","provenance_uncertainty":"true","reads_private_data":"true","runs_code_or_queries":"true","sends_messages_as_user":"false","spends_or_moves_money":"false"},"tools_or_skills_reviewed":4,"tools_or_skills_total":4},"name":"Massive","needs_runtime_verification":true,"plutonium_url":"https://plutonium.pluto.security/detail.html?planet=claudesec&did=9c66818d-7f58-4b5b-9018-dffe692ba4a4&utm_source=plutonium_analysis_skill&utm_medium=claude_skill&utm_campaign=connector_risk_assessment","privacy_policy_url":"https://massive.com/legal/privacy","provisional_risk":null,"publication_recommendation":"fix","publisher":"Massive.com, Inc.","publisher_url":"https://massive.com/","remote_url":"https://mcp.massive.com/","repository_url":"","risk":"low","risk_severity":"low","security_risks":[{"description":"Sends market-data queries to Massive and analyzes the retrieved licensed market information in temporary session storage.","evidence":"Actions: call_api, search_endpoints. https://github.com/massive-com/mcp_massive/blob/1e161a8c50b69bd467b092e0721e30908ab94eb6/src/mcp_massive/server.py — L196/L290 @mass_mcp.tool(annotations=ToolAnnotations(readOnlyHint=True)); call_api 'resp = await client.get(url, ...)'; 'if not idx.is_path_allowed(path)'\nActions: query_data, workspace. https://github.com/massive-com/mcp_massive/blob/1e161a8c50b69bd467b092e0721e30908ab94eb6/src/mcp_massive/server.py — L457 query_data readOnlyHint=True; https://massive.com/docs/ai-tools/quickstart — '64 MB of working storage per session ... up to 10 concurrent workspaces'","risk_type":"reads_public_data","severity":"low","title":"Retrieves and analyzes market data"}],"signature_status":"unknown","source_code_reviewed":false,"support_url":"support@massive.com","tags":["reads_public_data"],"tools":[{"description":"","name":"call_api","risk":{"category":"code_execution","level":"high","recommendation":"Follow the connector-level remediation and require approval for consequential actions.","why":"This connector can execute code, commands, queries, or dynamically selected actions. Review findings: The stored inventory does not enumerate the callable endpoint/action schema.; Generic live query execution is High even when intended to be read-only."}},{"description":"","name":"query_data","risk":{"category":"code_execution","level":"high","recommendation":"Follow the connector-level remediation and require approval for consequential actions.","why":"This connector can execute code, commands, queries, or dynamically selected actions. Review findings: The stored inventory does not enumerate the callable endpoint/action schema.; Generic live query execution is High even when intended to be read-only."}},{"description":"","name":"search_endpoints","risk":{"category":"code_execution","level":"high","recommendation":"Follow the connector-level remediation and require approval for consequential actions.","why":"This connector can execute code, commands, queries, or dynamically selected actions. Review findings: The stored inventory does not enumerate the callable endpoint/action schema.; Generic live query execution is High even when intended to be read-only."}},{"description":"","name":"workspace"}],"tools_count":4,"transport":"streamable-http","type":"web_connector","url":"https://claude.ai/directory/9c66818d-7f58-4b5b-9018-dffe692ba4a4","uuid":"73ec0aa4-0e73-58ff-8a87-2b02982e2385","verification_tier":"community","version":""},"query_key":"massive com inc massive","schema_version":1,"status":"match"}
