sync(v6): brainstorm 安全模型 + hooks/session-start 对齐上游 v6.0.0(修复 main 审计红)#58
Merged
Conversation
- 移除 legacy ~/.config/superpowers/skills 迁移警告块及其 warning_escaped 注入(上游 v6.0.0 已删;与 v6 清理 ~/.config/superpowers/ 一致) - 三处 printf 输出补 | cat,对齐上游输出行为 验证:与上游 v6.0.3 逐字一致;实际运行 hook,三个平台分支 (CURSOR_PLUGIN_ROOT / CLAUDE_PLUGIN_ROOT / COPILOT_CLI) 均输出合法 JSON(字段分别为 additional_context / hookSpecificOutput.additionalContext / additionalContext)。注入内容仍为本 fork 的中文 using-superpowers SKILL.md。 关联 #19(v6 同步追踪)
上游 v6.0.0 给 brainstorm 可视化伴侣服务器重写了安全模型:之前服务器
监听 loopback 但无任何鉴权,任意本地浏览器标签页都能读取 brainstorm
屏幕/文件、或向正在运行的 agent 会话注入事件(prompt injection)。新模型
用每会话密钥(?key=<token> 或会话 cookie)门禁所有端点,并加一组安全头
(X-Frame-Options: DENY、CSP frame-ancestors none、Cross-Origin-Resource-Policy
same-origin 等)。本 fork 此前停留在旧无鉴权版本。
改动(全部逐字节对齐上游 main,本 fork 在这些文件无中文/品牌定制):
- skills/brainstorming/scripts/server.cjs:旧 354 行 → 723 行,新鉴权模型
- skills/brainstorming/scripts/{frame-template.html,helper.js}:v6 重构拆出的
独立模板/客户端 helper,旧版与新 server.cjs 不匹配会导致 UI 崩坏
- skills/brainstorming/scripts/{start,stop}-server.sh:随之更新
- tests/brainstorm-server/:同步上游全套测试(auth/branding/server/lifecycle/
helper/ws-protocol/browser-launcher 等),否则旧测试与新 server 不匹配
验证:tests/brainstorm-server 全套 npm test 通过,exit 0
(ws-protocol 32 / helper 15 / browser-launcher 3 / auth 20 / branding 7 /
server 33 / lifecycle 13 / start 4 / stop 7,0 failed)。所有 17 个文件
与上游 main 逐字节一致。
修复 CI「全量审计」中 brainstorm script 漂移项。关联 #19(v6 同步追踪)
This was referenced Jun 19, 2026
jnMetaCode
added a commit
that referenced
this pull request
Jun 20, 2026
对齐上游 v6.0.0 移除固定 N-任务审查检查点的理念(与 #58 SDD 同方向): "每完成 3 个任务后暂停回顾" → "执行过程中持续留意"。纳入 v1.6.0。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
你要解决什么问题?
仓库 CI 的「全量审计」workflow 在
main上长期处于失败状态(如 commit8dc606d3),4 个 P0 漂移项全部是 brainstorm 脚本 + hooks 落后于上游:hooks/session-start、skills/brainstorming/scripts/{server.cjs,start-server.sh,stop-server.sh}。根因是上游 obra/superpowers 在 v6.0.0 做了两件事,本 fork 都没跟:
localhost:PORT,读取 brainstorm 屏幕/文件,或向状态/事件注入数据(= 对正在运行的 agent 会话做 prompt injection);若用--host 0.0.0.0暴露则远程可达。新模型用每会话密钥(?key=<token>或会话 cookie)门禁所有端点,并加安全头(X-Frame-Options: DENY、CSPframe-ancestors 'none'、Cross-Origin-Resource-Policy: same-origin等)。~/.config/superpowers/legacy 路径 + hooks 输出修复。不修的实际后果:① brainstorm 可视化伴侣在使用期间存在上述真实(但有边界)的安全缺口;② 仓库 main 的质量门禁一直是红的,掩盖后续真实漂移。
这个 PR 做了什么改变?
把 brainstorm 脚本、其 v6 重构拆出的
frame-template.html/helper.js、对应测试套件,以及hooks/session-start全部对齐上游 v6.0.0(= 当前upstream/main)。本 fork 在这些 infra 文件上无中文/品牌定制(仓库审计本就要求它们与upstream/main逐字节一致),故采用上游版本。这个改变适合放在核心库中吗?
适合。brainstorm 伴侣服务器与 hooks 是对所有用户通用的核心基础设施,安全修复对所有用户有益;不引入运行时依赖(
ws仅为测试期依赖)。你考虑了哪些替代方案?
server.cjs+frame-template.html+helper.js,只换 server.cjs 会让新服务器配旧模板/旧 helper,brainstorm UI 直接崩坏。功能测试逮住了这一点,故一并同步全部 5 个脚本 + 测试。这个 PR 是否包含多个不相关的改变?
否——同属上游 v6.0.0 的一次同步:CI 审计把这 4 个文件作为同一组漂移拦截,且 main 的审计只有全部同步后才能转绿,存在直接依赖关系。
frame-template.html/helper.js/测试套件是 server.cjs 正常工作与验证的必要组成。已有的 PR
测试环境
评估
本改动为 infra 脚本/测试的忠实上游同步(非 skill 行为塑造内容),用功能测试验证而非 writing-skills eval:
tests/brainstorm-server全套npm test通过,exit 0:ws-protocol 32 / helper 15 / browser-launcher 3 / auth 20(安全模型) / branding 7 / server 33 / lifecycle 13 / start 4 / stop 7,0 failedupstream/main逐字节一致(diff校验)hooks/session-start实跑三平台分支(CURSOR/CLAUDE/COPILOT 环境变量)均输出合法 JSON,注入内容仍为本 fork 的中文 using-superpowersscripts/audit.sh静态校验 0 FAIL严格性
人工审核