[總管交辦·安全] arcrun_publish_component 零人閘上架——提交即 active/public,MCP 已上 claude.ai 全域=攻擊面,須加人審閘 #23
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
[總管] 審 PR #22 時核實 code 發現,leo 已定性「太危險」。
現狀(已核實)
registry/src/actions/submitComponent.ts:沙盒機檢(體積/syscall 白名單/Gherkin)通過後直接寫入status:'active'+visibility:'public'到 SUBMISSIONS_KV。queryComponents.ts從同一顆 KV 的idx:讀=提交完立刻可被搜到/引用。arcrun_publish_component對所有 MCP client 開放,而 arcrun-mcp 已掛 claude.ai 全域 connector(2026-07-07)——任何雲端 session(含被 prompt injection 的)都能直接把一顆 WASM 塞進公開零件庫。為什麼是洞
docs/component-pr-review-standard.md審 → arm/發布(llms.txt「不自製零件」、D27 code 零件不鑄 domain、D28)。沙盒機檢擋得住 syscall,擋不住「語意上有害/劣質/仿冒名稱的零件」。要求(出 SDD 給總管審,再實作)
status:'pending';queryComponents/component-loader 只讀active。MCP 工具回應改為「已提交,待人審」。acr admin promote或 console,須 owner 憑證)。promote 前人工過 component-pr-review-standard。arcrun_publish_component這條 MCP 路徑要不要乾脆下架(回歸純 PR 投稿)?——若保留,只當「提交草稿」入口。關聯
PR #22(文件面:CONTRIBUTING 改寫為 PR 路線)、#16/#17(KV 退休戰)、
docs/component-pr-review-standard.md。[總管] leo 拍板結構解(2026-07-07),本 issue 範圍更新——不做 pending/promote 佇列,直接廢除 MCP 發布路徑:
arcrun_publish_componentMCP 工具(registry 的POST /componentssubmit 端點同步關閉或收斂為維護者憑證限定)。投稿唯一入口=新 repoLeo/arcrun-components的 PR(人審閘=merge 本身),merge 後由維護者發布進 registry。arcrun_get_component_guide/arcrun_search_components等唯讀工具保留(找現成零件是紅線框第一步,讀不危險)。背景:arcrun-components README 已載紅線框(99% 不需新零件)+PR 流程+與主 repo 分工表;審核 checklist 真身仍在 Arcrun
docs/component-pr-review-standard.md(該分支請 leo 順手 merge 進 main,兩個 repo 都引用它)。08-01 複核:❌ 仍成立,未修——保留(安全票,優先度建議提高)
現況實查(gitea/main):
registry/src/actions/submitComponent.ts:135-136一字未改——⇒ 沙盒機檢過關後仍直接寫入 active + public,短期止血(要求 1:改寫
pending、queryComponents 只讀active)尚未實作。風險未降反升:
arcrun_publish_component現在確實掛在 claude.ai 全域 connector 上(本 session 的 MCP 工具清單可見該工具)⇒ issue 描述的攻擊面是活的:任何雲端 session(含被 prompt injection 的)都能把一顆 WASM 推進公開零件庫,且立刻可被搜到/被別人的 workflow 執行。要求 3 是 leo 裁量點(
arcrun_publish_component這條 MCP 路徑要不要乾脆下架),已列入本次盤點的「需 leo 裁決」清單。要求 1(改 pending)不需等裁決、四題全否、可直接做,建議優先排在裁決之前先止血。
08-01 leo 裁決:關閉——這條路封了
替代方案已存在:
matrix/arcrun-components(獨立 contributing repo,Gitea3f26b31)——README 含紅線框+PR 人審閘流程+分工表+worker 模板,結構上取代零人閘 MCP 發布。
⚠️ 殘留待清(另立):
mcp/src/tools/arcrun_publish_component.ts與registry.ts的publish 路徑程式碼仍在。依「死代碼=錯誤環境信號」鐵律應 git rm,否則未來的 AI 會以為還能用。