defense-in-depth: gate molecule-platform-mcp in the plugin INSTALL path (recordWorkspacePluginInstall), not just declare #3046

Closed
opened 2026-06-18 20:19:32 +00:00 by core-devops · 0 comments
Member

Follow-up from PR #3044 (independent review). The entitlement gate lives in recordDeclaredPlugin (declare path / workspace_declared_plugins). The INSTALL path — install_plugin → PluginsHandler.Install → recordWorkspacePluginInstall (workspace_plugins) — has no kind check, and desiredPluginSources unions workspace_plugins into the boot-install set without re-validation. A non-platform box could land the molecule-platform-mcp FILES via install_plugin with a manifest declaring that name. NOT an escalation today (the org-admin token MOLECULE_ORG_API_KEY is injected only by conciergePlatformMCPEnv inside the kind-gated applyConciergeProvisionConfig, so a non-platform box gets files but no creds → MCP can't auth). Defense-in-depth: mirror the pluginName==conciergePlatformMCPPlugin kind=platform check into recordWorkspacePluginInstall / PluginsHandler.Install. 🤖 Generated with Claude Code

Follow-up from PR #3044 (independent review). The entitlement gate lives in recordDeclaredPlugin (declare path / workspace_declared_plugins). The INSTALL path — install_plugin → PluginsHandler.Install → recordWorkspacePluginInstall (workspace_plugins) — has no kind check, and desiredPluginSources unions workspace_plugins into the boot-install set without re-validation. A non-platform box could land the molecule-platform-mcp FILES via install_plugin with a manifest declaring that name. NOT an escalation today (the org-admin token MOLECULE_ORG_API_KEY is injected only by conciergePlatformMCPEnv inside the kind-gated applyConciergeProvisionConfig, so a non-platform box gets files but no creds → MCP can't auth). Defense-in-depth: mirror the pluginName==conciergePlatformMCPPlugin kind=platform check into recordWorkspacePluginInstall / PluginsHandler.Install. 🤖 Generated with Claude Code
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#3046