feat(skills): add debugging and bulk refactor workflows

This commit is contained in:
csh
2025-12-17 15:25:50 +08:00
parent 1d4f548227
commit 5551363094
6 changed files with 291 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
---
name: defense-in-depth
description: Defense in depth: add layered validation/guardrails across a data path (auth, validation, invariants, logging, tests). Triggers: defense in depth, harden, guardrails, validate, 安全加固, 分层校验, 防御, 兜底.
---
# Defense in Depth(分层校验 / 多道防线)
## When to Use
- 用户输入/外部数据进入关键路径(权限、资金、数据破坏、执行命令、生成 SQL)
- 需要让 bug “结构性不可能发生”,而不是靠单点 if 修补
## Inputsrequired
- Data path:输入从哪里来,最终影响什么(读写/执行/外部调用)
- Trust boundary:哪些边界跨越了(用户/服务/网络/磁盘/数据库)
- Threat model(简版):最担心的 1–3 类失败(越权/注入/数据损坏/DoS)
- Constraints:性能/兼容性/日志合规/可观测性要求
## Procedurelayer by layer
1. **Map the Path**
- 画出路径:入口 → 解析/校验 → 业务决策 → 持久化/外部调用 → 输出
- 标注每层的“必须成立的不变量”(invariants)
2. **Add Guards at Multiple Layers**
- **Input layer**schema/type/length/range/encoding 校验,拒绝非法输入
- **Auth layer**:身份认证、权限校验、租户隔离、最小权限
- **Business layer**:状态机/幂等/一致性约束、边界条件保护
- **Persistence layer**:事务、约束、唯一索引、外键/检查约束(可用时)
- **Output layer**:错误信息最小化、敏感字段脱敏、避免回显注入
3. **Observability**
- 在关键断点加日志/metrics/trace(但不记录 secrets
- 失败要“可定位”:错误码/上下文 key/相关 ID
4. **Tests**
- 每层至少一个代表性测试:合法/非法/越权/边界条件
- 高风险路径补集成测试或 e2e 验证
## Output Contractstable
- Data path:关键路径与边界(简图/文字)
- Risks:主要风险与触发条件
- Layers:每层做了什么防线(列表化)
- Tests:新增/更新的验证点
- Residual risk:还剩哪些风险(以及为什么接受)
## Guardrails
- 防线要“可证明有效”:不写空泛口号
- 任何会影响行为/接口的防线都必须评估兼容性与回滚策略