code-abyss 1.5.1

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.
Files changed (64) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +197 -0
  3. package/bin/install.js +193 -0
  4. package/bin/uninstall.js +42 -0
  5. package/config/AGENTS.md +247 -0
  6. package/config/CLAUDE.md +207 -0
  7. package/config/settings.example.json +27 -0
  8. package/output-styles/abyss-cultivator.md +399 -0
  9. package/package.json +41 -0
  10. package/skills/SKILL.md +115 -0
  11. package/skills/ai/SKILL.md +29 -0
  12. package/skills/ai/agent-dev.md +242 -0
  13. package/skills/ai/llm-security.md +288 -0
  14. package/skills/architecture/SKILL.md +41 -0
  15. package/skills/architecture/api-design.md +225 -0
  16. package/skills/architecture/caching.md +299 -0
  17. package/skills/architecture/cloud-native.md +285 -0
  18. package/skills/architecture/compliance.md +299 -0
  19. package/skills/architecture/data-security.md +184 -0
  20. package/skills/architecture/message-queue.md +329 -0
  21. package/skills/architecture/security-arch.md +210 -0
  22. package/skills/development/SKILL.md +43 -0
  23. package/skills/development/cpp.md +246 -0
  24. package/skills/development/go.md +323 -0
  25. package/skills/development/java.md +277 -0
  26. package/skills/development/python.md +288 -0
  27. package/skills/development/rust.md +313 -0
  28. package/skills/development/shell.md +313 -0
  29. package/skills/development/typescript.md +277 -0
  30. package/skills/devops/SKILL.md +36 -0
  31. package/skills/devops/cost-optimization.md +272 -0
  32. package/skills/devops/database.md +217 -0
  33. package/skills/devops/devsecops.md +198 -0
  34. package/skills/devops/git-workflow.md +181 -0
  35. package/skills/devops/observability.md +280 -0
  36. package/skills/devops/performance.md +273 -0
  37. package/skills/devops/testing.md +186 -0
  38. package/skills/gen-docs/SKILL.md +114 -0
  39. package/skills/gen-docs/scripts/doc_generator.py +491 -0
  40. package/skills/multi-agent/SKILL.md +268 -0
  41. package/skills/run_skill.py +88 -0
  42. package/skills/security/SKILL.md +51 -0
  43. package/skills/security/blue-team.md +379 -0
  44. package/skills/security/code-audit.md +265 -0
  45. package/skills/security/pentest.md +226 -0
  46. package/skills/security/red-team.md +321 -0
  47. package/skills/security/threat-intel.md +322 -0
  48. package/skills/security/vuln-research.md +369 -0
  49. package/skills/tests/README.md +225 -0
  50. package/skills/tests/SUMMARY.md +362 -0
  51. package/skills/tests/__init__.py +3 -0
  52. package/skills/tests/test_change_analyzer.py +558 -0
  53. package/skills/tests/test_doc_generator.py +538 -0
  54. package/skills/tests/test_module_scanner.py +376 -0
  55. package/skills/tests/test_quality_checker.py +516 -0
  56. package/skills/tests/test_security_scanner.py +426 -0
  57. package/skills/verify-change/SKILL.md +138 -0
  58. package/skills/verify-change/scripts/change_analyzer.py +529 -0
  59. package/skills/verify-module/SKILL.md +125 -0
  60. package/skills/verify-module/scripts/module_scanner.py +321 -0
  61. package/skills/verify-quality/SKILL.md +158 -0
  62. package/skills/verify-quality/scripts/quality_checker.py +481 -0
  63. package/skills/verify-security/SKILL.md +141 -0
  64. package/skills/verify-security/scripts/security_scanner.py +368 -0
