mcpField
G
gathering-security

gathering-security

github.com/autumnsgrove安全668 次安装4 天前更新
代码仓库

关于 gathering-security

gathering-security 是一项安全工作流技能,协调彼此隔离的子 Agent 处理身份验证、代码审计和加固。指挥者负责交接与 CI 检查,不直接修改代码。

主要功能

  1. 01调度 Agent 处理验证、审计和加固
  2. 02使用隔离上下文与结构化交接
  3. 03在工作流阶段之间运行 CI 检查
  4. 04按安全任务选择参与的 Agent
  5. 05迭代处理发现并验证修复

适用场景

  1. 01实现身份验证并进行安全审查
  2. 02在生产部署前审计代码
  3. 03加固处理敏感数据的功能
  4. 04响应密钥泄露或安全事件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/autumnsgrove/lattice --skill gathering-security

安装后在 Claude Code 中输入/gathering-security确认已加载。

附带文件references/conductor-dispatch.md

详细介绍

安全集结 🌲🕷️🦝🐢

鼓声在阴影中回荡。但这一次,指挥者站在空地边缘——不亲自执行任务,而是负责统筹。每只动物都带着全新的视角到来,阅读各自的指示,并全神贯注地进行对抗性检查。蜘蛛精准地编织身份验证。浣熊带着怀疑翻查细节。乌龟耐心地加固防线。三个彼此隔离的头脑,没有丝毫共享情谊,共同筑起一座坚固的堡垒。

何时召集

  • 实施身份验证系统
  • 添加 OAuth 或会话管理
  • 发布前进行安全审计
  • 安全事件发生后
  • 准备部署到生产环境
  • 需要协同处理身份验证、安全审计和深度加固
  • 构建处理敏感数据的新功能
  • 加固现有代码,实现纵深防御

重要: 这次集结是一个指挥者。它绝不会直接编写代码或修复漏洞,而是派遣子 Agent——每只动物各一名——各自拥有隔离的上下文,并使用指定的模型。指挥者只负责管理交接和门禁检查。


集结

SUMMON → DISPATCH → GATE → DISPATCH → GATE → DISPATCH → GATE → FORTIFY
  ↓         ↓        ↓        ↓        ↓        ↓        ↓        ↓
Spec     Spider    Check   Raccoon   Check    Turtle   Check   Final
(self)   (opus)     ✓     (sonnet)    ✓      (opus)    ✓     Verify
派遣的动物
顺序动物模型角色全新视角?
1🕷️ 蜘蛛opus编织身份验证是——只查看安全规范
2🦝 浣熊sonnet审计机密、漏洞和死代码是——只查看蜘蛛提供的文件列表
3🐢 乌龟opus对抗性加固是——只查看文件列表,不了解蜘蛛的推理

参考: 加载 references/conductor-dispatch.md,查看准确的子 Agent 提示词和交接格式


阶段 1:召集

鼓声响起。阴影变幻……

指挥者接收安全请求并准备派遣计划:

明确安全工作:

  • 添加新的身份验证提供方?(OAuth、SSO)
  • 保护路由和 API?
  • 常规安全审计?
  • 深度安全加固?
  • 事件后的清理工作?
  • 生产环境部署前的加固?

选择性动员:

并非每次集结都需要三只动物全部出动:

情况所需动物
新建身份验证系统并进行全面安全检查三只全部出动:蜘蛛 → 浣熊 → 乌龟
已有身份验证,需要加固浣熊 → 乌龟
新功能,确保设计安全仅乌龟(或乌龟 → 浣熊)
机密泄露/事件响应浣熊 → 蜘蛛(轮换凭据)→ 乌龟(验证)
生产环境部署前浣熊 → 乌龟

错误代码与安全态势:

所有错误都必须使用 Signpost 代码——这是安全要求,而不只是惯例:

  • 所有服务器错误都使用适当目录中的代码(API_ERRORS、AUTH_ERRORS 等)
  • userMessage 始终通用且友好——不得向客户端泄露技术细节
  • adminMessage 提供详细信息——仅保留在服务器日志中
  • 身份验证错误绝不透露用户是否存在(使用“凭据无效”,而不是“找不到用户”)
  • 所有服务器错误都使用 logGroveError()——绝不能只用 console.error

与人工确认后再继续。

输出: 已确认的安全规范、动物名单和派遣计划。


阶段 2:编织(蜘蛛)

指挥者发出信号。蜘蛛从树冠上降下……

