@claude-flow/cli 3.6.23 → 3.6.25

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 (62) hide show
  1. package/.claude/helpers/github-safe.js +64 -49
  2. package/.claude/helpers/statusline.cjs +11 -13
  3. package/.claude/helpers/statusline.js +11 -6
  4. package/README.md +8 -2
  5. package/bin/cli.js +21 -0
  6. package/bin/mcp-server.js +16 -0
  7. package/dist/src/commands/appliance.d.ts.map +1 -1
  8. package/dist/src/commands/appliance.js +8 -10
  9. package/dist/src/commands/appliance.js.map +1 -1
  10. package/dist/src/commands/guidance.d.ts.map +1 -1
  11. package/dist/src/commands/guidance.js +1 -5
  12. package/dist/src/commands/guidance.js.map +1 -1
  13. package/dist/src/commands/performance.d.ts.map +1 -1
  14. package/dist/src/commands/performance.js +3 -3
  15. package/dist/src/commands/performance.js.map +1 -1
  16. package/dist/src/commands/process.d.ts.map +1 -1
  17. package/dist/src/commands/process.js +6 -7
  18. package/dist/src/commands/process.js.map +1 -1
  19. package/dist/src/commands/verify.d.ts.map +1 -1
  20. package/dist/src/commands/verify.js +24 -3
  21. package/dist/src/commands/verify.js.map +1 -1
  22. package/dist/src/encryption/vault.d.ts +94 -0
  23. package/dist/src/encryption/vault.d.ts.map +1 -0
  24. package/dist/src/encryption/vault.js +172 -0
  25. package/dist/src/encryption/vault.js.map +1 -0
  26. package/dist/src/fs-secure.d.ts +67 -0
  27. package/dist/src/fs-secure.d.ts.map +1 -0
  28. package/dist/src/fs-secure.js +74 -0
  29. package/dist/src/fs-secure.js.map +1 -0
  30. package/dist/src/mcp-tools/github-tools.d.ts.map +1 -1
  31. package/dist/src/mcp-tools/github-tools.js +122 -31
  32. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  33. package/dist/src/mcp-tools/hooks-tools.js +2 -2
  34. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  35. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  36. package/dist/src/mcp-tools/memory-tools.js +7 -12
  37. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  38. package/dist/src/mcp-tools/session-tools.d.ts.map +1 -1
  39. package/dist/src/mcp-tools/session-tools.js +24 -12
  40. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  41. package/dist/src/mcp-tools/terminal-tools.d.ts.map +1 -1
  42. package/dist/src/mcp-tools/terminal-tools.js +22 -7
  43. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  44. package/dist/src/mcp-tools/validate-input.d.ts +12 -0
  45. package/dist/src/mcp-tools/validate-input.d.ts.map +1 -1
  46. package/dist/src/mcp-tools/validate-input.js +56 -0
  47. package/dist/src/mcp-tools/validate-input.js.map +1 -1
  48. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  49. package/dist/src/memory/memory-bridge.js +33 -3
  50. package/dist/src/memory/memory-bridge.js.map +1 -1
  51. package/dist/src/memory/memory-initializer.d.ts.map +1 -1
  52. package/dist/src/memory/memory-initializer.js +17 -16
  53. package/dist/src/memory/memory-initializer.js.map +1 -1
  54. package/dist/src/transfer/ipfs/upload.d.ts.map +1 -1
  55. package/dist/src/transfer/ipfs/upload.js +2 -0
  56. package/dist/src/transfer/ipfs/upload.js.map +1 -1
  57. package/dist/src/update/executor.d.ts +1 -0
  58. package/dist/src/update/executor.d.ts.map +1 -1
  59. package/dist/src/update/executor.js +43 -7
  60. package/dist/src/update/executor.js.map +1 -1
  61. package/dist/tsconfig.tsbuildinfo +1 -1
  62. package/package.json +1 -1
@@ -8,7 +8,7 @@ import { getProjectCwd } from './types.js';
8
8
  import { validateIdentifier, validateText } from './validate-input.js';
9
9
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
10
10
  import { join } from 'node:path';
11
- import { execSync } from 'node:child_process';
11
+ import { execFileSync, execSync } from 'node:child_process';
12
12
  // Storage paths
13
13
  const STORAGE_DIR = '.claude-flow';
14
14
  const GITHUB_DIR = 'github';
@@ -41,7 +41,20 @@ function saveGitHubStore(store) {
41
41
  ensureGitHubDir();
42
42
  writeFileSync(getGitHubPath(), JSON.stringify(store, null, 2), 'utf-8');
43
43
  }
