docs: add plugin-acceptance security review and repo security policy#33
Conversation
Closes the process gap surfaced by a third-party fork that added a plugin bundling a remote MCP server: the marketplace had no security gate for accepting plugins that execute code or delegate trust to a third party. - MIGRATION-PLAYBOOK.md: new "Plugin-acceptance security review" section adjacent to the migration gate — six surfaces (code execution, remote MCP servers, userConfig secrets, cache isolation, data egress, provenance), deny-by-default, grounded in the plugins/MCP reference (verified 2026-07-09). - CLAUDE.md: a "Security-reviewed" design rule + pointer. - SECURITY.md (new): repo-specific policy mirroring the org channel (GitHub private vulnerability reporting + security@melodicsoftware.com), with plugin-supply-chain reporting guidance. Private vulnerability reporting was enabled on this repo this session. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J1pUFM3DckCZ8iW1JaviZj
|
Claude finished @kyle-sexton's task in 2m 22s —— View job PR Review: docs/plugin-security-gate
This PR adds well-structured security process documentation that fills a real gap. The six-surface checklist in the playbook is technically grounded and the deny-by-default stance is correct for a public marketplace. A few findings below, ranging from a potential correctness issue to minor improvements. Findings1. Potential: Email domain mismatch in
|


Summary
Closes the process gap a third-party fork surfaced: it forked this marketplace and added a plugin bundling a remote MCP server (
.mcp.json→ external endpoint +Bearer ${API_KEY}). Our technical controls stop a malicious PR from silently merging, but there was no written security gate for the judgment call of accepting a plugin that executes code or delegates trust to a third party.docs/MIGRATION-PLAYBOOK.md— new Plugin-acceptance security review section next to the per-plugin migration gate. Six surfaces, deny-by-default: code-execution hooks, remote MCP servers (net-new — no current plugin ships one),userConfigsecrets (sensitive→ keychain), cache isolation, data egress/telemetry, and provenance/third-party trust. Grounded in the plugins + MCP reference (verified 2026-07-09).CLAUDE.md— a "Security-reviewed" design rule + pointer.SECURITY.md(new) — repo-specific policy mirroring the org channel (GitHub private vulnerability reporting +security@melodicsoftware.com) with plugin-supply-chain reporting guidance.Private vulnerability reporting was enabled on this repo out-of-band this session (recorded in
github-iac).Test plan
markdownlint-cli2clean on all three filesmarketplace.jsonchange →claude plugin validateunaffectedci-statusgreen🤖 Generated with Claude Code
Note
Low Risk
Documentation-only changes with no plugin manifests, hooks, or runtime behavior modified.
Overview
Adds a written security gate for accepting marketplace plugins, motivated by third-party forks that could add remote MCP servers and trust delegation without an explicit review bar.
docs/MIGRATION-PLAYBOOK.mdgains a Plugin-acceptance security review section (deny-by-default) covering hooks/code execution, remote MCP,userConfigsecrets, cache isolation, telemetry/egress, and provenance—plus a requirement to record accept/deny rationale when surfaces 2, 5, or 6 apply.CLAUDE.mdadds a Security-reviewed design rule and points the process section at that playbook section.SECURITY.md(new) defines how to report vulnerabilities privately (GitHub advisory flow orsecurity@melodicsoftware.com) and what to include for plugin supply-chain issues (version, hooks, MCP endpoints).Reviewed by Cursor Bugbot for commit 96dd372. Bugbot is set up for automated code reviews on this repo. Configure here.