@stackguide/mcp-server 3.8.1 → 3.8.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.
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/handlers/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMzC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;CACJ;AAMD,wBAAgB,cAAc,IAAI,UAAU,EAAE,CA+B7C;AAMD,wBAAgB,mBAAmB,IAAI,YAAY,CA8BlD;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CAwCxF;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,YAAY,CAAC,CA6DvB;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,WAAW,GACjB,YAAY,CA+Bd;AAMD,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,YAAY,CAAC,CAkBvB"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/handlers/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAOzC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;CACJ;AAaD,wBAAgB,cAAc,IAAI,UAAU,EAAE,CA+B7C;AAMD,wBAAgB,mBAAmB,IAAI,YAAY,CA8BlD;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CAwCxF;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,YAAY,CAAC,CAiEvB;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,WAAW,GACjB,YAAY,CA+Bd;AAMD,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,YAAY,CAAC,CAkBvB"}
@@ -4,6 +4,13 @@
4
4
  */
5
5
  import { SUPPORTED_PROJECTS } from '../config/types.js';
6
6
  import * as autoDetect from '../services/autoDetect.js';
7
+ import { safeFetch } from '../utils/safeFetch.js';
8
+ const ALLOWED_PROMPT_HOSTS = [
9
+ 'github.com',
10
+ 'raw.githubusercontent.com',
11
+ 'gitlab.com',
12
+ 'bitbucket.org'
13
+ ];
7
14
  // ============================================================================
8
15
  // Prompt Definitions
9
16
  // ============================================================================
@@ -132,11 +139,15 @@ export async function handleCodeReviewPrompt(args, state) {
132
139
  }
133
140
  if (url && !codeToReview) {
134
141
  try {
135
- const response = await fetch(url);
142
+ const response = await safeFetch(url, {
143
+ allowedHosts: ALLOWED_PROMPT_HOSTS,
144
+ timeoutMs: 8000,
145
+ maxBytes: 1024 * 512, // 512 KB cap from prompts
146
+ });
136
147
  codeToReview = await response.text();
137
148
  source = url;
138
149
  }
139
- catch { /* ignore */ }
150
+ catch { /* ignore to keep prompt usable */ }
140
151
  }
141
152
  const rules = state.loadedRules
142
153
  .filter(r => !state.activeConfiguration || state.activeConfiguration.selectedRules.includes(r.id))
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/handlers/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/handlers/prompts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/handlers/review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,OAAO,EAAE,WAAW,EAAE,YAAY,EAA8B,MAAM,YAAY,CAAC;AAInF,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,kBAAkB,CAAC;IACjF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAgJD,wBAAsB,YAAY,CAChC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,YAAY,CAAC,CA0QvB"}
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/handlers/review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,OAAO,EAAE,WAAW,EAAE,YAAY,EAA8B,MAAM,YAAY,CAAC;AAKnF,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,kBAAkB,CAAC;IACjF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAuJD,wBAAsB,YAAY,CAChC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,YAAY,CAAC,CA+RvB"}
@@ -18,6 +18,13 @@ import { AnalysisCacheManager } from '../services/analysisCache.js';
18
18
  import { jsonResponse, textResponse } from './types.js';
19
19
  import { logger } from '../utils/logger.js';
20
20
  import { sanitizePath } from '../validation/schemas.js';
21
+ import { safeFetch } from '../utils/safeFetch.js';
22
+ const ALLOWED_REVIEW_HOSTS = [
23
+ 'github.com',
24
+ 'raw.githubusercontent.com',
25
+ 'gitlab.com',
26
+ 'bitbucket.org'
27
+ ];
21
28
  // Default ignore patterns (in addition to .gitignore)