Agent(spider, model: opus)
  Input:  security specification only
  Reads:  spider-weave/SKILL.md + references (MANDATORY)
  Output: auth implementation + file list

派遣一个 opus 子 Agent 来实现身份验证。蜘蛛只会收到安全规范,不会收到预分析或意见。它会读取自己的技能文件并执行完整工作流。

蜘蛛构建的内容:

  • OAuth/PKCE 流程实现
  • 会话管理
  • 路由保护中间件
  • CSRF 保护
  • 令牌处理

交接给指挥者: 身份验证文件列表(所有创建/修改的文件)、身份验证摘要(实现内容、关键决策)、集成点。

关卡检查: 运行 gw dev ci --affected --fail-fast——必须编译通过。如果构建失败,则恢复蜘蛛 Agent 并提供错误输出。


阶段 3:审计(浣熊)

浣熊从灌木丛中现身,鼻子抽动着……

Agent(raccoon, model: sonnet)
  Input:  file list from Spider + security scope summary
  Reads:  raccoon-audit/SKILL.md (MANDATORY)
  Output: audit report + applied fixes

派遣一个 sonnet 子 Agent 来审计代码库。浣熊会收到文件列表和简要的范围摘要,但不会收到蜘蛛的推理或实现细节。审计需要全新的视角。

浣熊审计的内容:

  • 代码中的机密信息(硬编码的密钥、令牌)
  • 依赖项漏洞
  • 死代码和未使用的导入
  • 不安全模式(eval、innerHTML、字符串 SQL)
  • 日志中的敏感数据

交接给指挥者: 审计报告(发现项、已应用的修复、尚存的隐患)、更新后的文件列表。

关卡检查: 运行 gw dev ci --affected --fail-fast——审计修复后仍必须编译通过。如果构建失败,则恢复浣熊 Agent。


阶段 4:加固(乌龟)

乌龟缓缓走来。它只看得到已构建的内容,不知道原因……

Agent(turtle, model: opus)
  Input:  combined file list ONLY (not Spider's or Raccoon's reasoning)
  Reads:  turtle-harden/SKILL.md + references (MANDATORY)
  Output: hardening report + applied fixes

派遣一个 opus 子 Agent 进行对抗性安全加固。乌龟只会收到文件列表,不会收到蜘蛛的身份验证决策或浣熊的审计推理。这是有意安排的:乌龟应以对抗性的全新视角检查代码,而不是认同先前动物的推理。

乌龟加固的内容:

  • 输入验证(所有入口点都使用 Zod 模式)
  • 输出编码(根据上下文进行编码,富文本使用 DOMPurify)
  • 参数化查询(SQL 中不使用字符串拼接)
  • 安全标头(带 nonce 的 CSP、HSTS、X-Frame)
  • 标识错误码(验证蜘蛛是否正确使用)
  • Rootwork 边界安全性(验证信任边界处没有 as 断言)
  • 对敏感端点进行速率限制
  • CSRF、CORS、会话安全性
  • 非常规攻击向量(原型污染、时序攻击、SSRF、竞态条件)

交接给指挥者: 加固报告(发现的漏洞、已应用的修复、防御层、尚存的风险)、更新后的文件列表。

关卡检查: 运行 gw dev ci --affected --fail-fast——加固后仍必须编译通过。


阶段 5:迭代(当乌龟发现深层问题时)

循环仍在继续。有些漏洞并非一只动物就能修复……

┌──────────────────────────────────────────────────┐
│              SECURITY ITERATION                   │
├──────────────────────────────────────────────────┤
│                                                   │
│  Turtle hardening report                          │
│       │                                           │
│       ▼                                           │
│  Auth vulnerability found?                        │
│     /          \                                  │
│   Yes           No                                │
│    │             │                                │
│    ▼             ▼                                │
│  RESUME Spider  Raccoon/Turtle                    │
│  (same agent)   fixes directly                    │
│    │                                              │
│    ▼                                              │
│  Gate check                                       │
│    │                                              │
│    ▼                                              │
│  RESUME Turtle                                    │
│  (re-verify only changed files)                   │
│    │                                              │
│    ▼                                              │
│  Clean? ──→ ✅ Proceed to FORTIFY                │
│    │                                              │
│    No ──→ Max 3 iterations, then escalate         │
└──────────────────────────────────────────────────┘

