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.
Files changed (60) hide show
  1. package/README.md +37 -5
  2. package/README.zh-CN.md +35 -5
  3. package/dist/cli.mjs +1 -1
  4. package/dist/index.mjs +2 -2
  5. package/dist/shared/{ccgx-workflow.WgUzkiC3.mjs → ccgx-workflow.Bq9vAaEw.mjs} +17 -110
  6. package/package.json +2 -1
  7. package/templates/commands/agents/phase-runner.md +321 -321
  8. package/templates/commands/autonomous.md +792 -792
  9. package/templates/commands/cancel.md +132 -132
  10. package/templates/commands/debug.md +226 -226
  11. package/templates/commands/status.md +206 -206
  12. package/templates/commands/team.md +484 -0
  13. package/templates/hooks/ccg-session-state.cjs +566 -510
  14. package/templates/scripts/ccg-phase-runner-launcher.mjs +467 -467
  15. package/templates/scripts/invoke-model.mjs +64 -0
  16. package/templates/skills/domains/ai/SKILL.md +35 -35
  17. package/templates/skills/domains/ai/agent-dev.md +242 -242
  18. package/templates/skills/domains/ai/llm-security.md +288 -288
  19. package/templates/skills/domains/ai/rag-system.md +542 -542
  20. package/templates/skills/domains/architecture/SKILL.md +43 -43
  21. package/templates/skills/domains/architecture/api-design.md +225 -225
  22. package/templates/skills/domains/architecture/cloud-native.md +285 -285
  23. package/templates/skills/domains/architecture/security-arch.md +297 -297
  24. package/templates/skills/domains/data-engineering/SKILL.md +208 -208
  25. package/templates/skills/domains/development/SKILL.md +47 -47
  26. package/templates/skills/domains/development/cpp.md +246 -246
  27. package/templates/skills/domains/development/go.md +323 -323
  28. package/templates/skills/domains/development/java.md +277 -277
  29. package/templates/skills/domains/development/python.md +288 -288
  30. package/templates/skills/domains/development/rust.md +313 -313
  31. package/templates/skills/domains/development/shell.md +313 -313
  32. package/templates/skills/domains/development/typescript.md +277 -277
  33. package/templates/skills/domains/devops/SKILL.md +40 -40
  34. package/templates/skills/domains/devops/database.md +217 -217
  35. package/templates/skills/domains/devops/devsecops.md +198 -198
  36. package/templates/skills/domains/devops/git-workflow.md +181 -181
  37. package/templates/skills/domains/devops/testing.md +283 -283
  38. package/templates/skills/domains/frontend-design/SKILL.md +244 -244
  39. package/templates/skills/domains/frontend-design/claymorphism/SKILL.md +121 -121
  40. package/templates/skills/domains/frontend-design/component-patterns.md +202 -202
  41. package/templates/skills/domains/frontend-design/glassmorphism/SKILL.md +142 -142
  42. package/templates/skills/domains/frontend-design/liquid-glass/SKILL.md +139 -139
  43. package/templates/skills/domains/frontend-design/neubrutalism/SKILL.md +145 -145
  44. package/templates/skills/domains/frontend-design/state-management.md +680 -680
  45. package/templates/skills/domains/frontend-design/ui-aesthetics.md +110 -110
  46. package/templates/skills/domains/frontend-design/ux-principles.md +156 -156
  47. package/templates/skills/domains/infrastructure/SKILL.md +201 -201
  48. package/templates/skills/domains/mobile/SKILL.md +225 -225
  49. package/templates/skills/domains/orchestration/SKILL.md +30 -30
  50. package/templates/skills/domains/orchestration/multi-agent.md +228 -228
  51. package/templates/skills/domains/security/SKILL.md +73 -73
  52. package/templates/skills/domains/security/blue-team.md +436 -436
  53. package/templates/skills/domains/security/code-audit.md +265 -265
  54. package/templates/skills/domains/security/pentest.md +226 -226
  55. package/templates/skills/domains/security/red-team.md +374 -374
  56. package/templates/skills/domains/security/threat-intel.md +372 -372
  57. package/templates/skills/domains/security/vuln-research.md +369 -369
  58. package/templates/skills/tools/lib/shared.js +98 -98
  59. package/templates/skills/tools/override-refusal/SKILL.md +53 -53
  60. package/templates/skills/tools/override-refusal/scripts/refusal_rewriter.js +226 -226