44
- /** Run a shell command, return stdout or null on failure */
44
+ /**
45
+ * Run a shell command, return stdout or null on failure.
46
+ *
47
+ * SECURITY (audit_1776853149979): only call this with a STATIC command
48
+ * string (no template-string interpolation of user input). For any
49
+ * caller that needs to pass dynamic / user-supplied values, use
50
+ * runArgv below — it routes through execFileSync with shell:false so
51
+ * backticks, $(...), ;, and friends become literal argv bytes.
52
+ *
53
+ * The shell-string form is preserved here only because the surviving
54
+ * callers (`gh issue list ...`, `git rev-list --count HEAD`, …) use
55
+ * pipes / wc -l and need a shell. Any new caller with user input
56
+ * MUST use runArgv.
57
+ */
45
58
  function run(cmd, cwd) {
46
59
  try {
47
60
  return execSync(cmd, { encoding: 'utf-8', timeout: 15000, cwd: cwd || getProjectCwd(), stdio: ['pipe', 'pipe', 'pipe'] }).trim();
@@ -50,6 +63,49 @@ function run(cmd, cwd) {
50
63
  return null;
51
64
  }
52
65
  }
66
+ /**
67
+ * Run a program with an argv array (no shell). Use this for any callsite
68
+ * that mixes user input into the command line — argv elements aren't
69
+ * interpreted by /bin/sh, so shell metacharacters in user-supplied
70
+ * strings stay literal.
71
+ */
72
+ function runArgv(file, args, cwd) {
73
+ try {
74
+ return execFileSync(file, args, {
75
+ encoding: 'utf-8',
76
+ timeout: 15000,
77
+ cwd: cwd || getProjectCwd(),
78
+ stdio: ['pipe', 'pipe', 'pipe'],
79
+ shell: false,
80
+ }).trim();
81
+ }
82
+ catch {
83
+ return null;
84
+ }
85
+ }
86
+ /**
87
+ * Coerce a user-supplied PR / issue / run number to a positive integer.
88
+ * Returns null if the input can't be safely passed as an argv element to
89
+ * gh (which would otherwise accept any string).
90
+ */
91
+ function toPositiveInt(value) {
92
+ const n = typeof value === 'number' ? value : Number(value);
93
+ if (!Number.isFinite(n) || !Number.isInteger(n) || n <= 0 || n > 2 ** 31)
94
+ return null;
95
+ return n;
96
+ }
97
+ const LABEL_RE = /^[A-Za-z0-9][A-Za-z0-9 _\-./]{0,63}$/;
98
+ function sanitizeLabels(value) {
99
+ if (!Array.isArray(value))
100
+ return null;
101
+ const out = [];
102
+ for (const v of value) {
103
+ if (typeof v !== 'string' || !LABEL_RE.test(v))
104
+ return null;
105
+ out.push(v);
106
+ }
107
+ return out;
108
+ }
53
109
  /** Check if gh CLI is available */
54
110
  function hasGhCli() {
55
111
  return run('gh --version') !== null;
@@ -219,7 +275,17 @@ export const githubTools = [
219
275
  const headBranch = input.branch || run('git rev-parse --abbrev-ref HEAD') || 'feature';
220
276
  const baseBranch = input.baseBranch || 'main';
221
277
  const body = input.body || '';
222
- const result = run(`gh pr create --title "${title.replace(/"/g, '\\"')}" --base "${baseBranch}" --head "${headBranch}" --body "${body.replace(/"/g, '\\"')}"`);
278
+ // audit_1776853149979: title/body only had length validation, and
279
+ // the inline .replace(/"/g, '\\"') was a porous escape (no handling
280
+ // of `, $(...), \). Routes via argv array now — no shell to
281
+ // interpret metas.
282
+ const result = runArgv('gh', [
283
+ 'pr', 'create',
284
+ '--title', title,
285
+ '--base', baseBranch,
286
+ '--head', headBranch,
287
+ '--body', body,
288
+ ]);
223
289
  if (result) {
224
290
  return { success: true, _real: true, action: 'created', url: result };
225
291
  }
@@ -232,9 +298,15 @@ export const githubTools = [
232
298
  return { success: true, source: 'local-store', action: 'created', pullRequest: pr };
233
299
  }
234
300
  if (action === 'review') {
235
- const prNumber = input.prNumber;
301
+ // audit_1776853149979: prNumber was typed `number` in schema but only
302
+ // cast at runtime, so a string "1; touch /tmp/x" would interpolate
303
+ // into the shell. Coerce + validate as positive integer.
304
+ const prNumber = toPositiveInt(input.prNumber);
236
305
  if (gh && prNumber) {
237
- const raw = run(`gh pr view ${prNumber} --json number,title,state,body,additions,deletions,changedFiles,reviews,mergeable,statusCheckRollup`);
306
+ const raw = runArgv('gh', [
307
+ 'pr', 'view', String(prNumber),
308
+ '--json', 'number,title,state,body,additions,deletions,changedFiles,reviews,mergeable,statusCheckRollup',
309
+ ]);
238
310
  if (raw) {
239
311
  try {
240
312
  return { success: true, _real: true, action: 'review', pullRequest: JSON.parse(raw) };
@@ -242,18 +314,18 @@ export const githubTools = [
242
314
  catch { /* fall through */ }
243
315
  }
244
316
  }
245
- return { success: false, error: prNumber ? 'gh CLI not available or PR not found. Install gh: https://cli.github.com' : 'prNumber is required for review.' };
317
+ return { success: false, error: prNumber ? 'gh CLI not available or PR not found. Install gh: https://cli.github.com' : 'prNumber is required (positive integer) for review.' };
246
318
  }
247
319
  if (action === 'merge') {
248
- const prNumber = input.prNumber;
320
+ const prNumber = toPositiveInt(input.prNumber);
249
321
  if (gh && prNumber) {
250
- const result = run(`gh pr merge ${prNumber} --merge`);
322
+ const result = runArgv('gh', ['pr', 'merge', String(prNumber), '--merge']);
251
323
  if (result !== null) {
252
324
  return { success: true, _real: true, action: 'merged', prNumber, mergedAt: new Date().toISOString() };
253
325
  }
254
326
  }
255
327
  // Fallback: local store
256
- const prKey = Object.keys(store.prs).find(k => k.includes(String(prNumber)));
328
+ const prKey = prNumber ? Object.keys(store.prs).find(k => k.includes(String(prNumber))) : undefined;
257
329
  if (prKey && store.prs[prKey]) {
258
330
  store.prs[prKey].status = 'merged';
259
331
  saveGitHubStore(store);
@@ -261,14 +333,14 @@ export const githubTools = [
261
333
  return { success: true, source: 'local-store', action: 'merged', prNumber, mergedAt: new Date().toISOString() };
262
334
  }
263
335
  if (action === 'close') {
264
- const prNumber = input.prNumber;
336
+ const prNumber = toPositiveInt(input.prNumber);
265
337
  if (gh && prNumber) {
266
- const result = run(`gh pr close ${prNumber}`);
338
+ const result = runArgv('gh', ['pr', 'close', String(prNumber)]);
267
339
  if (result !== null) {
268
340
  return { success: true, _real: true, action: 'closed', prNumber, closedAt: new Date().toISOString() };
269
341
  }
270
342
  }
271
- const prKey = Object.keys(store.prs).find(k => k.includes(String(prNumber)));
343
+ const prKey = prNumber ? Object.keys(store.prs).find(k => k.includes(String(prNumber))) : undefined;
272
344
  if (prKey && store.prs[prKey]) {
273
345
  store.prs[prKey].status = 'closed';
274
346
  saveGitHubStore(store);
@@ -336,10 +408,16 @@ export const githubTools = [
336
408
  if (action === 'create') {
337
409
  const title = input.title || 'New Issue';
338
410
  const body = input.body || '';
339
- const labels = input.labels || [];
411
+ // audit_1776853149979: labels was joined into a shell string with no
412
+ // validation of the label content. sanitizeLabels rejects anything
413
+ // outside [A-Za-z0-9 _\-./] and caps each label at 64 chars.
414
+ const labels = sanitizeLabels(input.labels) ?? [];
340
415
  if (gh) {
341
- const labelArg = labels.length > 0 ? ` --label "${labels.join(',')}"` : '';
342
- const result = run(`gh issue create --title "${title.replace(/"/g, '\\"')}" --body "${body.replace(/"/g, '\\"')}"${labelArg}`);
416
+ const argv = ['issue', 'create', '--title', title, '--body', body];
417
+ if (labels.length > 0) {
418
+ argv.push('--label', labels.join(','));
419
+ }
420
+ const result = runArgv('gh', argv);
343
421
  if (result) {
344
422
  return { success: true, _real: true, action: 'created', url: result };
345
423
  }
@@ -351,37 +429,45 @@ export const githubTools = [
351
429
  return { success: true, source: 'local-store', action: 'created', issue };
352
430
  }
353
431
  if (action === 'update') {
354
- const issueNumber = input.issueNumber;
432
+ const issueNumber = toPositiveInt(input.issueNumber);
355
433
  if (gh && issueNumber) {
356
- const parts = [];
434
+ const argv = ['issue', 'edit', String(issueNumber)];
357
435
  if (input.title)
358
- parts.push(`--title "${input.title.replace(/"/g, '\\"')}"`);
359
- if (input.labels)
360
- parts.push(`--add-label "${input.labels.join(',')}"`);
361
- if (parts.length > 0) {
362
- const result = run(`gh issue edit ${issueNumber} ${parts.join(' ')}`);
436
+ argv.push('--title', input.title);
437
+ if (input.labels) {
438
+ const labels = sanitizeLabels(input.labels);
439
+ if (labels === null)
440
+ return { success: false, error: 'labels contains disallowed characters' };
441
+ if (labels.length > 0)
442
+ argv.push('--add-label', labels.join(','));
443
+ }
444
+ if (argv.length > 3) {
445
+ const result = runArgv('gh', argv);
363
446
  if (result !== null)
364
447
  return { success: true, _real: true, action: 'updated', issueNumber };
365
448
  }
366
449
  }
367
- const issueKey = Object.keys(store.issues).find(k => k.includes(String(issueNumber)));
450
+ const issueKey = issueNumber ? Object.keys(store.issues).find(k => k.includes(String(issueNumber))) : undefined;
368
451
  if (issueKey && store.issues[issueKey]) {
369
452
  if (input.title)
370
453
  store.issues[issueKey].title = input.title;
371
- if (input.labels)
372
- store.issues[issueKey].labels = input.labels;
454
+ if (input.labels) {
455
+ const labels = sanitizeLabels(input.labels);
456
+ if (labels !== null)
457
+ store.issues[issueKey].labels = labels;
458
+ }
373
459
  saveGitHubStore(store);
374
460
  }
375
461
  return { success: true, source: 'local-store', action: 'updated', issueNumber };
376
462
  }
377
463
  if (action === 'close') {
378
- const issueNumber = input.issueNumber;
464
+ const issueNumber = toPositiveInt(input.issueNumber);
379
465
  if (gh && issueNumber) {
380
- const result = run(`gh issue close ${issueNumber}`);
466
+ const result = runArgv('gh', ['issue', 'close', String(issueNumber)]);
381
467
  if (result !== null)
382
468
  return { success: true, _real: true, action: 'closed', issueNumber, closedAt: new Date().toISOString() };
383
469
  }
384
- const issueKey = Object.keys(store.issues).find(k => k.includes(String(issueNumber)));
470
+ const issueKey = issueNumber ? Object.keys(store.issues).find(k => k.includes(String(issueNumber))) : undefined;
385
471
  if (issueKey && store.issues[issueKey]) {
386
472
  store.issues[issueKey].status = 'closed';
387
473
  saveGitHubStore(store);
@@ -450,7 +536,12 @@ export const githubTools = [
450
536
  if (action === 'status') {
451
537
  const workflowId = input.workflowId;
452
538
  if (workflowId) {
453
- const raw = run(`gh run view ${workflowId} --json databaseId,displayTitle,status,conclusion,jobs`);
539
+ // workflowId is already validated by validateIdentifier above, but
540
+ // route through argv anyway for consistency / defense-in-depth.
541
+ const raw = runArgv('gh', [
542
+ 'run', 'view', workflowId,
543
+ '--json', 'databaseId,displayTitle,status,conclusion,jobs',
544
+ ]);
454
545
  if (raw) {
455
546
  try {
456
547
  return { success: true, _real: true, run: JSON.parse(raw) };
@@ -471,7 +562,7 @@ export const githubTools = [
471
562
  const workflowId = input.workflowId;
472
563
  const ref = input.ref || 'main';
473
564
  if (workflowId) {
474
- const result = run(`gh workflow run "${workflowId}" --ref "${ref}"`);
565
+ const result = runArgv('gh', ['workflow', 'run', workflowId, '--ref', ref]);
475
566
  if (result !== null)
476
567
  return { success: true, _real: true, action: 'triggered', workflowId, ref };
477
568
  }
@@ -480,7 +571,7 @@ export const githubTools = [
480
571
  if (action === 'cancel') {
481
572
  const workflowId = input.workflowId;
482
573
  if (workflowId) {
483
- const result = run(`gh run cancel ${workflowId}`);
574
+ const result = runArgv('gh', ['run', 'cancel', workflowId]);
484
575
  if (result !== null)
485
576
  return { success: true, _real: true, action: 'cancelled', runId: workflowId };
486
577
  }
@@ -1 +1 @@
1
- {"version":3,"file":"github-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/github-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/github-tools.ts"],"names":[],"mappings":"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"}
@@ -1388,8 +1388,8 @@ export const hooksPretrain = {
1388
1388
  const repoPath = resolve(params.path || '.');
1389
1389
  const depth = params.depth || 'medium';
1390
1390
  const startTime = performance.now();
1391
- // Real file scanning — count files by extension, extract patterns
1392
- const { readdirSync, statSync } = await import('node:fs');
1391
+ // Real file scanning — count files by extension, extract patterns.
1392
+ // (readdirSync/statSync already imported statically at the top.)
1393
1393
  const extCounts = {};
1394
1394
  let filesAnalyzed = 0;
1395
1395
  let totalLines = 0;