迭代规则:

  • 乌龟发现身份验证漏洞 → 使用具体发现恢复蜘蛛 Agent → 蜘蛛打补丁 → 恢复乌龟以重新验证
  • 乌龟发现非身份验证漏洞 → 由乌龟直接修复,或由指挥者应用修复
  • 浣熊发现机密信息 → 浣熊清理 → 恢复乌龟,验证是否还有残留泄露
  • 每个问题最多迭代 3 次(若还需更多次,则上报给人工处理)
  • 每次迭代只处理新发现/修复的项目
  • 始终恢复 Agent(保留上下文),不要启动新的 Agent

阶段 6:加固

网络稳固。审计确认无误。外壳坚不可摧……

指挥者运行最终验证:

pnpm install
gw dev ci --affected --fail-fast --diagnose

验证清单:

Authentication:
  [ ] Login redirects to provider
  [ ] Callback exchanges code for tokens
  [ ] Sessions created correctly
  [ ] Logout clears sessions server-side
  [ ] Expired tokens rejected

Authorization:
  [ ] Protected routes require auth
  [ ] API endpoints verify tokens
  [ ] Users can't access others' data (IDOR)

Hardening:
  [ ] SQL injection prevented (parameterized queries)
  [ ] XSS prevented (output encoding + CSP)
  [ ] CSRF prevented (tokens + SameSite cookies)
  [ ] Rate limiting active on sensitive endpoints
  [ ] Signpost error codes on every error path
  [ ] Rootwork boundary safety at all trust boundaries

完成报告:

🌲 GATHERING SECURITY COMPLETE

Security Work: [Description]

DISPATCH LOG
  🕷️ Spider (opus)    — [auth implemented, X files created/modified]
  🦝 Raccoon (sonnet)  — [audit complete, Y findings fixed]
  🐢 Turtle (opus)     — [Z hardening fixes, N defense layers applied]

GATE LOG
  After Spider:   ✅ compiles clean, auth functional
  After Raccoon:  ✅ compiles clean, audit findings resolved
  After Turtle:   ✅ compiles clean, hardening applied
  Iterations:     [N iterations, all resolved / none needed]
  Final CI:       ✅ gw dev ci --affected passes

HARDENING SUMMARY
  | Defense Layer    | Status | Details                    |
  | Input Validation | ✅     | Zod schemas on all entry   |
  | Output Encoding  | ✅     | Context-aware + DOMPurify  |
  | SQL Injection    | ✅     | All queries parameterized  |
  | Security Headers | ✅     | CSP, HSTS, X-Frame         |
  | CORS             | ✅     | Exact origin allowlist     |
  | Session Security | ✅     | HttpOnly, Secure, SameSite |
  | Rate Limiting    | ✅     | Per-endpoint limits        |

Woven tight, audited clean, hardened deep — the forest endures.

指挥者规则

绝不亲自完成动物的工作

指挥者负责派遣,不负责实现身份验证、审计机密信息或加固代码。如果发现自己正在编写安全代码,请停下来——派遣子 Agent。

全新视角是一项优势

乌龟收到的上下文有意少于完整历史记录。它看不到蜘蛛的推理或浣熊的审计逻辑。对抗性的全新视角能带来更好的安全审查。

检查每次交接

每个动物之间都运行 CI。不要让错误状态级联。

恢复,不要重启

如果检查失败或需要迭代,恢复失败的 Agent,并提供错误上下文。不要启动新的 Agent——恢复的 Agent 会保留先前工作的上下文。

有选择地调度

并非每次安全任务都需要三个动物齐上。仅涉及认证的工作跳过 Turtle。仅涉及加固的工作跳过 Spider。由指挥者根据请求决定。


反模式

指挥者不会:

  • 自己编写安全代码(而是调度子 Agent)
  • 将完整对话历史传递给每个 Agent(仅使用结构化交接)
  • 跳过动物之间的检查
  • 允许 Agent 跳过阅读其技能文件(每个提示词中都必须包含)
  • 让 Turtle 看到 Spider 的推理(对抗性隔离正是目的)
  • 检查失败后不修复就继续
  • 未升级给人工处理就迭代超过 3 次

快速决策指南

情况要调度的动物模型
新增认证 + 全面安全保障Spider → Raccoon → Turtleopus、sonnet、opus
已有认证,需要深度加固Raccoon → Turtlesonnet、opus
新功能,安全设计优先Turtle(可选 + Raccoon)opus(+ sonnet)
事件响应Raccoon → Spider → Turtlesonnet、opus、opus
投产前部署Raccoon → Turtlesonnet、opus
仅涉及认证的工作Spider → Raccoonopus、sonnet

紧密编织,审计无误,深度加固——森林长存。 🌲

评论

支持 Markdown