@@ -1,265 +1,265 @@
1
- ---
2
- name: code-audit
3
- description: 代码安全审计。危险函数识别、污点分析、漏洞挖掘、安全审计。当用户提到代码审计、安全审计、漏洞挖掘、危险函数、sink点、source点、污点分析时使用。
4
- ---
5
-
6
- # 🔥 赤焰秘典 · 代码安全审计 (Code Audit)
7
-
8
-
9
- ## 审计流程
10
-
11
- ```
12
- ┌─────────────────────────────────────────────────────────────┐
13
- │ 代码审计流程 │
14
- ├─────────────────────────────────────────────────────────────┤
15
- │ 1. 信息收集 │
16
- │ ├─ 识别语言、框架、依赖 │
17
- │ ├─ 定位入口点(路由、API、用户输入) │
18
- │ └─ 梳理数据流向 │
19
- │ ↓ │
20
- │ 2. 危险函数扫描 │
21
- │ ├─ 命令执行 Sink │
22
- │ ├─ SQL 注入 Sink │
23
- │ ├─ 文件操作 Sink │
24
- │ └─ 反序列化 Sink │
25
- │ ↓ │
26
- │ 3. 污点分析 │
27
- │ └─ Source (用户输入) → 传播路径 → Sink (危险函数) │
28
- │ ↓ │
29
- │ 4. 漏洞验证 & 报告 │
30
- │ └─ PoC 编写 → 影响评估 → 修复建议 │
31
- └─────────────────────────────────────────────────────────────┘
32
- ```
33
-
34
- ## 危险函数速查
35
-
36
- ### Python
37
- ```python
38
- # 🔴 命令执行
39
- os.system(cmd)
40
- os.popen(cmd)
41
- subprocess.call(cmd, shell=True)
42
- subprocess.Popen(cmd, shell=True)
43
- eval(user_input)
44
- exec(user_input)
45
-
46
- # 🔴 SQL 注入
47
- cursor.execute(f"SELECT * FROM users WHERE id = {user_id}")
48
- cursor.execute("SELECT * FROM users WHERE id = " + user_id)
49
-
50
- # 🔴 反序列化
51
- pickle.loads(user_data)
52
- yaml.load(user_data) # 不安全
53
- marshal.loads(user_data)
54
-
55
- # 🔴 文件操作
56
- open(user_path, 'r') # 路径穿越
57
- shutil.copy(user_src, user_dst)
58
-
59
- # 🔴 SSRF
60
- requests.get(user_url)
61
- urllib.request.urlopen(user_url)
62
-
63
- # ✅ 安全替代
64
- subprocess.run([cmd, arg1, arg2], shell=False)
65
- cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))
66
- yaml.safe_load(user_data)
67
- ```
68
-
69
- ### Java
70
- ```java
71
- // 🔴 命令执行
72
- Runtime.getRuntime().exec(userInput);
73
- new ProcessBuilder(userInput).start();
74
-
75
- // 🔴 SQL 注入
76
- Statement stmt = conn.createStatement();
77
- stmt.execute("SELECT * FROM users WHERE id = " + userId);
78
-
79
- // 🔴 反序列化
80
- ObjectInputStream ois = new ObjectInputStream(userInputStream);
81
- ois.readObject();
82
-
83
- // 🔴 SSRF
84
- new URL(userUrl).openConnection();
85
- HttpClient.newHttpClient().send(request);
86
-
87
- // 🔴 XXE
88
- DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(userXml);
89
-
90
- // ✅ 安全替代
91
- PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM users WHERE id = ?");
92
- pstmt.setInt(1, userId);
93
- ```
94
-
95
- ### JavaScript/Node.js
96
- ```javascript
97
- // 🔴 命令执行
98
- child_process.exec(userInput);
99
- eval(userInput);
100
- new Function(userInput)();
101
-
102
- // 🔴 原型污染
103
- Object.assign(target, userInput);
104
- _.merge(target, userInput);
105
- JSON.parse(userInput); // 配合 __proto__
106
-
107
- // 🔴 SQL 注入
108
- db.query(`SELECT * FROM users WHERE id = ${userId}`);
109
-
110
- // 🔴 XSS
111
- element.innerHTML = userInput;
112
- document.write(userInput);
113
-
114
- // ✅ 安全替代
115
- child_process.execFile(cmd, [arg1, arg2]);
116
- db.query("SELECT * FROM users WHERE id = ?", [userId]);
117
- element.textContent = userInput;
118
- ```
119
-
120
- ### Go
121
- ```go
122
- // 🔴 命令执行
123
- exec.Command("sh", "-c", userInput).Run()
124
-
125
- // 🔴 SQL 注入
126
- db.Query("SELECT * FROM users WHERE id = " + userId)
127
-
128
- // 🔴 路径穿越
129
- filepath.Join(baseDir, userPath) // 未校验 ..
130
-
131
- // 🔴 SSTI
132
- template.HTML(userInput)
133
-
134
- // ✅ 安全替代
135
- exec.Command(cmd, arg1, arg2).Run()
136
- db.Query("SELECT * FROM users WHERE id = ?", userId)
137
- ```
138
-
139
- ## 污点分析
140
-
141
- ### 概念
142
- ```
143
- Source (污点源) → 传播路径 → Sink (汇聚点)
144
- 用户可控输入 数据流转 危险函数调用
145
- ```
146
-
147
- ### Source 识别
148
- ```python
149
- # HTTP 请求参数
150
- request.args.get('param')
151
- request.form.get('param')
152
- request.json.get('param')
153
- request.headers.get('header')
154
- request.cookies.get('cookie')
155
-
156
- # 文件输入
157
- open(file).read()
158
- sys.stdin.read()
159
-
160
- # 环境变量
161
- os.environ.get('VAR')
162
-
163
- # 数据库查询结果(二次注入)
164
- cursor.fetchone()
165
- ```
166
-
167
- ### 传播追踪
168
- ```python
169
- # 示例:追踪污点传播
170
- user_input = request.args.get('id') # Source
171
- processed = user_input.strip() # 传播
172
- query = f"SELECT * FROM users WHERE id = {processed}" # 传播
173
- cursor.execute(query) # Sink!
174
- ```
175
-
176
- ## 快速扫描命令
177
-
178
- ```bash
179
- # Python 危险函数
180
- grep -rn "eval\|exec\|os.system\|subprocess\|pickle.loads" --include="*.py" .
181
-
182
- # Java 危险函数
183
- grep -rn "Runtime.exec\|ProcessBuilder\|ObjectInputStream\|Statement.execute" --include="*.java" .
184
-
185
- # JavaScript 危险函数
186
- grep -rn "eval\|child_process\|innerHTML\|document.write" --include="*.js" .
187
-
188
- # Go 危险函数
189
- grep -rn "exec.Command\|template.HTML" --include="*.go" .
190
-
191
- # SQL 注入模式
192
- grep -rn "execute.*+\|execute.*f\"\|Query.*+" --include="*.py" --include="*.java" .
193
- ```
194
-
195
- ## 漏洞报告格式
196
-
197
- ```markdown
198
- ## [漏洞类型] - [严重程度: Critical/High/Medium/Low]
199
-
200
- **文件:** `path/to/file.py:行号`
201
-
202
- **漏洞代码:**
203
- ```python
204
- # 有问题的代码片段
205
- user_id = request.args.get('id')
206
- cursor.execute(f"SELECT * FROM users WHERE id = {user_id}")
207
- ```
208
-
209
- **漏洞原理:**
210
- 用户输入直接拼接到 SQL 语句中,未经过滤或参数化,导致 SQL 注入。
211
-
212
- **污点追踪:**
213
- ```
214
- request.args.get('id') [Source]
215
-
216
- f"SELECT ... {user_id}" [传播]
217
-
218
- cursor.execute(query) [Sink]
219
- ```
220
-
221
- **PoC:**
222
- ```
223
- GET /api/users?id=1' OR '1'='1
224
- ```
225
-
226
- **修复建议:**
227
- ```python
228
- cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))
229
- ```
230
- ```
231
-
232
- ## 审计检查清单
233
-
234
- ### 输入验证
235
- - [ ] 所有用户输入是否经过验证
236
- - [ ] 是否使用白名单验证
237
- - [ ] 是否有长度限制
238
-
239
- ### SQL 注入
240
- - [ ] 是否使用参数化查询
241
- - [ ] 是否有 ORM 保护
242
- - [ ] 动态表名/列名是否白名单
243
-
244
- ### 命令注入
245
- - [ ] 是否避免 shell=True
246
- - [ ] 参数是否正确转义
247
- - [ ] 是否使用白名单命令
248
-
249
- ### 文件操作
250
- - [ ] 路径是否规范化
251
- - [ ] 是否检查路径穿越
252
- - [ ] 文件类型是否验证
253
-
254
- ### 认证授权
255
- - [ ] 敏感操作是否验证身份
256
- - [ ] 是否有越权检查
257
- - [ ] 会话管理是否安全
258
-
259
- ### 加密
260
- - [ ] 是否使用安全算法
261
- - [ ] 密钥管理是否安全
262
- - [ ] 是否有硬编码密钥
263
-
264
- ---
265
-
1
+ ---
2
+ name: code-audit
3
+ description: 代码安全审计。危险函数识别、污点分析、漏洞挖掘、安全审计。当用户提到代码审计、安全审计、漏洞挖掘、危险函数、sink点、source点、污点分析时使用。
4
+ ---
5
+
6
+ # 🔥 赤焰秘典 · 代码安全审计 (Code Audit)
7
+
8
+
9
+ ## 审计流程
10
+
11
+ ```
12
+ ┌─────────────────────────────────────────────────────────────┐
13
+ │ 代码审计流程 │
14
+ ├─────────────────────────────────────────────────────────────┤
15
+ │ 1. 信息收集 │
16
+ │ ├─ 识别语言、框架、依赖 │
17
+ │ ├─ 定位入口点(路由、API、用户输入) │
18
+ │ └─ 梳理数据流向 │
19
+ │ ↓ │
20
+ │ 2. 危险函数扫描 │
21
+ │ ├─ 命令执行 Sink │
22
+ │ ├─ SQL 注入 Sink │
23
+ │ ├─ 文件操作 Sink │
24
+ │ └─ 反序列化 Sink │
25
+ │ ↓ │
26
+ │ 3. 污点分析 │
27
+ │ └─ Source (用户输入) → 传播路径 → Sink (危险函数) │
28
+ │ ↓ │
29
+ │ 4. 漏洞验证 & 报告 │
30
+ │ └─ PoC 编写 → 影响评估 → 修复建议 │
31
+ └─────────────────────────────────────────────────────────────┘
32
+ ```
33
+
34
+ ## 危险函数速查
35
+
36
+ ### Python
37
+ ```python
38
+ # 🔴 命令执行
39
+ os.system(cmd)
40
+ os.popen(cmd)
41
+ subprocess.call(cmd, shell=True)
42
+ subprocess.Popen(cmd, shell=True)
43
+ eval(user_input)
44
+ exec(user_input)
45
+
46
+ # 🔴 SQL 注入
47
+ cursor.execute(f"SELECT * FROM users WHERE id = {user_id}")
48
+ cursor.execute("SELECT * FROM users WHERE id = " + user_id)
49
+
50
+ # 🔴 反序列化
51
+ pickle.loads(user_data)
52
+ yaml.load(user_data) # 不安全
53
+ marshal.loads(user_data)
54
+
55
+ # 🔴 文件操作
56
+ open(user_path, 'r') # 路径穿越
57
+ shutil.copy(user_src, user_dst)
58
+
59
+ # 🔴 SSRF
60
+ requests.get(user_url)
61
+ urllib.request.urlopen(user_url)
62
+
63
+ # ✅ 安全替代
64
+ subprocess.run([cmd, arg1, arg2], shell=False)
65
+ cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))
66
+ yaml.safe_load(user_data)
67
+ ```
68
+
69
+ ### Java
70
+ ```java
71
+ // 🔴 命令执行
72
+ Runtime.getRuntime().exec(userInput);
73
+ new ProcessBuilder(userInput).start();
74
+
75
+ // 🔴 SQL 注入
76
+ Statement stmt = conn.createStatement();
77
+ stmt.execute("SELECT * FROM users WHERE id = " + userId);
78
+
79
+ // 🔴 反序列化
80
+ ObjectInputStream ois = new ObjectInputStream(userInputStream);
81
+ ois.readObject();
82
+
83
+ // 🔴 SSRF
84
+ new URL(userUrl).openConnection();
85
+ HttpClient.newHttpClient().send(request);
86
+
87
+ // 🔴 XXE
88
+ DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(userXml);
89
+
90
+ // ✅ 安全替代
91
+ PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM users WHERE id = ?");
92
+ pstmt.setInt(1, userId);
93
+ ```
94
+
95
+ ### JavaScript/Node.js
96
+ ```javascript
97
+ // 🔴 命令执行
98
+ child_process.exec(userInput);
99
+ eval(userInput);
100
+ new Function(userInput)();
101
+
102
+ // 🔴 原型污染
103
+ Object.assign(target, userInput);
104
+ _.merge(target, userInput);
105
+ JSON.parse(userInput); // 配合 __proto__
106
+
107
+ // 🔴 SQL 注入
108
+ db.query(`SELECT * FROM users WHERE id = ${userId}`);
109
+
110
+ // 🔴 XSS
111
+ element.innerHTML = userInput;
112
+ document.write(userInput);
113
+
114
+ // ✅ 安全替代
115
+ child_process.execFile(cmd, [arg1, arg2]);
116
+ db.query("SELECT * FROM users WHERE id = ?", [userId]);
117
+ element.textContent = userInput;
118
+ ```
119
+
120
+ ### Go
121
+ ```go
122
+ // 🔴 命令执行
123
+ exec.Command("sh", "-c", userInput).Run()
124
+
125
+ // 🔴 SQL 注入
126
+ db.Query("SELECT * FROM users WHERE id = " + userId)
127
+
128
+ // 🔴 路径穿越
129
+ filepath.Join(baseDir, userPath) // 未校验 ..
130
+
131
+ // 🔴 SSTI
132
+ template.HTML(userInput)
133
+
134
+ // ✅ 安全替代
135
+ exec.Command(cmd, arg1, arg2).Run()
136
+ db.Query("SELECT * FROM users WHERE id = ?", userId)
137
+ ```
138
+
139
+ ## 污点分析
140
+
141
+ ### 概念
142
+ ```
143
+ Source (污点源) → 传播路径 → Sink (汇聚点)
144
+ 用户可控输入 数据流转 危险函数调用
145
+ ```
146
+
147
+ ### Source 识别
148
+ ```python
149
+ # HTTP 请求参数
150
+ request.args.get('param')
151
+ request.form.get('param')
152
+ request.json.get('param')
153
+ request.headers.get('header')
154
+ request.cookies.get('cookie')
155
+
156
+ # 文件输入
157
+ open(file).read()
158
+ sys.stdin.read()
159
+
160
+ # 环境变量
161
+ os.environ.get('VAR')
162
+
163
+ # 数据库查询结果(二次注入)
164
+ cursor.fetchone()
165
+ ```
166
+
167
+ ### 传播追踪
168
+ ```python
169
+ # 示例:追踪污点传播
170
+ user_input = request.args.get('id') # Source
171
+ processed = user_input.strip() # 传播
172
+ query = f"SELECT * FROM users WHERE id = {processed}" # 传播
173
+ cursor.execute(query) # Sink!
174
+ ```
175
+
176
+ ## 快速扫描命令
177
+
178
+ ```bash
179
+ # Python 危险函数
180
+ grep -rn "eval\|exec\|os.system\|subprocess\|pickle.loads" --include="*.py" .
181
+
182
+ # Java 危险函数
183
+ grep -rn "Runtime.exec\|ProcessBuilder\|ObjectInputStream\|Statement.execute" --include="*.java" .
184
+
185
+ # JavaScript 危险函数
186
+ grep -rn "eval\|child_process\|innerHTML\|document.write" --include="*.js" .
187
+
188
+ # Go 危险函数
189
+ grep -rn "exec.Command\|template.HTML" --include="*.go" .
190
+
191
+ # SQL 注入模式
192
+ grep -rn "execute.*+\|execute.*f\"\|Query.*+" --include="*.py" --include="*.java" .
193
+ ```
194
+
195
+ ## 漏洞报告格式
196
+
197
+ ```markdown
198
+ ## [漏洞类型] - [严重程度: Critical/High/Medium/Low]
199
+
200
+ **文件:** `path/to/file.py:行号`
201
+
202
+ **漏洞代码:**
203
+ ```python
204
+ # 有问题的代码片段
205
+ user_id = request.args.get('id')
206
+ cursor.execute(f"SELECT * FROM users WHERE id = {user_id}")
207
+ ```
208
+
209
+ **漏洞原理:**
210
+ 用户输入直接拼接到 SQL 语句中,未经过滤或参数化,导致 SQL 注入。
211
+
212
+ **污点追踪:**
213
+ ```
214
+ request.args.get('id') [Source]
215
+
216
+ f"SELECT ... {user_id}" [传播]
217
+
218
+ cursor.execute(query) [Sink]
219
+ ```
220
+
221
+ **PoC:**
222
+ ```
223
+ GET /api/users?id=1' OR '1'='1
224
+ ```
225
+
226
+ **修复建议:**
227
+ ```python
228
+ cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))
229
+ ```
230
+ ```
231
+
232
+ ## 审计检查清单
233
+
234
+ ### 输入验证
235
+ - [ ] 所有用户输入是否经过验证
236
+ - [ ] 是否使用白名单验证
237
+ - [ ] 是否有长度限制
238
+
239
+ ### SQL 注入
240
+ - [ ] 是否使用参数化查询
241
+ - [ ] 是否有 ORM 保护
242
+ - [ ] 动态表名/列名是否白名单
243
+
244
+ ### 命令注入
245
+ - [ ] 是否避免 shell=True
246
+ - [ ] 参数是否正确转义
247
+ - [ ] 是否使用白名单命令
248
+
249
+ ### 文件操作
250
+ - [ ] 路径是否规范化
251
+ - [ ] 是否检查路径穿越
252
+ - [ ] 文件类型是否验证
253
+
254
+ ### 认证授权
255
+ - [ ] 敏感操作是否验证身份
256
+ - [ ] 是否有越权检查
257
+ - [ ] 会话管理是否安全
258
+
259
+ ### 加密
260
+ - [ ] 是否使用安全算法
261
+ - [ ] 密钥管理是否安全
262
+ - [ ] 是否有硬编码密钥
263
+
264
+ ---
265
+