ccgx-workflow 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -5
- package/README.zh-CN.md +35 -5
- package/dist/cli.mjs +1 -1
- package/dist/index.mjs +2 -2
- package/dist/shared/{ccgx-workflow.WgUzkiC3.mjs → ccgx-workflow.Bq9vAaEw.mjs} +17 -110
- package/package.json +2 -1
- package/templates/commands/agents/phase-runner.md +321 -321
- package/templates/commands/autonomous.md +792 -792
- package/templates/commands/cancel.md +132 -132
- package/templates/commands/debug.md +226 -226
- package/templates/commands/status.md +206 -206
- package/templates/commands/team.md +484 -0
- package/templates/hooks/ccg-session-state.cjs +566 -510
- package/templates/scripts/ccg-phase-runner-launcher.mjs +467 -467
- package/templates/scripts/invoke-model.mjs +64 -0
- package/templates/skills/domains/ai/SKILL.md +35 -35
- package/templates/skills/domains/ai/agent-dev.md +242 -242
- package/templates/skills/domains/ai/llm-security.md +288 -288
- package/templates/skills/domains/ai/rag-system.md +542 -542
- package/templates/skills/domains/architecture/SKILL.md +43 -43
- package/templates/skills/domains/architecture/api-design.md +225 -225
- package/templates/skills/domains/architecture/cloud-native.md +285 -285
- package/templates/skills/domains/architecture/security-arch.md +297 -297
- package/templates/skills/domains/data-engineering/SKILL.md +208 -208
- package/templates/skills/domains/development/SKILL.md +47 -47
- package/templates/skills/domains/development/cpp.md +246 -246
- package/templates/skills/domains/development/go.md +323 -323
- package/templates/skills/domains/development/java.md +277 -277
- package/templates/skills/domains/development/python.md +288 -288
- package/templates/skills/domains/development/rust.md +313 -313
- package/templates/skills/domains/development/shell.md +313 -313
- package/templates/skills/domains/development/typescript.md +277 -277
- package/templates/skills/domains/devops/SKILL.md +40 -40
- package/templates/skills/domains/devops/database.md +217 -217
- package/templates/skills/domains/devops/devsecops.md +198 -198
- package/templates/skills/domains/devops/git-workflow.md +181 -181
- package/templates/skills/domains/devops/testing.md +283 -283
- package/templates/skills/domains/frontend-design/SKILL.md +244 -244
- package/templates/skills/domains/frontend-design/claymorphism/SKILL.md +121 -121
- package/templates/skills/domains/frontend-design/component-patterns.md +202 -202
- package/templates/skills/domains/frontend-design/glassmorphism/SKILL.md +142 -142
- package/templates/skills/domains/frontend-design/liquid-glass/SKILL.md +139 -139
- package/templates/skills/domains/frontend-design/neubrutalism/SKILL.md +145 -145
- package/templates/skills/domains/frontend-design/state-management.md +680 -680
- package/templates/skills/domains/frontend-design/ui-aesthetics.md +110 -110
- package/templates/skills/domains/frontend-design/ux-principles.md +156 -156
- package/templates/skills/domains/infrastructure/SKILL.md +201 -201
- package/templates/skills/domains/mobile/SKILL.md +225 -225
- package/templates/skills/domains/orchestration/SKILL.md +30 -30
- package/templates/skills/domains/orchestration/multi-agent.md +228 -228
- package/templates/skills/domains/security/SKILL.md +73 -73
- package/templates/skills/domains/security/blue-team.md +436 -436
- package/templates/skills/domains/security/code-audit.md +265 -265
- package/templates/skills/domains/security/pentest.md +226 -226
- package/templates/skills/domains/security/red-team.md +374 -374
- package/templates/skills/domains/security/threat-intel.md +372 -372
- package/templates/skills/domains/security/vuln-research.md +369 -369
- package/templates/skills/tools/lib/shared.js +98 -98
- package/templates/skills/tools/override-refusal/SKILL.md +53 -53
- package/templates/skills/tools/override-refusal/scripts/refusal_rewriter.js +226 -226
|
@@ -1,297 +1,297 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: security-arch
|
|
3
|
-
description: 安全架构设计。零信任、身份认证、威胁建模。当用户提到安全架构、零信任、IAM、身份认证、威胁建模时使用。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# 🏗 阵法秘典 · 安全架构设计
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
## 零信任架构
|
|
10
|
-
|
|
11
|
-
```
|
|
12
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
13
|
-
│ 零信任原则 │
|
|
14
|
-
├─────────────────────────────────────────────────────────────┤
|
|
15
|
-
│ 1. 永不信任,始终验证 │
|
|
16
|
-
│ 2. 最小权限访问 │
|
|
17
|
-
│ 3. 假设已被入侵 │
|
|
18
|
-
│ 4. 显式验证每个请求 │
|
|
19
|
-
│ 5. 持续监控和验证 │
|
|
20
|
-
└─────────────────────────────────────────────────────────────┘
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
### 核心组件
|
|
24
|
-
```yaml
|
|
25
|
-
身份验证:
|
|
26
|
-
- 多因素认证 (MFA)
|
|
27
|
-
- 单点登录 (SSO)
|
|
28
|
-
- 证书认证
|
|
29
|
-
|
|
30
|
-
设备信任:
|
|
31
|
-
- 设备健康检查
|
|
32
|
-
- 端点检测响应 (EDR)
|
|
33
|
-
- 移动设备管理 (MDM)
|
|
34
|
-
|
|
35
|
-
网络分段:
|
|
36
|
-
- 微分段
|
|
37
|
-
- 软件定义边界 (SDP)
|
|
38
|
-
- 网络访问控制
|
|
39
|
-
|
|
40
|
-
数据保护:
|
|
41
|
-
- 加密传输/存储
|
|
42
|
-
- 数据分类
|
|
43
|
-
- DLP
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## 身份与访问管理 (IAM)
|
|
47
|
-
|
|
48
|
-
### 认证方式
|
|
49
|
-
```yaml
|
|
50
|
-
密码认证:
|
|
51
|
-
- 强密码策略
|
|
52
|
-
- 密码哈希 (bcrypt/argon2)
|
|
53
|
-
- 防暴力破解
|
|
54
|
-
|
|
55
|
-
多因素认证:
|
|
56
|
-
- TOTP (Google Authenticator)
|
|
57
|
-
- FIDO2/WebAuthn
|
|
58
|
-
- 短信/邮件验证码
|
|
59
|
-
|
|
60
|
-
单点登录:
|
|
61
|
-
- SAML 2.0
|
|
62
|
-
- OAuth 2.0 / OIDC
|
|
63
|
-
- Kerberos
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### 授权模型
|
|
67
|
-
```yaml
|
|
68
|
-
RBAC (基于角色):
|
|
69
|
-
用户 → 角色 → 权限
|
|
70
|
-
示例:
|
|
71
|
-
- admin: [read, write, delete]
|
|
72
|
-
- editor: [read, write]
|
|
73
|
-
- viewer: [read]
|
|
74
|
-
|
|
75
|
-
ABAC (基于属性):
|
|
76
|
-
策略 = f(主体属性, 资源属性, 环境属性)
|
|
77
|
-
示例:
|
|
78
|
-
- 部门=财务 AND 级别>=3 → 访问财务报表
|
|
79
|
-
|
|
80
|
-
PBAC (基于策略):
|
|
81
|
-
使用策略语言定义复杂规则
|
|
82
|
-
示例: OPA/Rego
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### JWT 最佳实践
|
|
86
|
-
```yaml
|
|
87
|
-
签名算法:
|
|
88
|
-
- 使用 RS256 或 ES256
|
|
89
|
-
- 避免 HS256 (共享密钥)
|
|
90
|
-
- 禁止 none 算法
|
|
91
|
-
|
|
92
|
-
Token 管理:
|
|
93
|
-
- 短期访问令牌 (15分钟)
|
|
94
|
-
- 长期刷新令牌 (7天)
|
|
95
|
-
- 令牌轮换
|
|
96
|
-
- 黑名单机制
|
|
97
|
-
|
|
98
|
-
Claims:
|
|
99
|
-
- iss: 签发者
|
|
100
|
-
- sub: 主题
|
|
101
|
-
- aud: 受众
|
|
102
|
-
- exp: 过期时间
|
|
103
|
-
- iat: 签发时间
|
|
104
|
-
- jti: 唯一标识
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
## 威胁建模
|
|
108
|
-
|
|
109
|
-
### STRIDE 模型
|
|
110
|
-
```yaml
|
|
111
|
-
S - Spoofing (欺骗):
|
|
112
|
-
威胁: 冒充用户身份
|
|
113
|
-
缓解: 强认证、MFA
|
|
114
|
-
|
|
115
|
-
T - Tampering (篡改):
|
|
116
|
-
威胁: 修改数据
|
|
117
|
-
缓解: 完整性校验、签名
|
|
118
|
-
|
|
119
|
-
R - Repudiation (抵赖):
|
|
120
|
-
威胁: 否认操作
|
|
121
|
-
缓解: 审计日志、数字签名
|
|
122
|
-
|
|
123
|
-
I - Information Disclosure (信息泄露):
|
|
124
|
-
威胁: 数据泄露
|
|
125
|
-
缓解: 加密、访问控制
|
|
126
|
-
|
|
127
|
-
D - Denial of Service (拒绝服务):
|
|
128
|
-
威胁: 服务不可用
|
|
129
|
-
缓解: 限流、冗余
|
|
130
|
-
|
|
131
|
-
E - Elevation of Privilege (权限提升):
|
|
132
|
-
威胁: 获取更高权限
|
|
133
|
-
缓解: 最小权限、输入验证
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
### 威胁建模流程
|
|
137
|
-
```
|
|
138
|
-
1. 识别资产
|
|
139
|
-
└─ 数据、服务、基础设施
|
|
140
|
-
|
|
141
|
-
2. 绘制数据流图
|
|
142
|
-
└─ 信任边界、数据流向
|
|
143
|
-
|
|
144
|
-
3. 识别威胁
|
|
145
|
-
└─ 使用 STRIDE 分析
|
|
146
|
-
|
|
147
|
-
4. 评估风险
|
|
148
|
-
└─ 可能性 × 影响
|
|
149
|
-
|
|
150
|
-
5. 制定缓解措施
|
|
151
|
-
└─ 技术控制、流程控制
|
|
152
|
-
|
|
153
|
-
6. 验证和迭代
|
|
154
|
-
└─ 渗透测试、代码审计
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
## 安全设计原则
|
|
158
|
-
|
|
159
|
-
```yaml
|
|
160
|
-
纵深防御:
|
|
161
|
-
- 多层安全控制
|
|
162
|
-
- 单点失效不致命
|
|
163
|
-
|
|
164
|
-
最小权限:
|
|
165
|
-
- 仅授予必要权限
|
|
166
|
-
- 定期审查权限
|
|
167
|
-
|
|
168
|
-
安全默认:
|
|
169
|
-
- 默认拒绝
|
|
170
|
-
- 显式允许
|
|
171
|
-
|
|
172
|
-
失败安全:
|
|
173
|
-
- 失败时拒绝访问
|
|
174
|
-
- 不泄露敏感信息
|
|
175
|
-
|
|
176
|
-
分离职责:
|
|
177
|
-
- 关键操作需多人
|
|
178
|
-
- 开发/运维分离
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
## 安全架构检查清单
|
|
182
|
-
|
|
183
|
-
```yaml
|
|
184
|
-
认证:
|
|
185
|
-
- [ ] 实施 MFA
|
|
186
|
-
- [ ] 密码策略
|
|
187
|
-
- [ ] 会话管理
|
|
188
|
-
- [ ] 账户锁定
|
|
189
|
-
|
|
190
|
-
授权:
|
|
191
|
-
- [ ] 最小权限
|
|
192
|
-
- [ ] RBAC/ABAC
|
|
193
|
-
- [ ] API 授权
|
|
194
|
-
|
|
195
|
-
数据保护:
|
|
196
|
-
- [ ] 传输加密 (TLS)
|
|
197
|
-
- [ ] 存储加密
|
|
198
|
-
- [ ] 密钥管理
|
|
199
|
-
|
|
200
|
-
日志审计:
|
|
201
|
-
- [ ] 安全事件日志
|
|
202
|
-
- [ ] 访问日志
|
|
203
|
-
- [ ] 日志保护
|
|
204
|
-
|
|
205
|
-
网络:
|
|
206
|
-
- [ ] 网络分段
|
|
207
|
-
- [ ] 防火墙规则
|
|
208
|
-
- [ ] WAF
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
## 数据安全
|
|
212
|
-
|
|
213
|
-
### 数据分类
|
|
214
|
-
| 级别 | 类型 | 保护措施 | 示例 |
|
|
215
|
-
|------|------|----------|------|
|
|
216
|
-
| 公开 | Public | 无特殊要求 | 产品文档 |
|
|
217
|
-
| 内部 | Internal | 访问控制 | 内部Wiki |
|
|
218
|
-
| 机密 | Confidential | 加密+审计 | 客户数据 |
|
|
219
|
-
| 受限 | Restricted | 加密+审计+MFA | 密钥、PII |
|
|
220
|
-
|
|
221
|
-
### 加密要求
|
|
222
|
-
```yaml
|
|
223
|
-
传输加密:
|
|
224
|
-
- TLS 1.2+(禁用 1.0/1.1)
|
|
225
|
-
- 推荐: TLS_AES_256_GCM_SHA384 / TLS_CHACHA20_POLY1305_SHA256
|
|
226
|
-
- HSTS + 证书管理
|
|
227
|
-
|
|
228
|
-
存储加密:
|
|
229
|
-
- AES-256-GCM(对称)+ 密钥与数据分离(KMS/Vault)+ 定期轮换
|
|
230
|
-
|
|
231
|
-
密码存储:
|
|
232
|
-
- bcrypt (rounds>=12) 或 argon2,禁止 MD5/SHA1
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
### 隐私保护
|
|
236
|
-
```yaml
|
|
237
|
-
数据脱敏: 姓名(张**) / 手机(138****1234) / 邮箱(z***@x.com)
|
|
238
|
-
数据最小化: 只收集必要数据 / 限制保留期限 / 定期清理 / 匿名化
|
|
239
|
-
生命周期: 创建(分类)→存储(加密)→使用(审计)→共享(脱敏)→归档(压缩)→销毁(安全删除)
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
### 数据安全检查清单
|
|
243
|
-
```yaml
|
|
244
|
-
- [ ] 数据资产清单 + 敏感数据识别 + 数据流映射
|
|
245
|
-
- [ ] 传输加密 + 存储加密 + 访问控制 + 数据脱敏
|
|
246
|
-
- [ ] 访问日志 + 异常检测 + DLP
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
## 合规审计
|
|
250
|
-
|
|
251
|
-
### 合规框架速查
|
|
252
|
-
| 框架 | 适用范围 | 核心要求 | 处罚 |
|
|
253
|
-
|------|----------|----------|------|
|
|
254
|
-
| GDPR | 欧盟用户数据 | 数据保护、用户权利 | 营收4%或2000万欧 |
|
|
255
|
-
| SOC 2 | SaaS/云服务 | 安全、可用、机密、隐私 | 失去客户信任 |
|
|
256
|
-
| HIPAA | 医疗健康数据 | PHI保护 | $50K-$1.5M/次 |
|
|
257
|
-
| PCI DSS | 支付卡数据 | 持卡人数据保护 | $5K-$100K/月 |
|
|
258
|
-
|
|
259
|
-
### GDPR 用户权利 (DSAR)
|
|
260
|
-
| 权利 | API | SLA |
|
|
261
|
-
|------|-----|-----|
|
|
262
|
-
| 访问权 | `GET /users/{id}/data-export` | 30天 |
|
|
263
|
-
| 删除权 | `DELETE /users/{id}/data` | 30天 |
|
|
264
|
-
| 可携带权 | `GET /users/{id}/data-export?format=json` | 30天 |
|
|
265
|
-
| 限制处理 | `POST /users/{id}/restrict` | 72小时 |
|
|
266
|
-
|
|
267
|
-
### SOC 2 关键控制
|
|
268
|
-
```yaml
|
|
269
|
-
访问控制: MFA强制 + RBAC + 最小权限 + 季度审查 + 离职即撤权
|
|
270
|
-
变更管理: PR审查 + 分环境部署 + 审批流程 + 回滚方案
|
|
271
|
-
监控告警: 安全事件监控 + 异常登录检测 + 数据访问审计
|
|
272
|
-
事件响应: IR计划文档化 + 定期演练 + 72小时通知 + 事后复盘
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
### 审计日志要求
|
|
276
|
-
```yaml
|
|
277
|
-
必须审计: 登录/MFA/密码变更 | 权限/角色变更 | 敏感数据访问/导出/删除 | 配置/部署变更
|
|
278
|
-
存储: 不可篡改(WORM) + 加密 + 异地备份
|
|
279
|
-
保留: 安全事件>=1年 / 访问日志>=90天 / 变更>=3年 / 合规审计>=7年
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
### 合规即代码 (OPA)
|
|
283
|
-
```rego
|
|
284
|
-
deny[msg] {
|
|
285
|
-
input.resource_type == "aws_s3_bucket"
|
|
286
|
-
input.resource.acl == "public-read"
|
|
287
|
-
msg := sprintf("S3 %s must not be public", [input.resource.name])
|
|
288
|
-
}
|
|
289
|
-
```
|
|
290
|
-
|
|
291
|
-
### 合规检查清单
|
|
292
|
-
```yaml
|
|
293
|
-
GDPR: 隐私政策 + 同意管理 + DSAR(30天) + 加密 + 保留策略 + 泄露通知(72h)
|
|
294
|
-
SOC2: 访问控制+MFA + 变更管理 + IR计划 + 漏洞管理 + 安全培训
|
|
295
|
-
审计: 日志覆盖关键操作 + 不可篡改 + 保留期限合规
|
|
296
|
-
```
|
|
297
|
-
|
|
1
|
+
---
|
|
2
|
+
name: security-arch
|
|
3
|
+
description: 安全架构设计。零信任、身份认证、威胁建模。当用户提到安全架构、零信任、IAM、身份认证、威胁建模时使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 🏗 阵法秘典 · 安全架构设计
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## 零信任架构
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
13
|
+
│ 零信任原则 │
|
|
14
|
+
├─────────────────────────────────────────────────────────────┤
|
|
15
|
+
│ 1. 永不信任,始终验证 │
|
|
16
|
+
│ 2. 最小权限访问 │
|
|
17
|
+
│ 3. 假设已被入侵 │
|
|
18
|
+
│ 4. 显式验证每个请求 │
|
|
19
|
+
│ 5. 持续监控和验证 │
|
|
20
|
+
└─────────────────────────────────────────────────────────────┘
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### 核心组件
|
|
24
|
+
```yaml
|
|
25
|
+
身份验证:
|
|
26
|
+
- 多因素认证 (MFA)
|
|
27
|
+
- 单点登录 (SSO)
|
|
28
|
+
- 证书认证
|
|
29
|
+
|
|
30
|
+
设备信任:
|
|
31
|
+
- 设备健康检查
|
|
32
|
+
- 端点检测响应 (EDR)
|
|
33
|
+
- 移动设备管理 (MDM)
|
|
34
|
+
|
|
35
|
+
网络分段:
|
|
36
|
+
- 微分段
|
|
37
|
+
- 软件定义边界 (SDP)
|
|
38
|
+
- 网络访问控制
|
|
39
|
+
|
|
40
|
+
数据保护:
|
|
41
|
+
- 加密传输/存储
|
|
42
|
+
- 数据分类
|
|
43
|
+
- DLP
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## 身份与访问管理 (IAM)
|
|
47
|
+
|
|
48
|
+
### 认证方式
|
|
49
|
+
```yaml
|
|
50
|
+
密码认证:
|
|
51
|
+
- 强密码策略
|
|
52
|
+
- 密码哈希 (bcrypt/argon2)
|
|
53
|
+
- 防暴力破解
|
|
54
|
+
|
|
55
|
+
多因素认证:
|
|
56
|
+
- TOTP (Google Authenticator)
|
|
57
|
+
- FIDO2/WebAuthn
|
|
58
|
+
- 短信/邮件验证码
|
|
59
|
+
|
|
60
|
+
单点登录:
|
|
61
|
+
- SAML 2.0
|
|
62
|
+
- OAuth 2.0 / OIDC
|
|
63
|
+
- Kerberos
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### 授权模型
|
|
67
|
+
```yaml
|
|
68
|
+
RBAC (基于角色):
|
|
69
|
+
用户 → 角色 → 权限
|
|
70
|
+
示例:
|
|
71
|
+
- admin: [read, write, delete]
|
|
72
|
+
- editor: [read, write]
|
|
73
|
+
- viewer: [read]
|
|
74
|
+
|
|
75
|
+
ABAC (基于属性):
|
|
76
|
+
策略 = f(主体属性, 资源属性, 环境属性)
|
|
77
|
+
示例:
|
|
78
|
+
- 部门=财务 AND 级别>=3 → 访问财务报表
|
|
79
|
+
|
|
80
|
+
PBAC (基于策略):
|
|
81
|
+
使用策略语言定义复杂规则
|
|
82
|
+
示例: OPA/Rego
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### JWT 最佳实践
|
|
86
|
+
```yaml
|
|
87
|
+
签名算法:
|
|
88
|
+
- 使用 RS256 或 ES256
|
|
89
|
+
- 避免 HS256 (共享密钥)
|
|
90
|
+
- 禁止 none 算法
|
|
91
|
+
|
|
92
|
+
Token 管理:
|
|
93
|
+
- 短期访问令牌 (15分钟)
|
|
94
|
+
- 长期刷新令牌 (7天)
|
|
95
|
+
- 令牌轮换
|
|
96
|
+
- 黑名单机制
|
|
97
|
+
|
|
98
|
+
Claims:
|
|
99
|
+
- iss: 签发者
|
|
100
|
+
- sub: 主题
|
|
101
|
+
- aud: 受众
|
|
102
|
+
- exp: 过期时间
|
|
103
|
+
- iat: 签发时间
|
|
104
|
+
- jti: 唯一标识
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## 威胁建模
|
|
108
|
+
|
|
109
|
+
### STRIDE 模型
|
|
110
|
+
```yaml
|
|
111
|
+
S - Spoofing (欺骗):
|
|
112
|
+
威胁: 冒充用户身份
|
|
113
|
+
缓解: 强认证、MFA
|
|
114
|
+
|
|
115
|
+
T - Tampering (篡改):
|
|
116
|
+
威胁: 修改数据
|
|
117
|
+
缓解: 完整性校验、签名
|
|
118
|
+
|
|
119
|
+
R - Repudiation (抵赖):
|
|
120
|
+
威胁: 否认操作
|
|
121
|
+
缓解: 审计日志、数字签名
|
|
122
|
+
|
|
123
|
+
I - Information Disclosure (信息泄露):
|
|
124
|
+
威胁: 数据泄露
|
|
125
|
+
缓解: 加密、访问控制
|
|
126
|
+
|
|
127
|
+
D - Denial of Service (拒绝服务):
|
|
128
|
+
威胁: 服务不可用
|
|
129
|
+
缓解: 限流、冗余
|
|
130
|
+
|
|
131
|
+
E - Elevation of Privilege (权限提升):
|
|
132
|
+
威胁: 获取更高权限
|
|
133
|
+
缓解: 最小权限、输入验证
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### 威胁建模流程
|
|
137
|
+
```
|
|
138
|
+
1. 识别资产
|
|
139
|
+
└─ 数据、服务、基础设施
|
|
140
|
+
|
|
141
|
+
2. 绘制数据流图
|
|
142
|
+
└─ 信任边界、数据流向
|
|
143
|
+
|
|
144
|
+
3. 识别威胁
|
|
145
|
+
└─ 使用 STRIDE 分析
|
|
146
|
+
|
|
147
|
+
4. 评估风险
|
|
148
|
+
└─ 可能性 × 影响
|
|
149
|
+
|
|
150
|
+
5. 制定缓解措施
|
|
151
|
+
└─ 技术控制、流程控制
|
|
152
|
+
|
|
153
|
+
6. 验证和迭代
|
|
154
|
+
└─ 渗透测试、代码审计
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## 安全设计原则
|
|
158
|
+
|
|
159
|
+
```yaml
|
|
160
|
+
纵深防御:
|
|
161
|
+
- 多层安全控制
|
|
162
|
+
- 单点失效不致命
|
|
163
|
+
|
|
164
|
+
最小权限:
|
|
165
|
+
- 仅授予必要权限
|
|
166
|
+
- 定期审查权限
|
|
167
|
+
|
|
168
|
+
安全默认:
|
|
169
|
+
- 默认拒绝
|
|
170
|
+
- 显式允许
|
|
171
|
+
|
|
172
|
+
失败安全:
|
|
173
|
+
- 失败时拒绝访问
|
|
174
|
+
- 不泄露敏感信息
|
|
175
|
+
|
|
176
|
+
分离职责:
|
|
177
|
+
- 关键操作需多人
|
|
178
|
+
- 开发/运维分离
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## 安全架构检查清单
|
|
182
|
+
|
|
183
|
+
```yaml
|
|
184
|
+
认证:
|
|
185
|
+
- [ ] 实施 MFA
|
|
186
|
+
- [ ] 密码策略
|
|
187
|
+
- [ ] 会话管理
|
|
188
|
+
- [ ] 账户锁定
|
|
189
|
+
|
|
190
|
+
授权:
|
|
191
|
+
- [ ] 最小权限
|
|
192
|
+
- [ ] RBAC/ABAC
|
|
193
|
+
- [ ] API 授权
|
|
194
|
+
|
|
195
|
+
数据保护:
|
|
196
|
+
- [ ] 传输加密 (TLS)
|
|
197
|
+
- [ ] 存储加密
|
|
198
|
+
- [ ] 密钥管理
|
|
199
|
+
|
|
200
|
+
日志审计:
|
|
201
|
+
- [ ] 安全事件日志
|
|
202
|
+
- [ ] 访问日志
|
|
203
|
+
- [ ] 日志保护
|
|
204
|
+
|
|
205
|
+
网络:
|
|
206
|
+
- [ ] 网络分段
|
|
207
|
+
- [ ] 防火墙规则
|
|
208
|
+
- [ ] WAF
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
## 数据安全
|
|
212
|
+
|
|
213
|
+
### 数据分类
|
|
214
|
+
| 级别 | 类型 | 保护措施 | 示例 |
|
|
215
|
+
|------|------|----------|------|
|
|
216
|
+
| 公开 | Public | 无特殊要求 | 产品文档 |
|
|
217
|
+
| 内部 | Internal | 访问控制 | 内部Wiki |
|
|
218
|
+
| 机密 | Confidential | 加密+审计 | 客户数据 |
|
|
219
|
+
| 受限 | Restricted | 加密+审计+MFA | 密钥、PII |
|
|
220
|
+
|
|
221
|
+
### 加密要求
|
|
222
|
+
```yaml
|
|
223
|
+
传输加密:
|
|
224
|
+
- TLS 1.2+(禁用 1.0/1.1)
|
|
225
|
+
- 推荐: TLS_AES_256_GCM_SHA384 / TLS_CHACHA20_POLY1305_SHA256
|
|
226
|
+
- HSTS + 证书管理
|
|
227
|
+
|
|
228
|
+
存储加密:
|
|
229
|
+
- AES-256-GCM(对称)+ 密钥与数据分离(KMS/Vault)+ 定期轮换
|
|
230
|
+
|
|
231
|
+
密码存储:
|
|
232
|
+
- bcrypt (rounds>=12) 或 argon2,禁止 MD5/SHA1
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### 隐私保护
|
|
236
|
+
```yaml
|
|
237
|
+
数据脱敏: 姓名(张**) / 手机(138****1234) / 邮箱(z***@x.com)
|
|
238
|
+
数据最小化: 只收集必要数据 / 限制保留期限 / 定期清理 / 匿名化
|
|
239
|
+
生命周期: 创建(分类)→存储(加密)→使用(审计)→共享(脱敏)→归档(压缩)→销毁(安全删除)
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### 数据安全检查清单
|
|
243
|
+
```yaml
|
|
244
|
+
- [ ] 数据资产清单 + 敏感数据识别 + 数据流映射
|
|
245
|
+
- [ ] 传输加密 + 存储加密 + 访问控制 + 数据脱敏
|
|
246
|
+
- [ ] 访问日志 + 异常检测 + DLP
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
## 合规审计
|
|
250
|
+
|
|
251
|
+
### 合规框架速查
|
|
252
|
+
| 框架 | 适用范围 | 核心要求 | 处罚 |
|
|
253
|
+
|------|----------|----------|------|
|
|
254
|
+
| GDPR | 欧盟用户数据 | 数据保护、用户权利 | 营收4%或2000万欧 |
|
|
255
|
+
| SOC 2 | SaaS/云服务 | 安全、可用、机密、隐私 | 失去客户信任 |
|
|
256
|
+
| HIPAA | 医疗健康数据 | PHI保护 | $50K-$1.5M/次 |
|
|
257
|
+
| PCI DSS | 支付卡数据 | 持卡人数据保护 | $5K-$100K/月 |
|
|
258
|
+
|
|
259
|
+
### GDPR 用户权利 (DSAR)
|
|
260
|
+
| 权利 | API | SLA |
|
|
261
|
+
|------|-----|-----|
|
|
262
|
+
| 访问权 | `GET /users/{id}/data-export` | 30天 |
|
|
263
|
+
| 删除权 | `DELETE /users/{id}/data` | 30天 |
|
|
264
|
+
| 可携带权 | `GET /users/{id}/data-export?format=json` | 30天 |
|
|
265
|
+
| 限制处理 | `POST /users/{id}/restrict` | 72小时 |
|
|
266
|
+
|
|
267
|
+
### SOC 2 关键控制
|
|
268
|
+
```yaml
|
|
269
|
+
访问控制: MFA强制 + RBAC + 最小权限 + 季度审查 + 离职即撤权
|
|
270
|
+
变更管理: PR审查 + 分环境部署 + 审批流程 + 回滚方案
|
|
271
|
+
监控告警: 安全事件监控 + 异常登录检测 + 数据访问审计
|
|
272
|
+
事件响应: IR计划文档化 + 定期演练 + 72小时通知 + 事后复盘
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### 审计日志要求
|
|
276
|
+
```yaml
|
|
277
|
+
必须审计: 登录/MFA/密码变更 | 权限/角色变更 | 敏感数据访问/导出/删除 | 配置/部署变更
|
|
278
|
+
存储: 不可篡改(WORM) + 加密 + 异地备份
|
|
279
|
+
保留: 安全事件>=1年 / 访问日志>=90天 / 变更>=3年 / 合规审计>=7年
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### 合规即代码 (OPA)
|
|
283
|
+
```rego
|
|
284
|
+
deny[msg] {
|
|
285
|
+
input.resource_type == "aws_s3_bucket"
|
|
286
|
+
input.resource.acl == "public-read"
|
|
287
|
+
msg := sprintf("S3 %s must not be public", [input.resource.name])
|
|
288
|
+
}
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
### 合规检查清单
|
|
292
|
+
```yaml
|
|
293
|
+
GDPR: 隐私政策 + 同意管理 + DSAR(30天) + 加密 + 保留策略 + 泄露通知(72h)
|
|
294
|
+
SOC2: 访问控制+MFA + 变更管理 + IR计划 + 漏洞管理 + 安全培训
|
|
295
|
+
审计: 日志覆盖关键操作 + 不可篡改 + 保留期限合规
|
|
296
|
+
```
|
|
297
|
+
|