@@ -0,0 +1,285 @@
1
+ ---
2
+ name: cloud-native
3
+ description: 云原生架构。容器、Kubernetes、Serverless、微服务。当用户提到云原生、容器、Docker、Kubernetes、K8s、Serverless时使用。
4
+ ---
5
+
6
+ # 🏗 阵法秘典 · 云原生架构
7
+
8
+
9
+ ## Docker
10
+
11
+ ### Dockerfile
12
+ ```dockerfile
13
+ # 多阶段构建
14
+ FROM node:18-alpine AS builder
15
+ WORKDIR /app
16
+ COPY package*.json ./
17
+ RUN npm ci
18
+ COPY . .
19
+ RUN npm run build
20
+
21
+ FROM node:18-alpine
22
+ WORKDIR /app
23
+ COPY --from=builder /app/dist ./dist
24
+ COPY --from=builder /app/node_modules ./node_modules
25
+ EXPOSE 3000
26
+ USER node
27
+ CMD ["node", "dist/main.js"]
28
+ ```
29
+
30
+ ### Docker Compose
31
+ ```yaml
32
+ version: '3.8'
33
+ services:
34
+ app:
35
+ build: .
36
+ ports:
37
+ - "3000:3000"
38
+ environment:
39
+ - DATABASE_URL=postgres://db:5432/mydb
40
+ depends_on:
41
+ - db
42
+ healthcheck:
43
+ test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
44
+ interval: 30s
45
+ timeout: 10s
46
+ retries: 3
47
+
48
+ db:
49
+ image: postgres:15-alpine
50
+ volumes:
51
+ - postgres_data:/var/lib/postgresql/data
52
+ environment:
53
+ POSTGRES_DB: mydb
54
+ POSTGRES_PASSWORD: ${DB_PASSWORD}
55
+
56
+ volumes:
57
+ postgres_data:
58
+ ```
59
+
60
+ ### 安全最佳实践
61
+ ```yaml
62
+ 镜像安全:
63
+ - 使用官方基础镜像
64
+ - 最小化镜像 (alpine/distroless)
65
+ - 扫描漏洞 (Trivy)
66
+ - 固定版本标签
67
+
68
+ 运行时安全:
69
+ - 非 root 用户运行
70
+ - 只读文件系统
71
+ - 限制资源
72
+ - 禁用特权模式
73
+ ```
74
+
75
+ ## Kubernetes
76
+
77
+ ### 基础资源
78
+ ```yaml
79
+ # Deployment
80
+ apiVersion: apps/v1
81
+ kind: Deployment
82
+ metadata:
83
+ name: myapp
84
+ spec:
85
+ replicas: 3
86
+ selector:
87
+ matchLabels:
88
+ app: myapp
89
+ template:
90
+ metadata:
91
+ labels:
92
+ app: myapp
93
+ spec:
94
+ containers:
95
+ - name: myapp
96
+ image: myapp:1.0.0
97
+ ports:
98
+ - containerPort: 3000
99
+ resources:
100
+ requests:
101
+ memory: "128Mi"
102
+ cpu: "100m"
103
+ limits:
104
+ memory: "256Mi"
105
+ cpu: "200m"
106
+ livenessProbe:
107
+ httpGet:
108
+ path: /health
109
+ port: 3000
110
+ initialDelaySeconds: 10
111
+ periodSeconds: 10
112
+ readinessProbe:
113
+ httpGet:
114
+ path: /ready
115
+ port: 3000
116
+ initialDelaySeconds: 5
117
+ periodSeconds: 5
118
+ ---
119
+ # Service
120
+ apiVersion: v1
121
+ kind: Service
122
+ metadata:
123
+ name: myapp
124
+ spec:
125
+ selector:
126
+ app: myapp
127
+ ports:
128
+ - port: 80
129
+ targetPort: 3000
130
+ type: ClusterIP
131
+ ---
132
+ # Ingress
133
+ apiVersion: networking.k8s.io/v1
134
+ kind: Ingress
135
+ metadata:
136
+ name: myapp
137
+ annotations:
138
+ nginx.ingress.kubernetes.io/ssl-redirect: "true"
139
+ spec:
140
+ tls:
141
+ - hosts:
142
+ - myapp.example.com
143
+ secretName: myapp-tls
144
+ rules:
145
+ - host: myapp.example.com
146
+ http:
147
+ paths:
148
+ - path: /
149
+ pathType: Prefix
150
+ backend:
151
+ service:
152
+ name: myapp
153
+ port:
154
+ number: 80
155
+ ```
156
+
157
+ ### 配置管理
158
+ ```yaml
159
+ # ConfigMap
160
+ apiVersion: v1
161
+ kind: ConfigMap
162
+ metadata:
163
+ name: myapp-config
164
+ data:
165
+ APP_ENV: production
166
+ LOG_LEVEL: info
167
+ ---
168
+ # Secret
169
+ apiVersion: v1
170
+ kind: Secret
171
+ metadata:
172
+ name: myapp-secret
173
+ type: Opaque
174
+ stringData:
175
+ DATABASE_URL: postgres://user:pass@db:5432/mydb
176
+ ```
177
+
178
+ ### 安全策略
179
+ ```yaml
180
+ # NetworkPolicy
181
+ apiVersion: networking.k8s.io/v1
182
+ kind: NetworkPolicy
183
+ metadata:
184
+ name: myapp-network-policy
185
+ spec:
186
+ podSelector:
187
+ matchLabels:
188
+ app: myapp
189
+ policyTypes:
190
+ - Ingress
191
+ - Egress
192
+ ingress:
193
+ - from:
194
+ - podSelector:
195
+ matchLabels:
196
+ app: frontend
197
+ ports:
198
+ - port: 3000
199
+ egress:
200
+ - to:
201
+ - podSelector:
202
+ matchLabels:
203
+ app: database
204
+ ports:
205
+ - port: 5432
206
+ ---
207
+ # PodSecurityPolicy (已废弃,使用 Pod Security Standards)
208
+ # Pod Security Admission
209
+ apiVersion: v1
210
+ kind: Namespace
211
+ metadata:
212
+ name: myapp
213
+ labels:
214
+ pod-security.kubernetes.io/enforce: restricted
215
+ ```
216
+
217
+ ## Serverless
218
+
219
+ ### AWS Lambda
220
+ ```python
221
+ import json
222
+
223
+ def handler(event, context):
224
+ body = json.loads(event.get('body', '{}'))
225
+
226
+ return {
227
+ 'statusCode': 200,
228
+ 'headers': {'Content-Type': 'application/json'},
229
+ 'body': json.dumps({'message': 'Hello!'})
230
+ }
231
+ ```
232
+
233
+ ### Serverless Framework
234
+ ```yaml
235
+ service: myapp
236
+
237
+ provider:
238
+ name: aws
239
+ runtime: python3.9
240
+ region: us-east-1
241
+ environment:
242
+ TABLE_NAME: ${self:service}-${sls:stage}
243
+
244
+ functions:
245
+ hello:
246
+ handler: handler.hello
247
+ events:
248
+ - http:
249
+ path: /hello
250
+ method: get
251
+
252
+ process:
253
+ handler: handler.process
254
+ events:
255
+ - sqs:
256
+ arn: !GetAtt MyQueue.Arn
257
+
258
+ resources:
259
+ Resources:
260
+ MyQueue:
261
+ Type: AWS::SQS::Queue
262
+ ```
263
+
264
+ ## 微服务模式
265
+
266
+ ```yaml
267
+ 服务发现:
268
+ - DNS (Kubernetes Service)
269
+ - Service Mesh (Istio)
270
+
271
+ 负载均衡:
272
+ - 客户端负载均衡
273
+ - 服务端负载均衡
274
+
275
+ 熔断器:
276
+ - Circuit Breaker
277
+ - Retry with backoff
278
+ - Timeout
279
+
280
+ 可观测性:
281
+ - 日志聚合 (ELK)
282
+ - 指标监控 (Prometheus)
283
+ - 分布式追踪 (Jaeger)
284
+ ```
285
+
@@ -0,0 +1,299 @@
1
+ ---
2
+ name: compliance
3
+ description: 合规审计秘典。GDPR、SOC2、审计日志、数据治理、合规即代码。当用户提到合规、GDPR、SOC2、审计、数据治理、隐私时路由到此。
4
+ ---
5
+
6
+ # 🏗 阵法秘典 · 合规审计
7
+
8
+
9
+ ## 合规框架总览
10
+
11
+ | 框架 | 适用范围 | 核心要求 | 处罚 |
12
+ |------|----------|----------|------|
13
+ | GDPR | 欧盟用户数据 | 数据保护、用户权利 | 营收4%或€2000万 |
14
+ | SOC 2 | SaaS/云服务 | 安全、可用、机密、隐私、处理完整性 | 失去客户信任 |
15
+ | HIPAA | 医疗健康数据 | PHI保护 | $50K-$1.5M/次 |
16
+ | PCI DSS | 支付卡数据 | 持卡人数据保护 | $5K-$100K/月 |
17
+ | ISO 27001 | 信息安全管理 | ISMS体系 | 认证失败 |
18
+
19
+ ---
20
+
21
+ ## GDPR
22
+
23
+ ### 七大原则
24
+
25
+ | 原则 | 含义 | 技术实现 |
26
+ |------|------|----------|
27
+ | 合法性 | 有合法基础处理数据 | 同意管理系统 |
28
+ | 目的限制 | 仅用于声明目的 | 数据用途标记 |
29
+ | 数据最小化 | 仅收集必要数据 | 字段级权限控制 |
30
+ | 准确性 | 数据准确且及时更新 | 数据校验流程 |
31
+ | 存储限制 | 不超期保留 | 自动过期删除 |
32
+ | 完整性与机密性 | 安全保护 | 加密、访问控制 |
33
+ | 问责制 | 可证明合规 | 审计日志 |
34
+
35
+ ### 用户权利 (DSAR)
36
+
37
+ | 权利 | API 实现 | SLA |
38
+ |------|----------|-----|
39
+ | 访问权 | `GET /api/users/{id}/data-export` | 30天 |
40
+ | 删除权 | `DELETE /api/users/{id}/data` | 30天 |
41
+ | 可携带权 | `GET /api/users/{id}/data-export?format=json` | 30天 |
42
+ | 更正权 | `PATCH /api/users/{id}/data` | 30天 |
43
+ | 限制处理 | `POST /api/users/{id}/restrict` | 72小时 |
44
+ | 反对权 | `POST /api/users/{id}/opt-out` | 即时 |
45
+
46
+ ### 技术实现
47
+
48
+ ```python
49
+ # 数据删除 (Right to Erasure)
50
+ async def delete_user_data(user_id: str):
51
+ # 1. 标记删除(软删除)
52
+ await db.execute(
53
+ "UPDATE users SET status='deleted', deleted_at=NOW() WHERE id = %s",
54
+ user_id
55
+ )
56
+
57
+ # 2. 匿名化关联数据
58
+ await db.execute(
59
+ "UPDATE orders SET user_name='[REDACTED]', email='[REDACTED]' WHERE user_id = %s",
60
+ user_id
61
+ )
62
+
63
+ # 3. 清除缓存
64
+ await redis.delete(f"user:{user_id}")
65
+
66
+ # 4. 通知下游服务
67
+ await event_bus.publish("user.data.deleted", {"user_id": user_id})
68
+
69
+ # 5. 记录审计日志
70
+ await audit_log.record(
71
+ action="GDPR_ERASURE",
72
+ subject=user_id,
73
+ actor="system",
74
+ details={"reason": "DSAR request"}
75
+ )
76
+ ```
77
+
78
+ ---
79
+
80
+ ## SOC 2
81
+
82
+ ### 五大信任原则
83
+
84
+ | 原则 | 关注点 | 关键控制 |
85
+ |------|--------|----------|
86
+ | 安全 (必选) | 防止未授权访问 | 访问控制、加密、防火墙 |
87
+ | 可用性 | 系统可用性承诺 | SLA、灾备、监控 |
88
+ | 处理完整性 | 数据处理准确完整 | 输入验证、对账 |
89
+ | 机密性 | 机密信息保护 | 加密、分类、DLP |
90
+ | 隐私 | 个人信息保护 | 隐私政策、同意管理 |
91
+
92
+ ### 关键控制措施
93
+
94
+ ```yaml
95
+ 访问控制:
96
+ - MFA 强制启用
97
+ - RBAC / ABAC
98
+ - 最小权限原则
99
+ - 定期访问审查 (季度)
100
+ - 离职即撤权
101
+
102
+ 变更管理:
103
+ - 代码审查 (PR approval)
104
+ - 分环境部署 (dev → staging → prod)
105
+ - 变更审批流程
106
+ - 回滚方案
107
+
108
+ 监控与告警:
109
+ - 安全事件监控
110
+ - 异常登录检测
111
+ - 数据访问审计
112
+ - 定期漏洞扫描
113
+
114
+ 事件响应:
115
+ - IR 计划文档化
116
+ - 定期演练
117
+ - 通知流程 (72小时内)
118
+ - 事后复盘
119
+ ```
120
+
121
+ ---
122
+
123
+ ## 审计日志
124
+
125
+ ### 日志设计
126
+
127
+ ```json
128
+ {
129
+ "id": "audit-uuid-001",
130
+ "timestamp": "2024-01-15T10:30:00.123Z",
131
+ "actor": {
132
+ "id": "user-123",
133
+ "type": "user",
134
+ "ip": "192.168.x.x",
135
+ "user_agent": "Mozilla/5.0..."
136
+ },
137
+ "action": "user.data.export",
138
+ "resource": {
139
+ "type": "user_data",
140
+ "id": "user-456"
141
+ },
142
+ "result": "success",
143
+ "details": {
144
+ "reason": "DSAR request",
145
+ "fields_exported": ["name", "email", "orders"]
146
+ },
147
+ "metadata": {
148
+ "request_id": "req-789",
149
+ "service": "user-service",
150
+ "version": "1.2.3"
151
+ }
152
+ }
153
+ ```
154
+
155
+ ### 必须审计的事件
156
+
157
+ ```yaml
158
+ 认证:
159
+ - 登录成功/失败
160
+ - MFA 验证
161
+ - 密码变更
162
+ - Token 签发/撤销
163
+
164
+ 授权:
165
+ - 权限变更
166
+ - 角色分配
167
+ - 访问拒绝
168
+
169
+ 数据:
170
+ - 敏感数据访问
171
+ - 数据导出
172
+ - 数据删除
173
+ - 批量操作
174
+
175
+ 系统:
176
+ - 配置变更
177
+ - 部署事件
178
+ - 安全策略变更
179
+ - 管理员操作
180
+ ```
181
+
182
+ ### 存储要求
183
+
184
+ ```yaml
185
+ 保留期限:
186
+ - 安全事件: ≥ 1年
187
+ - 访问日志: ≥ 90天
188
+ - 变更日志: ≥ 3年
189
+ - 合规审计: ≥ 7年
190
+
191
+ 存储策略:
192
+ - 不可篡改 (WORM / append-only)
193
+ - 加密存储
194
+ - 异地备份
195
+ - 访问控制 (仅审计员可读)
196
+ ```
197
+
198
+ ---
199
+
200
+ ## 数据治理
201
+
202
+ ### 数据分类
203
+
204
+ | 级别 | 类型 | 保护措施 | 示例 |
205
+ |------|------|----------|------|
206
+ | 公开 | Public | 无特殊要求 | 产品文档 |
207
+ | 内部 | Internal | 访问控制 | 内部Wiki |
208
+ | 机密 | Confidential | 加密+审计 | 客户数据 |
209
+ | 受限 | Restricted | 加密+审计+MFA | 密钥、PII |
210
+
211
+ ### 数据生命周期
212
+
213
+ ```
214
+ 创建 → 存储 → 使用 → 共享 → 归档 → 销毁
215
+ │ │ │ │ │ │
216
+ 分类 加密 审计 脱敏 压缩 安全删除
217
+ ```
218
+
219
+ ### 数据血缘 (Data Lineage)
220
+
221
+ ```
222
+ 数据源 → ETL → 数据仓库 → 报表
223
+ │ │ │
224
+ └── 追踪数据流向,确保合规处理
225
+ ```
226
+
227
+ ---
228
+
229
+ ## 合规即代码 (Compliance as Code)
230
+
231
+ ### OPA (Open Policy Agent)
232
+
233
+ ```rego
234
+ # 策略: 禁止公开 S3 Bucket
235
+ deny[msg] {
236
+ input.resource_type == "aws_s3_bucket"
237
+ input.resource.acl == "public-read"
238
+ msg := sprintf("S3 bucket %s must not be public", [input.resource.name])
239
+ }
240
+
241
+ # 策略: 强制加密
242
+ deny[msg] {
243
+ input.resource_type == "aws_s3_bucket"
244
+ not input.resource.server_side_encryption_configuration
245
+ msg := sprintf("S3 bucket %s must have encryption enabled", [input.resource.name])
246
+ }
247
+ ```
248
+
249
+ ### CI/CD 集成
250
+
251
+ ```yaml
252
+ # 合规检查 Pipeline
253
+ compliance-check:
254
+ stage: validate
255
+ steps:
256
+ - name: Terraform Plan
257
+ run: terraform plan -out=plan.tfplan
258
+
259
+ - name: OPA Check
260
+ run: |
261
+ terraform show -json plan.tfplan > plan.json
262
+ opa eval -d policies/ -i plan.json "data.terraform.deny"
263
+
264
+ - name: Secret Scan
265
+ run: gitleaks detect --source .
266
+
267
+ - name: License Check
268
+ run: license-checker --production --failOn "GPL"
269
+ ```
270
+
271
+ ---
272
+
273
+ ## 合规检查清单
274
+
275
+ ```yaml
276
+ GDPR:
277
+ - [ ] 隐私政策更新
278
+ - [ ] 同意管理实现
279
+ - [ ] DSAR 流程就绪 (30天SLA)
280
+ - [ ] 数据加密 (传输+存储)
281
+ - [ ] 数据保留策略
282
+ - [ ] 数据泄露通知流程 (72小时)
283
+ - [ ] DPO 指定
284
+
285
+ SOC 2:
286
+ - [ ] 访问控制 + MFA
287
+ - [ ] 变更管理流程
288
+ - [ ] 事件响应计划
289
+ - [ ] 漏洞管理
290
+ - [ ] 安全培训记录
291
+ - [ ] 供应商评估
292
+
293
+ 审计:
294
+ - [ ] 审计日志覆盖关键操作
295
+ - [ ] 日志不可篡改
296
+ - [ ] 保留期限符合要求
297
+ - [ ] 定期审计审查
298
+ ```
299
+