22
29
  const DEFAULT_IGNORE_PATTERNS = [
23
30
  'node_modules',
@@ -316,12 +323,16 @@ export async function handleReview(args, state) {
316
323
  let source = '';
317
324
  if (url) {
318
325
  try {
319
- const response = await fetch(url);
326
+ const response = await safeFetch(url, {
327
+ allowedHosts: ALLOWED_REVIEW_HOSTS,
328
+ timeoutMs: 8000,
329
+ maxBytes: 1024 * 1024, // 1 MB cap for reviews
330
+ });
320
331
  content = await response.text();
321
332
  source = url;
322
333
  }
323
334
  catch (e) {
324
- return textResponse(`Error fetching URL: ${e}`);
335
+ return textResponse(`Error fetching URL: ${e instanceof Error ? e.message : String(e)}`);
325
336
  }
326
337
  }
327
338
  else if (file) {
@@ -333,21 +344,34 @@ export async function handleReview(args, state) {
333
344
  const resolved = path.isAbsolute(sanitized)
334
345
  ? path.resolve(sanitized)
335
346
  : path.resolve(cwd, sanitized);
336
- // Ensure the resolved path is within the current working directory
337
- if (!resolved.startsWith(cwd + path.sep) && resolved !== cwd) {
347
+ // Resolve symlinks and enforce real path containment
348
+ const realCwd = fs.realpathSync(cwd);
349
+ // First containment check without resolving symlinks to avoid ENOENT on missing files
350
+ if (!resolved.startsWith(realCwd + path.sep) && resolved !== realCwd) {
338
351
  logger.audit('PATH_TRAVERSAL_BLOCK', {
339
352
  originalPath: file,
340
353
  sanitizedPath: sanitized,
341
354
  resolvedPath: resolved,
342
- cwd,
343
- action: 'path_traversal_block'
355
+ cwd: realCwd,
356
+ action: 'path_traversal_block_pre_realpath'
344
357
  });
345
358
  return textResponse(`Error: Path traversal detected. Access denied to: ${file}`);
346
359
  }
347
360
  if (!fs.existsSync(resolved)) {
348
361
  return textResponse(`File not found: ${resolved}`);
349
362
  }
350
- content = fs.readFileSync(resolved, 'utf-8');
363
+ const realResolved = fs.realpathSync(resolved);
364
+ if (!realResolved.startsWith(realCwd + path.sep) && realResolved !== realCwd) {
365
+ logger.audit('PATH_TRAVERSAL_BLOCK', {
366
+ originalPath: file,
367
+ sanitizedPath: sanitized,
368
+ resolvedPath: realResolved,
369
+ cwd: realCwd,
370
+ action: 'path_traversal_block'
371
+ });
372
+ return textResponse(`Error: Path traversal detected. Access denied to: ${file}`);
373
+ }
374
+ content = fs.readFileSync(realResolved, 'utf-8');
351
375
  source = file;
352
376
  }
353
377
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/handlers/review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/handlers/review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,aAAa,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,iBAAiB,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AACxD,OAAO,EACL,WAAW,EAEX,oBAAoB,EAErB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAA6B,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAelD,MAAM,oBAAoB,GAAG;IAC3B,YAAY;IACZ,2BAA2B;IAC3B,YAAY;IACZ,eAAe;CAChB,CAAC;AAEF,sDAAsD;AACtD,MAAM,uBAAuB,GAAG;IAC9B,cAAc;IACd,aAAa;IACb,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ;IACR,KAAK;IACL,MAAM;IACN,QAAQ;IACR,KAAK;IACL,SAAS;CACV,CAAC;AAEF;;GAEG;AACH,SAAS,cAAc,CAAC,WAAmB;IACzC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAE3D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,OAAO;aACX,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAClC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,YAAoB,EAAE,cAAwB;IAClE,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEtC,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,0BAA0B;QAC1B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,wBAAwB;YACxB,IAAI,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC7D,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,oBAAoB;YACpB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;QACvC,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,wBAAwB;YACxB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;YACnE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,oBAAoB;YACpB,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe,CAAC,WAAmB;IAChD,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1C,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,CAAC;QACH,uCAAuC;QACvC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAChC,4DAA4D,EAC5D,EAAE,GAAG,EAAE,WAAW,EAAE,CACrB,CAAC;QAEF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAa,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC1D,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,oBAAoB,CACjC,KAA+C,EAC/C,KAAkB,EAClB,YAAyC,EACzC,SAAS,GAAG,EAAE;IAEd,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;QAE5C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACvB,oBAAoB;YACpB,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzD,IAAI,MAAM,EAAE,CAAC;oBACX,SAAS,EAAE,CAAC;oBACZ,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD,WAAW,EAAE,CAAC;YAChB,CAAC;YAED,eAAe;YACf,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAE3D,iBAAiB;YACjB,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACpD,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAgB,EAChB,KAAkB;IAElB,MAAM,EACJ,IAAI,EACJ,GAAG,EACH,OAAO,EAAE,aAAa,EACtB,KAAK,GAAG,KAAK,EACb,WAAW,GAAG,KAAK,EACnB,QAAQ,GAAG,EAAE,EACb,QAAQ,EACR,QAAQ,GAAG,IAAI,EAChB,GAAG,IAAI,CAAC;IACT,MAAM,UAAU,GAAG,KAAoB,CAAC;IAExC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE7F,gCAAgC;IAChC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9D,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,EAAE,GAAG,SAAS,CAAC,WAA0B,CAAC;YAChD,KAAK,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC7B,KAAK,CAAC,WAAW,GAAG,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YACzD,KAAK,CAAC,eAAe,GAAG,iBAAiB,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC/C,UAAU,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CACtF,CAAC;IAEF,iBAAiB;IACjB,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAElC,8BAA8B;QAC9B,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE7E,4BAA4B;QAC5B,MAAM,iBAAiB,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,iBAAiB,GAAG,CAAC,GAAG,uBAAuB,EAAE,GAAG,iBAAiB,CAAC,CAAC;QAE7E,wCAAwC;QACxC,IAAI,YAAY,GAAoB,IAAI,CAAC;QACzC,IAAI,WAAW,EAAE,CAAC;YAChB,YAAY,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;YAClD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,YAAY,CAAC;oBAClB,IAAI,EAAE,gBAAgB;oBACtB,WAAW,EAAE,KAAK,CAAC,iBAAiB;oBACpC,KAAK,EAAE,UAAU;oBACjB,OAAO,EAAE,4EAA4E;oBACrF,aAAa,EAAE,CAAC;iBACjB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5F,CAAC;QAED,MAAM,cAAc,GAA6C,EAAE,CAAC;QACpE,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAChF,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,SAAS,IAAI,CAAC,GAAW,EAAE,KAAK,GAAG,CAAC;YAClC,IAAI,KAAK,GAAG,QAAQ;gBAAE,OAAO;YAC7B,IAAI,QAAQ,IAAI,cAAc,CAAC,MAAM,IAAI,QAAQ;gBAAE,OAAO;YAE1D,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,QAAQ,IAAI,cAAc,CAAC,MAAM,IAAI,QAAQ;wBAAE,OAAO;oBAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;wBAAE,SAAS;oBAEnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAClC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;oBAEtD,wBAAwB;oBACxB,IAAI,YAAY,CAAC,YAAY,EAAE,iBAAiB,CAAC,EAAE,CAAC;wBAClD,eAAe,EAAE,CAAC;wBAClB,SAAS;oBACX,CAAC;oBAED,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC/B,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;wBACvB,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBACxB,CAAC;yBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC5C,uCAAuC;wBACvC,IAAI,IAAI,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC;4BACvB,aAAa,EAAE,CAAC;4BAChB,SAAS;wBACX,CAAC;wBAED,kDAAkD;wBAClD,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;4BACzD,SAAS;wBACX,CAAC;wBAED,IAAI,CAAC;4BACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;4BAC/C,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;wBACvD,CAAC;wBAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,CAAC;QAElB,yCAAyC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,oBAAoB,CACnF,cAAc,EACd,UAAU,EACV,YAAY,CACb,CAAC;QAEF,aAAa;QACb,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAE5C,oBAAoB;QACpB,MAAM,OAAO,GAAG;YACd,UAAU,EAAE,eAAe,CAAC,MAAM;YAClC,YAAY,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC;gBACtC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC;gBAC3F,CAAC,CAAC,GAAG;YACP,OAAO,EAAE;gBACP,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACrE,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACzE,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjE,WAAW,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;aAChF;SACF,CAAC;QAEF,gBAAgB;QAChB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,iBAAiB,IAAI,eAAe,EAAE,CAAC,CAAC;QAC/E,MAAM,CAAC,IAAI,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QACzD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,sBAAsB,YAAY,IAAI,CAAC,CAAC;QACpD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,cAAc,SAAS,UAAU,WAAW,SAAS,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,eAAe,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,gBAAgB,eAAe,wBAAwB,aAAa,gBAAgB,CAAC,CAAC;QACpG,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,YAAY,MAAM,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1D,MAAM,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEhB,8CAA8C;QAC9C,MAAM,eAAe,GAAG,eAAe;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;aAChC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;aACjD,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhB,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC1C,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,UAAU,UAAU,CAAC,IAAI,YAAY,UAAU,CAAC,KAAK,OAAO,CAAC,CAAC;gBAC1E,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAClD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACnC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4BACrC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;oBACrD,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5G,CAAC;gBACD,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,MAAM,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAC;QAEzF,OAAO,YAAY,CAAC;YAClB,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,KAAK,CAAC,iBAAiB;YACpC,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,OAAO;YACjB,eAAe,EAAE,eAAe,CAAC,MAAM;YACvC,YAAY,EAAE,GAAG,YAAY,IAAI;YACjC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;YACtE,WAAW;YACX,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;IACrB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;gBACpC,YAAY,EAAE,oBAAoB;gBAClC,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,IAAI,GAAG,IAAI,EAAE,uBAAuB;aAC/C,CAAC,CAAC;YACH,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,CAAC;QACf,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,YAAY,CAAC,uBAAuB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,EAAE,CAAC;QAChB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAElC,qDAAqD;QACrD,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAEjC,qDAAqD;QACrD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAErC,sFAAsF;QACtF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACrE,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE;gBACnC,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,SAAS;gBACxB,YAAY,EAAE,QAAQ;gBACtB,GAAG,EAAE,OAAO;gBACZ,MAAM,EAAE,mCAAmC;aAC5C,CAAC,CAAC;YACH,OAAO,YAAY,CAAC,qDAAqD,IAAI,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,YAAY,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE/C,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;YAC7E,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE;gBACnC,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,SAAS;gBACxB,YAAY,EAAE,YAAY;gBAC1B,GAAG,EAAE,OAAO;gBACZ,MAAM,EAAE,sBAAsB;aAC/B,CAAC,CAAC;YACH,OAAO,YAAY,CAAC,qDAAqD,IAAI,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,OAAO,YAAY,CAAC,oCAAoC,CAAC,CAAC;IAC5D,CAAC;IAED,mBAAmB;IACnB,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAE9C,OAAO,YAAY,CAAC;QAClB,IAAI,EAAE,aAAa;QACnB,MAAM;QACN,WAAW,EAAE,KAAK,CAAC,iBAAiB;QACpC,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE;YACR,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;SACpC;QACD,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,MAAM;QACN,YAAY,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KAC3C,CAAC,CAAC;AACL,CAAC"}
@@ -19,8 +19,8 @@ export declare const RuleDefinitionSchema: z.ZodObject<{
19
19
  severity: z.ZodEnum<["error", "warning", "info", "suggestion"]>;
20
20
  enabled: z.ZodDefault<z.ZodBoolean>;
21
21
  languages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
22
- filePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
23
- pattern: z.ZodOptional<z.ZodString>;
22
+ filePatterns: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
23
+ pattern: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
24
24
  astQuery: z.ZodOptional<z.ZodString>;
25
25
  message: z.ZodString;
26
26
  suggestion: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"rulesEngine.d.ts","sourceRoot":"","sources":["../../src/services/rulesEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rulesEngine.d.ts","sourceRoot":"","sources":["../../src/services/rulesEngine.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,37 @@
6
6
  import { z } from 'zod';
7
7
  import { logger } from '../utils/logger.js';
8
8
  import { getStorageValue, setStorageValue } from '../config/persistence.js';
9
+ // Basic regex safety heuristics to guard against ReDoS-prone patterns
10
+ const REGEX_MAX_LENGTH = 5000;
11
+ const NESTED_QUANTIFIER_REGEX = /\((?:[^()\\]|\\.)*(?:\.\*|\.\+|\[[^\]]+\][+*]|\\w\+|\\d\+)(?:[^()\\]|\\.)*\)[+*]/;
12
+ const BACKREFERENCE_WITH_REPEAT = /\\[1-9][0-9]*\+/;
13
+ function validateRegexPattern(pattern) {
14
+ if (pattern.length > REGEX_MAX_LENGTH) {
15
+ return { valid: false, reason: 'Pattern exceeds maximum length' };
16
+ }
17
+ if (NESTED_QUANTIFIER_REGEX.test(pattern)) {
18
+ return { valid: false, reason: 'Nested quantifier detected (potential ReDoS)' };
19
+ }
20
+ if (BACKREFERENCE_WITH_REPEAT.test(pattern)) {
21
+ return { valid: false, reason: 'Backreference with repetition detected (potential ReDoS)' };
22
+ }
23
+ try {
24
+ new RegExp(pattern);
25
+ }
26
+ catch (error) {
27
+ return { valid: false, reason: `Invalid regex: ${error instanceof Error ? error.message : String(error)}` };
28
+ }
29
+ return { valid: true };
30
+ }
31
+ function assertSafeRegex(pattern, ctx) {
32
+ const result = validateRegexPattern(pattern);
33
+ if (!result.valid) {
34
+ ctx.addIssue({
35
+ code: z.ZodIssueCode.custom,
36
+ message: result.reason || 'Unsafe regex pattern'
37
+ });
38
+ }
39
+ }
9
40
  // ============================================================================
10
41
  // Rule Schema
11
42
  // ============================================================================
@@ -31,9 +62,13 @@ export const RuleDefinitionSchema = z.object({
31
62
  enabled: z.boolean().default(true),
32
63
  // Matching criteria
33
64
  languages: z.array(z.string().max(50)).optional(),
34
- filePatterns: z.array(z.string().max(200)).optional(),
65
+ filePatterns: z.array(z.string().max(200).superRefine((val, ctx) => assertSafeRegex(val, ctx))).optional(),
35
66
  // Detection
36
- pattern: z.string().max(5000).optional(), // Regex pattern
67
+ pattern: z.string().max(REGEX_MAX_LENGTH).optional().superRefine((val, ctx) => {
68
+ if (val === undefined)
69
+ return;
70
+ assertSafeRegex(val, ctx);
71
+ }), // Regex pattern
37
72
  astQuery: z.string().max(5000).optional(), // Tree-sitter query
38
73
  // Messages
39
74
  message: z.string().max(500),
@@ -255,6 +290,11 @@ class RulesRegistry {
255
290
  if (rule.filePatterns && rule.filePatterns.length > 0) {
256
291
  const matches = rule.filePatterns.some(pattern => {
257
292
  try {
293
+ const safety = validateRegexPattern(pattern);
294
+ if (!safety.valid) {
295
+ logger.warn('Skipped unsafe file pattern', { pattern, reason: safety.reason, action: 'unsafe_file_pattern' });
296
+ return false;
297
+ }
258
298
  const regex = new RegExp(pattern);
259
299
  return regex.test(filePath);
260
300
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rulesEngine.js","sourceRoot":"","sources":["../../src/services/rulesEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rulesEngine.js","sourceRoot":"","sources":["../../src/services/rulesEngine.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export interface WebDocument {
8
8
  projectType?: string;
9
9
  category?: string;
10
10
  tags: string[];
11
+ projectKey?: string;
11
12
  }
12
13
  /**
13
14
  * Get rate limit status for monitoring
@@ -22,6 +23,7 @@ export declare function fetchWebDocumentation(url: string, options?: {
22
23
  projectType?: string;
23
24
  category?: string;
24
25
  tags?: string[];
26
+ projectPath?: string;
25
27
  }): Promise<WebDocument>;
26
28
  export declare function fetchMultipleDocuments(urls: string[], options?: {
27
29
  projectType?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"webDocumentation.d.ts","sourceRoot":"","sources":["../../src/services/webDocumentation.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AA0DD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAUA;AA2ID,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACZ,GACL,OAAO,CAAC,WAAW,CAAC,CA6GtB;AAGD,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACd,GACL,OAAO,CAAC;IAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,CAAC,CAoBlF;AAGD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,CAe/D;AAGD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAKjE;AAGD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAEnE;AAGD,wBAAgB,mBAAmB,IAAI,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,CAWpE;AAGD,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAGD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAcxD;AAGD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,CAqBxE,CAAC;AAGF,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,CAErF"}
1
+ {"version":3,"file":"webDocumentation.d.ts","sourceRoot":"","sources":["../../src/services/webDocumentation.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAiGD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAUA;AA2ID,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,GACL,OAAO,CAAC,WAAW,CAAC,CAgItB;AAGD,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACd,GACL,OAAO,CAAC;IAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,CAAC,CA0BlF;AAGD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,CAgB/D;AAGD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAMjE;AAGD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAMnE;AAGD,wBAAgB,mBAAmB,IAAI,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,CAYpE;AAGD,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAGD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAUxD;AAGD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,CAqBxE,CAAC;AAGF,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,CAErF"}
@@ -1,7 +1,38 @@
1
1
  import { URL } from 'url';
2
+ import crypto from 'crypto';
2
3
  import { logger } from '../utils/logger.js';
3
- // Web documents cache
4
+ import { safeFetch } from '../utils/safeFetch.js';
5
+ import { sanitizeForPrompt } from '../validation/schemas.js';
4
6
  const webDocCache = new Map();
7
+ const CACHE_TTL_MS = 6 * 60 * 60 * 1000; // 6 hours
8
+ const ALLOWED_DOC_HOSTS = [
9
+ 'github.com',
10
+ 'raw.githubusercontent.com',
11
+ 'example.com',
12
+ 'developer.mozilla.org',
13
+ 'nextjs.org',
14
+ 'react.dev',
15
+ 'nodejs.org',
16
+ 'docs.djangoproject.com',
17
+ 'fastapi.tiangolo.com',
18
+ 'flask.palletsprojects.com'
19
+ ];
20
+ function getProjectKey(projectPath) {
21
+ const target = projectPath ? projectPath : process.cwd();
22
+ const normalized = target.replace(/\\/g, '/');
23
+ return crypto.createHash('sha256').update(normalized).digest('hex').slice(0, 12);
24
+ }
25
+ function cacheKey(projectKey, url) {
26
+ return `${projectKey}:${url}`;
27
+ }
28
+ function pruneExpired() {
29
+ const now = Date.now();
30
+ for (const [key, entry] of webDocCache.entries()) {
31
+ if (entry.expiresAt <= now) {
32
+ webDocCache.delete(key);
33
+ }
34
+ }
35
+ }
5
36
  const rateLimitStore = new Map();
6
37
  const RATE_LIMIT_CONFIG = {
7
38
  maxRequests: 30, // Max requests per window
@@ -178,6 +209,9 @@ function isAllowedUrl(urlString) {
178
209
  // Fetch and process web documentation
179
210
  export async function fetchWebDocumentation(url, options = {}) {
180
211
  const startTime = Date.now();
212
+ pruneExpired();
213
+ const projectKey = getProjectKey(options.projectPath);
214
+ const key = cacheKey(projectKey, url);
181
215
  // Rate limiting check
182
216
  const rateCheck = checkRateLimit('global');
183
217
  if (!rateCheck.allowed) {
@@ -189,9 +223,10 @@ export async function fetchWebDocumentation(url, options = {}) {
189
223
  throw new Error(`Rate limit exceeded. Retry after ${rateCheck.retryAfter} seconds.`);
190
224
  }
191
225
  // Check cache
192
- if (webDocCache.has(url)) {
193
- logger.debug('Cache hit', { url, action: 'cache_hit' });
194
- return webDocCache.get(url);
226
+ const cached = webDocCache.get(key);
227
+ if (cached && cached.expiresAt > Date.now()) {
228
+ logger.debug('Cache hit', { url, action: 'cache_hit', projectKey });
229
+ return cached.doc;
195
230
  }
196
231
  // Validate URL format
197
232
  try {
@@ -215,13 +250,19 @@ export async function fetchWebDocumentation(url, options = {}) {
215
250
  logger.info('Fetching web documentation', {
216
251
  url,
217
252
  projectType: options.projectType,
253
+ projectKey,
218
254
  action: 'fetch_start'
219
255
  });
220
256
  // Fetch content
221
- const response = await fetch(url, {
222
- headers: {
223
- 'User-Agent': 'StackGuide-MCP/1.0 (Documentation Fetcher)',
224
- 'Accept': 'text/html,application/xhtml+xml,text/plain,text/markdown'
257
+ const response = await safeFetch(url, {
258
+ allowedHosts: ALLOWED_DOC_HOSTS,
259
+ timeoutMs: 12000,
260
+ maxBytes: 2 * 1024 * 1024,
261
+ fetchOptions: {
262
+ headers: {
263
+ 'User-Agent': 'StackGuide-MCP/1.0 (Documentation Fetcher)',
264
+ 'Accept': 'text/html,application/xhtml+xml,text/plain,text/markdown'
265
+ }
225
266
  }
226
267
  });
227
268
  if (!response.ok) {
@@ -251,19 +292,27 @@ export async function fetchWebDocumentation(url, options = {}) {
251
292
  content = await response.text();
252
293
  title = new URL(url).pathname.split('/').pop() || 'Untitled';
253
294
  }
295
+ // Prompt-safety: strip control/directional chars and scripts before caching/using downstream
296
+ const sanitizedContent = sanitizeForPrompt(content, 8000);
297
+ const sanitizedTitle = sanitizeForPrompt(title, 300);
254
298
  const doc = {
255
299
  id: `web-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
256
300
  url,
257
- title,
258
- content,
259
- summary: generateSummary(content),
301
+ title: sanitizedTitle,
302
+ content: sanitizedContent,
303
+ summary: generateSummary(sanitizedContent),
260
304
  fetchedAt: new Date().toISOString(),
261
305
  projectType: options.projectType,
262
306
  category: options.category,
263
- tags: options.tags || []
307
+ tags: options.tags || [],
308
+ projectKey
264
309
  };
265
310
  // Save to cache
266
- webDocCache.set(url, doc);
311
+ webDocCache.set(key, {
312
+ doc,
313
+ projectKey,
314
+ expiresAt: Date.now() + CACHE_TTL_MS
315
+ });
267
316
  // Audit log: fetch complete
268
317
  const duration = Date.now() - startTime;
269
318
  logger.info('Web documentation fetched successfully', {
@@ -286,9 +335,15 @@ export async function fetchMultipleDocuments(urls, options = {}) {
286
335
  successful.push(result.value);
287
336
  }
288
337
  else {
338
+ const errorMessage = result.reason?.message || 'Unknown error';
339
+ logger.warn('Web documentation fetch failed', {
340
+ url: urls[index],
341
+ error: errorMessage,
342
+ action: 'fetch_multi_failed'
343
+ });
289
344
  failed.push({
290
345
  url: urls[index],
291
- error: result.reason?.message || 'Unknown error'
346
+ error: errorMessage
292
347
  });
293
348
  }
294
349
  });
@@ -298,7 +353,8 @@ export async function fetchMultipleDocuments(urls, options = {}) {
298
353
  export function searchWebDocuments(query) {
299
354
  const results = [];
300
355
  const queryLower = query.toLowerCase();
301
- for (const doc of webDocCache.values()) {
356
+ pruneExpired();
357
+ for (const { doc } of webDocCache.values()) {
302
358
  if (doc.title.toLowerCase().includes(queryLower) ||
303
359
  doc.content.toLowerCase().includes(queryLower) ||
304
360
  doc.tags.some(t => t.toLowerCase().includes(queryLower))) {
@@ -309,7 +365,8 @@ export function searchWebDocuments(query) {
309
365
  }
310
366
  // Get document by ID
311
367
  export function getWebDocumentById(id) {
312
- for (const doc of webDocCache.values()) {
368
+ pruneExpired();
369
+ for (const { doc } of webDocCache.values()) {
313
370
  if (doc.id === id)
314
371
  return doc;
315
372
  }
@@ -317,11 +374,17 @@ export function getWebDocumentById(id) {
317
374
  }
318
375
  // Get document by URL
319
376
  export function getWebDocumentByUrl(url) {
320
- return webDocCache.get(url) || null;
377
+ pruneExpired();
378
+ for (const { doc } of webDocCache.values()) {
379
+ if (doc.url === url)
380
+ return doc;
381
+ }
382
+ return null;
321
383
  }
322
384
  // List all cached documents
323
385
  export function listCachedDocuments() {
324
- return Array.from(webDocCache.values()).map(doc => ({
386
+ pruneExpired();
387
+ return Array.from(webDocCache.values()).map(({ doc }) => ({
325
388
  id: doc.id,
326
389
  url: doc.url,
327
390
  title: doc.title,
@@ -338,17 +401,15 @@ export function clearWebDocCache() {
338
401
  }
339
402
  // Remove document from cache
340
403
  export function removeFromCache(urlOrId) {
341
- if (webDocCache.has(urlOrId)) {
342
- webDocCache.delete(urlOrId);
343
- return true;
344
- }
345
- for (const [url, doc] of webDocCache.entries()) {
346
- if (doc.id === urlOrId) {
347
- webDocCache.delete(url);
348
- return true;
404
+ pruneExpired();
405
+ let removed = false;
406
+ for (const [key, entry] of webDocCache.entries()) {
407
+ if (entry.doc.id === urlOrId || entry.doc.url === urlOrId) {
408
+ webDocCache.delete(key);
409
+ removed = true;
349
410
  }
350
411
  }
351
- return false;
412
+ return removed;
352
413
  }
353
414
  // Popular documentation URLs by framework
354
415
  export const POPULAR_DOCS = {
@@ -1 +1 @@
1
- {"version":3,"file":"webDocumentation.js","sourceRoot":"","sources":["../../src/services/webDocumentation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webDocumentation.js","sourceRoot":"","sources":["../../src/services/webDocumentation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export interface SafeFetchOptions {
2
+ /** Hosts explicitly allowed. If empty, no host is allowed. */
3
+ allowedHosts: string[];
4
+ /** Request timeout in milliseconds. Default: 8000. */
5
+ timeoutMs?: number;
6
+ /** Maximum response size in bytes. Default: 2 MB. */
7
+ maxBytes?: number;
8
+ /** Additional fetch init options. */
9
+ fetchOptions?: RequestInit;
10
+ }
11
+ export declare function safeFetch(urlString: string, options: SafeFetchOptions): Promise<Response>;
12
+ //# sourceMappingURL=safeFetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safeFetch.d.ts","sourceRoot":"","sources":["../../src/utils/safeFetch.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AA4CD,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAwE/F"}
@@ -0,0 +1,107 @@
1
+ import dns from 'dns';
2
+ import { URL } from 'url';
3
+ const PRIVATE_HOSTS = new Set([
4
+ 'localhost',
5
+ '127.0.0.1',
6
+ '0.0.0.0',
7
+ '::1'
8
+ ]);
9
+ const PRIVATE_IP_PATTERNS = [
10
+ /^10\./,
11
+ /^172\.(1[6-9]|2\d|3[0-1])\./,
12
+ /^192\.168\./,
13
+ /^127\./,
14
+ /^169\.254\./,
15
+ /^0\./,
16
+ /^::1$/,
17
+ /^fc00:/i,
18
+ /^fe80:/i
19
+ ];
20
+ function isPrivateIp(host) {
21
+ if (PRIVATE_HOSTS.has(host))
22
+ return true;
23
+ return PRIVATE_IP_PATTERNS.some((rx) => rx.test(host));
24
+ }
25
+ function hostAllowed(host, allowedHosts) {
26
+ if (allowedHosts.length === 0)
27
+ return false;
28
+ const lower = host.toLowerCase();
29
+ return allowedHosts.some((h) => {
30
+ const target = h.toLowerCase();
31
+ return lower === target || lower.endsWith(`.${target}`);
32
+ });
33
+ }
34
+ async function resolveAll(host) {
35
+ try {
36
+ const records = await dns.promises.lookup(host, { all: true });
37
+ return records.map((r) => r.address);
38
+ }
39
+ catch {
40
+ return [];
41
+ }
42
+ }
43
+ export async function safeFetch(urlString, options) {
44
+ const { allowedHosts, timeoutMs = 8000, maxBytes = 2 * 1024 * 1024, fetchOptions = {} } = options;
45
+ let parsed;
46
+ try {
47
+ parsed = new URL(urlString);
48
+ }
49
+ catch {
50
+ throw new Error('Invalid URL');
51
+ }
52
+ if (!['http:', 'https:'].includes(parsed.protocol)) {
53
+ throw new Error(`Protocol not allowed: ${parsed.protocol}`);
54
+ }
55
+ if (!hostAllowed(parsed.hostname, allowedHosts)) {
56
+ throw new Error(`Host not in allowlist: ${parsed.hostname}`);
57
+ }
58
+ const addresses = await resolveAll(parsed.hostname);
59
+ if (addresses.length === 0) {
60
+ throw new Error('Could not resolve host');
61
+ }
62
+ for (const addr of addresses) {
63
+ if (isPrivateIp(addr)) {
64
+ throw new Error('Target resolves to private or loopback address');
65
+ }
66
+ }
67
+ const controller = new AbortController();
68
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
69
+ const response = await fetch(urlString, {
70
+ redirect: 'manual',
71
+ ...fetchOptions,
72
+ signal: controller.signal,
73
+ }).finally(() => clearTimeout(timer));
74
+ // Reject redirects to avoid SSRF via Location
75
+ if (response.status >= 300 && response.status < 400) {
76
+ const location = response.headers.get('location') || 'unknown';
77
+ throw new Error(`Redirects are blocked (got ${location})`);
78
+ }
79
+ // Enforce size limit by reading stream manually
80
+ const reader = response.body?.getReader();
81
+ if (!reader) {
82
+ return response;
83
+ }
84
+ let bytesRead = 0;
85
+ const chunks = [];
86
+ while (true) {
87
+ const { done, value } = await reader.read();
88
+ if (done)
89
+ break;
90
+ if (value) {
91
+ bytesRead += value.byteLength;
92
+ if (bytesRead > maxBytes) {
93
+ reader.cancel();
94
+ throw new Error(`Response exceeds limit (${maxBytes} bytes)`);
95
+ }
96
+ chunks.push(value);
97
+ }
98
+ }
99
+ const body = Buffer.concat(chunks);
100
+ const res = new Response(body, {
101
+ status: response.status,
102
+ statusText: response.statusText,
103
+ headers: response.headers,
104
+ });
105
+ return res;
106
+ }
107
+ //# sourceMappingURL=safeFetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safeFetch.js","sourceRoot":"","sources":["../../src/utils/safeFetch.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,6 @@
3
3
  * Centralized input validation for MCP handlers
4
4
  * @version 3.6.0
5
5
  */
6
- export { ProjectTypeSchema, SeveritySchema, FilePathSchema, UrlSchema, SafeStringSchema, IdentifierSchema, SetupInputSchema, RulesInputSchema, KnowledgeInputSchema, ReviewInputSchema, ContextInputSchema, DocsInputSchema, CursorInputSchema, ConfigInputSchema, CustomRuleInputSchema, GenerateInputSchema, HealthInputSchema, AnalyzeCodeInputSchema, GetRulesInputSchema, validate, validateOrThrow, withValidation, validateHandlerInput, sanitizeForDisplay, sanitizePath, sanitizeIdentifier, HANDLER_SCHEMAS } from './schemas.js';
6
+ export { ProjectTypeSchema, SeveritySchema, FilePathSchema, UrlSchema, SafeStringSchema, IdentifierSchema, SetupInputSchema, RulesInputSchema, KnowledgeInputSchema, ReviewInputSchema, ContextInputSchema, DocsInputSchema, CursorInputSchema, ConfigInputSchema, CustomRuleInputSchema, GenerateInputSchema, HealthInputSchema, AnalyzeCodeInputSchema, GetRulesInputSchema, validate, validateOrThrow, withValidation, validateHandlerInput, sanitizeForDisplay, sanitizeForPrompt, sanitizePath, sanitizeIdentifier, HANDLER_SCHEMAS } from './schemas.js';
7
7
  export type { ProjectType, Severity, SetupInput, RulesInput, KnowledgeInput, ReviewInput, ContextInput, DocsInput, CursorInput, ConfigInput, CustomRuleInput, GenerateInput, HealthInput, AnalyzeCodeInput, GetRulesInput, ValidationResult } from './schemas.js';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAGhB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EAGjB,sBAAsB,EACtB,mBAAmB,EAGnB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,oBAAoB,EAGpB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAGlB,eAAe,EAChB,MAAM,cAAc,CAAC;AAEtB,YAAY,EAEV,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,SAAS,EACT,WAAW,EACX,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EACjB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAGhB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EAGjB,sBAAsB,EACtB,mBAAmB,EAGnB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,oBAAoB,EAGpB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAGlB,eAAe,EAChB,MAAM,cAAc,CAAC;AAEtB,YAAY,EAEV,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,SAAS,EACT,WAAW,EACX,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EACjB,MAAM,cAAc,CAAC"}
@@ -13,7 +13,7 @@ AnalyzeCodeInputSchema, GetRulesInputSchema,
13
13
  // Validation utilities
14
14
  validate, validateOrThrow, withValidation, validateHandlerInput,
15
15
  // Sanitization utilities
16
- sanitizeForDisplay, sanitizePath, sanitizeIdentifier,
16
+ sanitizeForDisplay, sanitizeForPrompt, sanitizePath, sanitizeIdentifier,
17
17
  // Schema registry
18
18
  HANDLER_SCHEMAS } from './schemas.js';
19
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO;AACL,iBAAiB;AACjB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,gBAAgB;AAEhB,wBAAwB;AACxB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB;AAEjB,qBAAqB;AACrB,sBAAsB,EACtB,mBAAmB;AAEnB,uBAAuB;AACvB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,oBAAoB;AAEpB,yBAAyB;AACzB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB;AAElB,kBAAkB;AAClB,eAAe,EAChB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO;AACL,iBAAiB;AACjB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,gBAAgB;AAEhB,wBAAwB;AACxB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB;AAEjB,qBAAqB;AACrB,sBAAsB,EACtB,mBAAmB;AAEnB,uBAAuB;AACvB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,oBAAoB;AAEpB,yBAAyB;AACzB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB;AAElB,kBAAkB;AAClB,eAAe,EAChB,MAAM,cAAc,CAAC"}
@@ -325,6 +325,11 @@ export declare function withValidation<TInput, TOutput>(schema: z.ZodSchema<TInp
325
325
  * Sanitize string for safe display
326
326
  */
327
327
  export declare function sanitizeForDisplay(input: string, maxLength?: number): string;
328
+ /**
329
+ * Sanitize arbitrary content before sending to a prompt/LLM.
330
+ * Removes control/directional chars and script/style blocks, and enforces length.
331
+ */
332
+ export declare function sanitizeForPrompt(input: string, maxLength?: number): string;
328
333
  /**
329
334
  * Sanitize file path
330
335
  */
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/validation/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/validation/schemas.ts"],"names":[],"mappings":"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"}
@@ -196,6 +196,18 @@ export function sanitizeForDisplay(input, maxLength = 1000) {
196
196
  .replace(/[\x00-\x1F\x7F]/g, '') // Remove control characters
197
197
  .trim();
198
198
  }
199
+ /**
200
+ * Sanitize arbitrary content before sending to a prompt/LLM.
201
+ * Removes control/directional chars and script/style blocks, and enforces length.
202
+ */
203
+ export function sanitizeForPrompt(input, maxLength = 8000) {
204
+ const withoutControls = input
205
+ .slice(0, maxLength)
206
+ .replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g, '')
207
+ .replace(/[\u202A-\u202E\u2066-\u2069]/g, '');
208
+ const withoutScripts = withoutControls.replace(/<\s*(script|style)[^>]*>[\s\S]*?<\s*\/\s*\1\s*>/gi, '');
209
+ return withoutScripts.trim();
210
+ }
199
211
  /**
200
212
  * Sanitize file path
201
213
  */
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/validation/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/validation/schemas.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackguide/mcp-server",
3
- "version": "3.8.1",
3
+ "version": "3.8.2",
4
4
  "description": "MCP Server for dynamic language and framework context loading - Compatible with Cursor and GitHub Copilot",
5
5
  "main": "dist/index.js",
6
6
  "bin": {