@bryan-thompson/inspector-assessment-client 1.25.4 → 1.25.5

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 (123) hide show
  1. package/dist/assets/{OAuthCallback-DE62cdTZ.js → OAuthCallback-Dl4GYls3.js} +1 -1
  2. package/dist/assets/{OAuthDebugCallback-CWjFdCIE.js → OAuthDebugCallback-BdJ38Z-r.js} +1 -1
  3. package/dist/assets/{index-Df9Sx1jt.css → index-cHhcEXbr.css} +4 -0
  4. package/dist/assets/{index-PCQVSwHa.js → index-pfUiTdQb.js} +4 -4
  5. package/dist/index.html +2 -2
  6. package/lib/lib/assessment/coreTypes.d.ts +65 -0
  7. package/lib/lib/assessment/coreTypes.d.ts.map +1 -1
  8. package/lib/lib/assessment/extendedTypes.d.ts +127 -0
  9. package/lib/lib/assessment/extendedTypes.d.ts.map +1 -1
  10. package/lib/lib/assessment/resultTypes.d.ts +45 -0
  11. package/lib/lib/assessment/resultTypes.d.ts.map +1 -1
  12. package/lib/services/assessment/AssessmentOrchestrator.d.ts +3 -7
  13. package/lib/services/assessment/AssessmentOrchestrator.d.ts.map +1 -1
  14. package/lib/services/assessment/AssessmentOrchestrator.js +13 -2
  15. package/lib/services/assessment/TestDataGenerator.d.ts +9 -1
  16. package/lib/services/assessment/TestDataGenerator.d.ts.map +1 -1
  17. package/lib/services/assessment/TestDataGenerator.js +32 -6
  18. package/lib/services/assessment/TestScenarioEngine.d.ts +9 -1
  19. package/lib/services/assessment/TestScenarioEngine.d.ts.map +1 -1
  20. package/lib/services/assessment/TestScenarioEngine.js +17 -14
  21. package/lib/services/assessment/config/annotationPatterns.d.ts +3 -1
  22. package/lib/services/assessment/config/annotationPatterns.d.ts.map +1 -1
  23. package/lib/services/assessment/config/annotationPatterns.js +5 -2
  24. package/lib/services/assessment/config/architecturePatterns.d.ts +101 -0
  25. package/lib/services/assessment/config/architecturePatterns.d.ts.map +1 -0
  26. package/lib/services/assessment/config/architecturePatterns.js +248 -0
  27. package/lib/services/assessment/config/performanceConfig.d.ts +122 -0
  28. package/lib/services/assessment/config/performanceConfig.d.ts.map +1 -0
  29. package/lib/services/assessment/config/performanceConfig.js +154 -0
  30. package/lib/services/assessment/config/sanitizationPatterns.d.ts +63 -0
  31. package/lib/services/assessment/config/sanitizationPatterns.d.ts.map +1 -0
  32. package/lib/services/assessment/config/sanitizationPatterns.js +223 -0
  33. package/lib/services/assessment/lib/claudeCodeBridge.d.ts +3 -1
  34. package/lib/services/assessment/lib/claudeCodeBridge.d.ts.map +1 -1
  35. package/lib/services/assessment/lib/claudeCodeBridge.js +5 -3
  36. package/lib/services/assessment/lib/concurrencyLimit.d.ts +6 -2
  37. package/lib/services/assessment/lib/concurrencyLimit.d.ts.map +1 -1
  38. package/lib/services/assessment/lib/concurrencyLimit.js +13 -6
  39. package/lib/services/assessment/lib/errors.d.ts +90 -0
  40. package/lib/services/assessment/lib/errors.d.ts.map +1 -0
  41. package/lib/services/assessment/lib/errors.js +136 -0
  42. package/lib/services/assessment/lib/timeoutUtils.d.ts +69 -0
  43. package/lib/services/assessment/lib/timeoutUtils.d.ts.map +1 -0
  44. package/lib/services/assessment/lib/timeoutUtils.js +103 -0
  45. package/lib/services/assessment/modules/BaseAssessor.d.ts +43 -8
  46. package/lib/services/assessment/modules/BaseAssessor.d.ts.map +1 -1
  47. package/lib/services/assessment/modules/BaseAssessor.js +103 -34
  48. package/lib/services/assessment/modules/DeveloperExperienceAssessor.d.ts +38 -1
  49. package/lib/services/assessment/modules/DeveloperExperienceAssessor.d.ts.map +1 -1
  50. package/lib/services/assessment/modules/DeveloperExperienceAssessor.js +185 -19
  51. package/lib/services/assessment/modules/DocumentationAssessor.d.ts +5 -0
  52. package/lib/services/assessment/modules/DocumentationAssessor.d.ts.map +1 -1
  53. package/lib/services/assessment/modules/DocumentationAssessor.js +11 -0
  54. package/lib/services/assessment/modules/ErrorHandlingAssessor.js +1 -1
  55. package/lib/services/assessment/modules/FunctionalityAssessor.d.ts.map +1 -1
  56. package/lib/services/assessment/modules/FunctionalityAssessor.js +6 -3
  57. package/lib/services/assessment/modules/MCPSpecComplianceAssessor.d.ts +3 -0
  58. package/lib/services/assessment/modules/MCPSpecComplianceAssessor.d.ts.map +1 -1
  59. package/lib/services/assessment/modules/MCPSpecComplianceAssessor.js +14 -2
  60. package/lib/services/assessment/modules/ManifestValidationAssessor.d.ts.map +1 -1
  61. package/lib/services/assessment/modules/ManifestValidationAssessor.js +7 -2
  62. package/lib/services/assessment/modules/PromptAssessor.d.ts +1 -0
  63. package/lib/services/assessment/modules/PromptAssessor.d.ts.map +1 -1
  64. package/lib/services/assessment/modules/PromptAssessor.js +26 -16
  65. package/lib/services/assessment/modules/ProtocolComplianceAssessor.d.ts.map +1 -1
  66. package/lib/services/assessment/modules/ProtocolComplianceAssessor.js +6 -2
  67. package/lib/services/assessment/modules/ProtocolConformanceAssessor.d.ts +5 -0
  68. package/lib/services/assessment/modules/ProtocolConformanceAssessor.d.ts.map +1 -1
  69. package/lib/services/assessment/modules/ProtocolConformanceAssessor.js +15 -0
  70. package/lib/services/assessment/modules/ResourceAssessor.d.ts.map +1 -1
  71. package/lib/services/assessment/modules/ResourceAssessor.js +8 -2
  72. package/lib/services/assessment/modules/SecurityAssessor.d.ts +3 -171
  73. package/lib/services/assessment/modules/SecurityAssessor.d.ts.map +1 -1
  74. package/lib/services/assessment/modules/SecurityAssessor.js +25 -1480
  75. package/lib/services/assessment/modules/ToolAnnotationAssessor.d.ts +27 -28
  76. package/lib/services/assessment/modules/ToolAnnotationAssessor.d.ts.map +1 -1
  77. package/lib/services/assessment/modules/ToolAnnotationAssessor.js +340 -863
  78. package/lib/services/assessment/modules/UsabilityAssessor.d.ts +5 -0
  79. package/lib/services/assessment/modules/UsabilityAssessor.d.ts.map +1 -1
  80. package/lib/services/assessment/modules/UsabilityAssessor.js +11 -0
  81. package/lib/services/assessment/modules/annotations/AnnotationDeceptionDetector.d.ts +57 -0
  82. package/lib/services/assessment/modules/annotations/AnnotationDeceptionDetector.d.ts.map +1 -0
  83. package/lib/services/assessment/modules/annotations/AnnotationDeceptionDetector.js +176 -0
  84. package/lib/services/assessment/modules/annotations/ArchitectureDetector.d.ts +67 -0
  85. package/lib/services/assessment/modules/annotations/ArchitectureDetector.d.ts.map +1 -0
  86. package/lib/services/assessment/modules/annotations/ArchitectureDetector.js +239 -0
  87. package/lib/services/assessment/modules/annotations/BehaviorInference.d.ts +46 -0
  88. package/lib/services/assessment/modules/annotations/BehaviorInference.d.ts.map +1 -0
  89. package/lib/services/assessment/modules/annotations/BehaviorInference.js +394 -0
  90. package/lib/services/assessment/modules/annotations/DescriptionAnalyzer.d.ts +64 -0
  91. package/lib/services/assessment/modules/annotations/DescriptionAnalyzer.d.ts.map +1 -0
  92. package/lib/services/assessment/modules/annotations/DescriptionAnalyzer.js +304 -0
  93. package/lib/services/assessment/modules/annotations/DescriptionPoisoningDetector.d.ts +43 -0
  94. package/lib/services/assessment/modules/annotations/DescriptionPoisoningDetector.d.ts.map +1 -0
  95. package/lib/services/assessment/modules/annotations/DescriptionPoisoningDetector.js +276 -0
  96. package/lib/services/assessment/modules/annotations/SchemaAnalyzer.d.ts +122 -0
  97. package/lib/services/assessment/modules/annotations/SchemaAnalyzer.d.ts.map +1 -0
  98. package/lib/services/assessment/modules/annotations/SchemaAnalyzer.js +388 -0
  99. package/lib/services/assessment/modules/annotations/index.d.ts +13 -0
  100. package/lib/services/assessment/modules/annotations/index.d.ts.map +1 -0
  101. package/lib/services/assessment/modules/annotations/index.js +15 -0
  102. package/lib/services/assessment/modules/index.d.ts +10 -0
  103. package/lib/services/assessment/modules/index.d.ts.map +1 -1
  104. package/lib/services/assessment/modules/index.js +13 -0
  105. package/lib/services/assessment/modules/securityTests/SanitizationDetector.d.ts +125 -0
  106. package/lib/services/assessment/modules/securityTests/SanitizationDetector.d.ts.map +1 -0
  107. package/lib/services/assessment/modules/securityTests/SanitizationDetector.js +345 -0
  108. package/lib/services/assessment/modules/securityTests/SecurityPayloadGenerator.d.ts +33 -0
  109. package/lib/services/assessment/modules/securityTests/SecurityPayloadGenerator.d.ts.map +1 -0
  110. package/lib/services/assessment/modules/securityTests/SecurityPayloadGenerator.js +128 -0
  111. package/lib/services/assessment/modules/securityTests/SecurityPayloadTester.d.ts +67 -0
  112. package/lib/services/assessment/modules/securityTests/SecurityPayloadTester.d.ts.map +1 -0
  113. package/lib/services/assessment/modules/securityTests/SecurityPayloadTester.js +372 -0
  114. package/lib/services/assessment/modules/securityTests/SecurityResponseAnalyzer.d.ts +178 -0
  115. package/lib/services/assessment/modules/securityTests/SecurityResponseAnalyzer.d.ts.map +1 -0
  116. package/lib/services/assessment/modules/securityTests/SecurityResponseAnalyzer.js +1207 -0
  117. package/lib/services/assessment/modules/securityTests/index.d.ts +8 -0
  118. package/lib/services/assessment/modules/securityTests/index.d.ts.map +1 -0
  119. package/lib/services/assessment/modules/securityTests/index.js +7 -0
  120. package/lib/services/assessment/tool-classifier-patterns.d.ts +1 -0
  121. package/lib/services/assessment/tool-classifier-patterns.d.ts.map +1 -1
  122. package/lib/services/assessment/tool-classifier-patterns.js +17 -0
  123. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ManifestValidationAssessor.d.ts","sourceRoot":"","sources":["../../../../src/services/assessment/modules/ManifestValidationAssessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EACV,4BAA4B,EAK7B,MAAM,uBAAuB,CAAC;AAM/B,qBAAa,0BAA2B,SAAQ,YAAY;IAC1D;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,4BAA4B,CAAC;IA6JxC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAyB9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmB/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAgC/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiC7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAiChC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA+CzB;;OAEG;IACH,OAAO,CAAC,YAAY;IAqCpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA8B7B;;OAEG;YACW,yBAAyB;IA2EvC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAsB/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0C3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;CA+ChC"}
1
+ {"version":3,"file":"ManifestValidationAssessor.d.ts","sourceRoot":"","sources":["../../../../src/services/assessment/modules/ManifestValidationAssessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EACV,4BAA4B,EAK7B,MAAM,uBAAuB,CAAC;AAM/B,qBAAa,0BAA2B,SAAQ,YAAY;IAC1D;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,4BAA4B,CAAC;IA6JxC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAyB9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmB/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAgC/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiC7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAiChC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA+CzB;;OAEG;IACH,OAAO,CAAC,YAAY;IAqCpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA8B7B;;OAEG;YACW,yBAAyB;IAoFvC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAsB/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0C3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;CA+ChC"}
@@ -412,7 +412,8 @@ export class ManifestValidationAssessor extends BaseAssessor {
412
412
  try {
413
413
  new URL(url);
414
414
  }
415
- catch {
415
+ catch (error) {
416
+ this.logError(`Invalid privacy policy URL format: ${url}`, error);
416
417
  results.push({
417
418
  url,
418
419
  accessible: false,
@@ -437,8 +438,11 @@ export class ManifestValidationAssessor extends BaseAssessor {
437
438
  contentType: response.headers.get("content-type") || undefined,
438
439
  });
439
440
  }
440
- catch {
441
+ catch (headError) {
441
442
  // Try GET request as fallback (some servers reject HEAD)
443
+ this.logger.debug(`HEAD request failed for ${url}, trying GET`, {
444
+ error: headError instanceof Error ? headError.message : String(headError),
445
+ });
442
446
  try {
443
447
  const controller = new AbortController();
444
448
  const timeoutId = setTimeout(() => controller.abort(), 5000);
@@ -456,6 +460,7 @@ export class ManifestValidationAssessor extends BaseAssessor {
456
460
  });
457
461
  }
458
462
  catch (fetchError) {
463
+ this.logError(`Failed to fetch privacy policy URL: ${url}`, fetchError);
459
464
  results.push({
460
465
  url,
461
466
  accessible: false,
@@ -32,6 +32,7 @@ export declare class PromptAssessor extends BaseAssessor {
32
32
  private analyzePromptTemplate;
33
33
  /**
34
34
  * Analyze dynamic content characteristics for enrichment (Issue #9)
35
+ * Enhanced with SanitizationDetector for library-aware detection (Issue #56)
35
36
  */
36
37
  private analyzeDynamicContent;
37
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PromptAssessor.d.ts","sourceRoot":"","sources":["../../../../src/services/assessment/modules/PromptAssessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,gBAAgB,EAGjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAa,MAAM,2BAA2B,CAAC;AA6DzE,qBAAa,cAAe,SAAQ,YAAY;IACxC,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqDnE,OAAO,CAAC,uBAAuB;YAajB,UAAU;IAsFxB,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,qBAAqB;YAuBf,mBAAmB;IAuCjC,OAAO,CAAC,6BAA6B;YAqBvB,mBAAmB;IA6CjC,OAAO,CAAC,qBAAqB;YAsCf,sBAAsB;IA+BpC,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,mBAAmB;IAmC3B,OAAO,CAAC,uBAAuB;IAqC/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;CA+C9B"}
1
+ {"version":3,"file":"PromptAssessor.d.ts","sourceRoot":"","sources":["../../../../src/services/assessment/modules/PromptAssessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,gBAAgB,EAGjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAa,MAAM,2BAA2B,CAAC;AA8DzE,qBAAa,cAAe,SAAQ,YAAY;IACxC,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqDnE,OAAO,CAAC,uBAAuB;YAajB,UAAU;IAsFxB,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,qBAAqB;YAuBf,mBAAmB;IAwCjC,OAAO,CAAC,6BAA6B;YAqBvB,mBAAmB;IAmDjC,OAAO,CAAC,qBAAqB;YAsCf,sBAAsB;IAqCpC,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,mBAAmB;IAmC3B,OAAO,CAAC,uBAAuB;IAqC/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;CAsD9B"}
@@ -9,6 +9,7 @@
9
9
  * - Required vs optional argument handling
10
10
  */
11
11
  import { BaseAssessor } from "./BaseAssessor.js";
12
+ import { SanitizationDetector } from "./securityTests/SanitizationDetector.js";
12
13
  // AUP violation patterns in prompt descriptions/content
13
14
  const AUP_VIOLATION_PATTERNS = [
14
15
  // Harmful content generation
@@ -215,6 +216,7 @@ export class PromptAssessor extends BaseAssessor {
215
216
  return { success: true, unsafeContent, executionTime };
216
217
  }
217
218
  catch (error) {
219
+ this.logError(`Prompt execution failed: ${prompt.name}`, error);
218
220
  return {
219
221
  success: false,
220
222
  unsafeContent: false,
@@ -265,8 +267,11 @@ export class PromptAssessor extends BaseAssessor {
265
267
  }
266
268
  return { vulnerable: false };
267
269
  }
268
- catch {
270
+ catch (error) {
269
271
  // Error handling payload is good - not vulnerable
272
+ this.logger.debug(`Injection payload rejected for ${prompt.name} (good)`, {
273
+ error: error instanceof Error ? error.message : String(error),
274
+ });
270
275
  return { vulnerable: false };
271
276
  }
272
277
  }
@@ -311,8 +316,11 @@ export class PromptAssessor extends BaseAssessor {
311
316
  // If we got here without error, validation failed
312
317
  return false;
313
318
  }
314
- catch {
319
+ catch (error) {
315
320
  // Expected - missing required arg should throw
321
+ this.logger.debug(`Missing arg ${arg.name} correctly rejected for ${prompt.name}`, {
322
+ error: error instanceof Error ? error.message : String(error),
323
+ });
316
324
  continue;
317
325
  }
318
326
  }
@@ -399,6 +407,7 @@ export class PromptAssessor extends BaseAssessor {
399
407
  }
400
408
  /**
401
409
  * Analyze dynamic content characteristics for enrichment (Issue #9)
410
+ * Enhanced with SanitizationDetector for library-aware detection (Issue #56)
402
411
  */
403
412
  analyzeDynamicContent(prompt) {
404
413
  const description = prompt.description || "";
@@ -409,25 +418,26 @@ export class PromptAssessor extends BaseAssessor {
409
418
  /\$\{.*\}/i.test(fullText) ||
410
419
  /\{[a-zA-Z_][a-zA-Z0-9_]*\}/i.test(fullText) ||
411
420
  (prompt.arguments?.length || 0) > 0;
412
- // Detect escaping mechanisms mentioned
413
- const escapingApplied = [];
414
- if (/sanitiz/i.test(fullText))
415
- escapingApplied.push("sanitization");
416
- if (/escap/i.test(fullText))
417
- escapingApplied.push("escaping");
418
- if (/encod/i.test(fullText))
419
- escapingApplied.push("encoding");
420
- if (/validat/i.test(fullText))
421
- escapingApplied.push("validation");
422
- if (/filter/i.test(fullText))
423
- escapingApplied.push("filtering");
421
+ // Issue #56: Use SanitizationDetector for library-aware detection
422
+ const sanitizationDetector = new SanitizationDetector();
423
+ const sanitizationResult = sanitizationDetector.detectFromText(fullText);
424
+ // Combine library detection with generic patterns for escapingApplied
425
+ const escapingApplied = [
426
+ ...sanitizationResult.libraries,
427
+ ...sanitizationResult.genericPatterns,
428
+ ];
424
429
  // Infer injection safety from multiple signals
425
430
  const hasTypeChecks = prompt.arguments?.some((a) => a.description?.toLowerCase().includes("type") ||
426
431
  a.description?.toLowerCase().includes("must be"));
427
432
  const hasLengthLimits = prompt.arguments?.some((a) => a.description?.toLowerCase().includes("max") ||
428
433
  a.description?.toLowerCase().includes("limit"));
429
- // Consider injection safe if escaping is mentioned or validation exists
430
- const injectionSafe = escapingApplied.length > 0 || hasTypeChecks || hasLengthLimits || false;
434
+ // Issue #56: Enhanced injection safety determination
435
+ // Now considers specific libraries (stronger signal) in addition to generic patterns
436
+ const injectionSafe = sanitizationResult.libraries.length > 0 || // Specific library = strong signal
437
+ sanitizationResult.genericPatterns.length >= 2 || // Multiple generic patterns
438
+ hasTypeChecks ||
439
+ hasLengthLimits ||
440
+ false;
431
441
  return {
432
442
  hasInterpolation,
433
443
  injectionSafe,
@@ -1 +1 @@
1
- {"version":3,"file":"ProtocolComplianceAssessor.d.ts","sourceRoot":"","sources":["../../../../src/services/assessment/modules/ProtocolComplianceAssessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,2BAA2B,EAM3B,uBAAuB,EAGxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAOpE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAmB9D;;;GAGG;AACH,MAAM,WAAW,4BAA6B,SAAQ,2BAA2B;IAC/E,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE;QAClB,mBAAmB,EAAE,aAAa,CAAC;QACnC,kBAAkB,EAAE,aAAa,CAAC;QAClC,uBAAuB,EAAE,aAAa,CAAC;KACxC,CAAC;CACH;AAED,qBAAa,0BAA2B,SAAQ,YAAY,CAAC,4BAA4B,CAAC;IACxF,OAAO,CAAC,GAAG,CAAc;gBAEb,MAAM,EAAE,uBAAuB;IAK3C;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;;OAGG;IACG,MAAM,CACV,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,4BAA4B,CAAC;IAmIxC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAqB9B;;OAEG;YACW,sBAAsB;IAuBpC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAsB/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuC7B;;OAEG;YACW,mBAAmB;IAiCjC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAYpC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAkEnC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;YACW,wBAAwB;IA4GtC;;OAEG;YACW,uBAAuB;IA2FrC;;OAEG;YACW,4BAA4B;IAoD1C,OAAO,CAAC,yBAAyB;IAkEjC,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,sBAAsB;IA0B9B,OAAO,CAAC,qBAAqB;IAgC7B,OAAO,CAAC,oBAAoB;IA8E5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAqEhC"}
1
+ {"version":3,"file":"ProtocolComplianceAssessor.d.ts","sourceRoot":"","sources":["../../../../src/services/assessment/modules/ProtocolComplianceAssessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,2BAA2B,EAM3B,uBAAuB,EAGxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAOpE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAmB9D;;;GAGG;AACH,MAAM,WAAW,4BAA6B,SAAQ,2BAA2B;IAC/E,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE;QAClB,mBAAmB,EAAE,aAAa,CAAC;QACnC,kBAAkB,EAAE,aAAa,CAAC;QAClC,uBAAuB,EAAE,aAAa,CAAC;KACxC,CAAC;CACH;AAED,qBAAa,0BAA2B,SAAQ,YAAY,CAAC,4BAA4B,CAAC;IACxF,OAAO,CAAC,GAAG,CAAc;gBAEb,MAAM,EAAE,uBAAuB;IAK3C;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;;OAGG;IACG,MAAM,CACV,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,4BAA4B,CAAC;IAmIxC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAqB9B;;OAEG;YACW,sBAAsB;IAuBpC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAsB/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAwC7B;;OAEG;YACW,mBAAmB;IAiCjC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAYpC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAkEnC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;YACW,wBAAwB;IA4GtC;;OAEG;YACW,uBAAuB;IA2FrC;;OAEG;YACW,4BAA4B;IAoD1C,OAAO,CAAC,yBAAyB;IAkEjC,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,sBAAsB;IA0B9B,OAAO,CAAC,qBAAqB;IAgC7B,OAAO,CAAC,oBAAoB;IA8E5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAqEhC"}
@@ -229,7 +229,9 @@ export class ProtocolComplianceAssessor extends BaseAssessor {
229
229
  hasErrors = true;
230
230
  const errorMsg = `${tool.name}: ${JSON.stringify(this.ajv.errors)}`;
231
231
  errors.push(errorMsg);
232
- console.warn(`Invalid schema for tool ${tool.name}:`, this.ajv.errors);
232
+ this.logger.warn(`Invalid schema for tool ${tool.name}`, {
233
+ errors: this.ajv.errors,
234
+ });
233
235
  }
234
236
  }
235
237
  }
@@ -240,7 +242,9 @@ export class ProtocolComplianceAssessor extends BaseAssessor {
240
242
  };
241
243
  }
242
244
  catch (error) {
243
- console.error("Schema compliance check failed:", error);
245
+ this.logger.error("Schema compliance check failed", {
246
+ error: String(error),
247
+ });
244
248
  return {
245
249
  passed: false,
246
250
  confidence: "low",
@@ -11,10 +11,15 @@
11
11
  *
12
12
  * @module assessment/modules/ProtocolConformanceAssessor
13
13
  */
14
+ import { AssessmentConfiguration } from "../../../lib/assessment/configTypes.js";
14
15
  import type { ProtocolConformanceAssessment } from "../../../lib/assessment/extendedTypes.js";
15
16
  import { BaseAssessor } from "./BaseAssessor.js";
16
17
  import { AssessmentContext } from "../AssessmentOrchestrator.js";
18
+ /**
19
+ * @deprecated Use ProtocolComplianceAssessor instead. Will be removed in v2.0.0.
20
+ */
17
21
  export declare class ProtocolConformanceAssessor extends BaseAssessor<ProtocolConformanceAssessment> {
22
+ constructor(config: AssessmentConfiguration);
18
23
  /**
19
24
  * Select representative tools for testing (first, middle, last for diversity)
20
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ProtocolConformanceAssessor.d.ts","sourceRoot":"","sources":["../../../../src/services/assessment/modules/ProtocolConformanceAssessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EACV,6BAA6B,EAE9B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAmB9D,qBAAa,2BAA4B,SAAQ,YAAY,CAAC,6BAA6B,CAAC;IAC1F;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAIjB,MAAM,CACV,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,6BAA6B,CAAC;IAqCzC;;;;;;;;;OASG;YACW,wBAAwB;IAoHtC;;;;;OAKG;YACW,uBAAuB;IAkGrC;;;;;;;;OAQG;YACW,4BAA4B;IAkD1C;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA6BjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmC3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;CA6ChC"}
1
+ {"version":3,"file":"ProtocolConformanceAssessor.d.ts","sourceRoot":"","sources":["../../../../src/services/assessment/modules/ProtocolConformanceAssessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EACV,6BAA6B,EAE9B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAmB9D;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,YAAY,CAAC,6BAA6B,CAAC;gBAC9E,MAAM,EAAE,uBAAuB;IAY3C;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAIjB,MAAM,CACV,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,6BAA6B,CAAC;IAqCzC;;;;;;;;;OASG;YACW,wBAAwB;IA0HtC;;;;;OAKG;YACW,uBAAuB;IAmGrC;;;;;;;;OAQG;YACW,4BAA4B;IAkD1C;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA6BjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmC3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;CA6ChC"}
@@ -20,7 +20,18 @@ const VALID_CONTENT_TYPES = [
20
20
  "resource",
21
21
  "resource_link",
22
22
  ];
23
+ /**
24
+ * @deprecated Use ProtocolComplianceAssessor instead. Will be removed in v2.0.0.
25
+ */
23
26
  export class ProtocolConformanceAssessor extends BaseAssessor {
27
+ constructor(config) {
28
+ super(config);
29
+ this.logger.warn("ProtocolConformanceAssessor is deprecated. Use ProtocolComplianceAssessor instead. " +
30
+ "This module will be removed in v2.0.0.", {
31
+ module: "ProtocolConformanceAssessor",
32
+ replacement: "ProtocolComplianceAssessor",
33
+ });
34
+ }
24
35
  /**
25
36
  * Select representative tools for testing (first, middle, last for diversity)
26
37
  */
@@ -147,6 +158,9 @@ export class ProtocolConformanceAssessor extends BaseAssessor {
147
158
  }
148
159
  catch (error) {
149
160
  // Tool threw exception instead of returning error response
161
+ this.logger.debug(`Tool ${testTool.name} threw exception instead of error response`, {
162
+ error: error instanceof Error ? error.message : String(error),
163
+ });
150
164
  results.push({
151
165
  toolName: testTool.name,
152
166
  passed: false,
@@ -254,6 +268,7 @@ export class ProtocolConformanceAssessor extends BaseAssessor {
254
268
  };
255
269
  }
256
270
  catch (error) {
271
+ this.logError("Content type validation failed", error);
257
272
  return {
258
273
  passed: false,
259
274
  confidence: "medium",
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceAssessor.d.ts","sourceRoot":"","sources":["../../../../src/services/assessment/modules/ResourceAssessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,kBAAkB,EAGnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAoN9D,qBAAa,gBAAiB,SAAQ,YAAY;IAC1C,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgFrE,OAAO,CAAC,yBAAyB;YAiBnB,YAAY;IAoG1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAY/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;YAsBjB,oBAAoB;IA4FlC,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,wBAAwB;IAIhC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,yBAAyB;IAYjC,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,mBAAmB;IAoC3B,OAAO,CAAC,uBAAuB;CA+DhC"}
1
+ {"version":3,"file":"ResourceAssessor.d.ts","sourceRoot":"","sources":["../../../../src/services/assessment/modules/ResourceAssessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,kBAAkB,EAGnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAoN9D,qBAAa,gBAAiB,SAAQ,YAAY;IAC1C,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgFrE,OAAO,CAAC,yBAAyB;YAiBnB,YAAY;IAoG1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAY/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;YAsBjB,oBAAoB;IAkGlC,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,wBAAwB;IAIhC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,yBAAyB;IAYjC,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,mBAAmB;IAoC3B,OAAO,CAAC,uBAAuB;CA+DhC"}
@@ -447,8 +447,11 @@ export class ResourceAssessor extends BaseAssessor {
447
447
  traversalResult.securityIssues.push(`Path traversal vulnerability: successfully accessed ${testUri}`);
448
448
  }
449
449
  }
450
- catch {
450
+ catch (error) {
451
451
  // Expected - path traversal should be rejected
452
+ this.logger.debug(`Path traversal correctly rejected for ${testUri}`, {
453
+ error: error instanceof Error ? error.message : String(error),
454
+ });
452
455
  traversalResult.accessible = false;
453
456
  }
454
457
  results.push(traversalResult);
@@ -469,7 +472,10 @@ export class ResourceAssessor extends BaseAssessor {
469
472
  // Allow relative paths
470
473
  return !uri.includes("..") || uri.startsWith("/");
471
474
  }
472
- catch {
475
+ catch (error) {
476
+ this.logger.debug(`URI validation failed for: ${uri}`, {
477
+ error: error instanceof Error ? error.message : String(error),
478
+ });
473
479
  return false;
474
480
  }
475
481
  }
@@ -19,109 +19,14 @@ import { SecurityAssessment } from "../../../lib/assessmentTypes.js";
19
19
  import { BaseAssessor } from "./BaseAssessor.js";
20
20
  import { AssessmentContext } from "../AssessmentOrchestrator.js";
21
21
  export declare class SecurityAssessor extends BaseAssessor {
22
- private languageGenerator;
22
+ private payloadTester;
23
+ private payloadGenerator;
24
+ constructor(config: import("../../../lib/assessment/configTypes.js").AssessmentConfiguration);
23
25
  assess(context: AssessmentContext): Promise<SecurityAssessment>;
24
26
  /**
25
27
  * Select tools for testing based on configuration
26
28
  */
27
29
  private selectToolsForTesting;
28
- /**
29
- * Run comprehensive security tests (advanced mode)
30
- * Tests selected tools with ALL 23 security patterns using diverse payloads
31
- * Includes injection tests, validation tests, and protocol compliance checks
32
- */
33
- private runUniversalSecurityTests;
34
- /**
35
- * Run basic security tests (fast mode)
36
- * Tests only 3 critical injection patterns with 1 generic payload each
37
- * Used when enableDomainTesting = false
38
- */
39
- private runBasicSecurityTests;
40
- /**
41
- * Test tool with a specific payload
42
- */
43
- private testPayload;
44
- /**
45
- * Check if response indicates connection/server failure
46
- * Returns true if test couldn't complete due to infrastructure issues
47
- *
48
- * CRITICAL: Only match transport/infrastructure errors, NOT tool business logic
49
- */
50
- private isConnectionError;
51
- /**
52
- * Check if caught exception indicates connection/server failure
53
- * CRITICAL: Only match transport/infrastructure errors, NOT tool business logic
54
- */
55
- private isConnectionErrorFromException;
56
- /**
57
- * Classify error type for reporting
58
- */
59
- private classifyError;
60
- /**
61
- * Classify error type from caught exception
62
- */
63
- private classifyErrorFromException;
64
- /**
65
- * Analyze response with evidence-based detection
66
- * CRITICAL: Distinguish between safe reflection and actual execution
67
- */
68
- private analyzeResponse;
69
- /**
70
- * Check if tool explicitly rejected input with validation error (SAFE)
71
- * Returns true if tool properly rejected invalid input (SECURE)
72
- *
73
- * Distinguishes between:
74
- * - SAFE: {"valid": false, "errors": ["Input too long"]} (rejection)
75
- * - VULNERABLE: {"result": "deleted 5 rows"} (execution)
76
- */
77
- private isValidationRejection;
78
- /**
79
- * Check if response is an MCP validation error (safe rejection)
80
- * Returns true if tool rejected input before processing (SECURE)
81
- *
82
- * Validation errors indicate proper input sanitization and are NOT vulnerabilities.
83
- * Examples:
84
- * - MCP error -32602 (JSON-RPC Invalid params standard)
85
- * - "parameter validation failed: invalid url"
86
- * - "schema validation error: must be a string"
87
- */
88
- private isMCPValidationError;
89
- /**
90
- * Check if response is an HTTP error (Issue #26)
91
- * HTTP 4xx/5xx error responses indicate tool rejection, not vulnerability.
92
- *
93
- * This prevents false positives like "404: Not Found" being flagged for
94
- * Calculator Injection (the digit "4" in "404" was incorrectly matching
95
- * as the computed result of "2+2").
96
- */
97
- private isHttpErrorResponse;
98
- /**
99
- * Check if evidence pattern is ambiguous (can match both validation and execution)
100
- * These patterns appear in BOTH:
101
- * - Secure validation errors: "parameter validation failed: invalid type"
102
- * - Vulnerable execution errors: "SQL executed: type error in result"
103
- */
104
- private isValidationPattern;
105
- /**
106
- * Check if response contains evidence of actual execution
107
- * Returns true only if malicious input was actually PROCESSED/EXECUTED
108
- *
109
- * Distinguishes between:
110
- * - SECURE: "Parameter validation failed: invalid type" (rejected BEFORE execution)
111
- * - VULNERABLE: "SQL executed: syntax error" (error DURING execution)
112
- */
113
- private hasExecutionEvidence;
114
- /**
115
- * Check if a math expression payload was computed (execution evidence)
116
- * Returns true if the response contains the computed result but NOT the original expression.
117
- *
118
- * This is key evidence of execution:
119
- * - VULNERABLE: payload "15*37+100" → response contains "655" (computed result)
120
- * - SAFE: payload "15*37+100" → response contains "15*37+100" (echoed, not computed)
121
- *
122
- * Added for Issue #14: False positives on safe input reflection
123
- */
124
- private isComputedMathResult;
125
30
  /**
126
31
  * Perform additional security checks
127
32
  */
@@ -138,78 +43,5 @@ export declare class SecurityAssessor extends BaseAssessor {
138
43
  * Generate security explanation
139
44
  */
140
45
  private generateSecurityExplanation;
141
- /**
142
- * Calculate confidence level and manual review requirements
143
- * Detects ambiguous patterns that need human verification
144
- */
145
- private calculateConfidence;
146
- /**
147
- * Check if tool is a structured data tool (search, lookup, retrieval)
148
- * These tools naturally echo input patterns in their results
149
- */
150
- private isStructuredDataTool;
151
- /**
152
- * Check if response is just reflection (safe)
153
- * Expanded to catch more reflection patterns including echo, repeat, display
154
- * IMPROVED: Bidirectional patterns, safety indicators, and two-layer defense
155
- *
156
- * CRITICAL: This check distinguishes between:
157
- * - SAFE: Tool stores/echoes malicious input as data (reflection)
158
- * - VULNERABLE: Tool executes malicious input and returns results (execution)
159
- *
160
- * Two-layer defense:
161
- * Layer 1: Match reflection/status patterns
162
- * Layer 2: Verify NO execution evidence (defense-in-depth)
163
- */
164
- private isReflectionResponse;
165
- /**
166
- * Detect execution artifacts in response
167
- * Returns true if response contains evidence of actual code execution
168
- *
169
- * HIGH confidence: System files, commands, directory listings
170
- * MEDIUM confidence: Contextual patterns (root alone, paths)
171
- *
172
- * IMPORTANT: Excludes patterns that appear within echoed injection payloads
173
- * (e.g., /etc/passwd within an XXE entity definition is NOT execution evidence)
174
- */
175
- private detectExecutionArtifacts;
176
- /**
177
- * Check if response contains echoed injection payload patterns
178
- * These indicate the tool is safely echoing/storing input rather than executing it
179
- */
180
- private containsEchoedInjectionPayload;
181
- /**
182
- * Analyze injection response (existing logic)
183
- * Note: payload parameter unused after refactoring to two-layer defense
184
- */
185
- private analyzeInjectionResponse;
186
- /**
187
- * Extract response content
188
- */
189
- private extractResponseContent;
190
- /**
191
- * Check if tool has input parameters
192
- */
193
- private hasInputParameters;
194
- private createTestParameters;
195
- /**
196
- * Check if tool is an API wrapper (safe data-passing tool)
197
- */
198
- private isApiWrapper;
199
- /**
200
- * Check if attack is an execution-based test
201
- * These tests assume the tool executes input as code, which doesn't apply to API wrappers
202
- */
203
- private isExecutionTest;
204
- /**
205
- * Check if response is returning search results
206
- * Search tools return query results as data, not execute them
207
- */
208
- private isSearchResultResponse;
209
- /**
210
- * Check if response is from a creation/modification operation
211
- * CRUD tools create/modify resources, not execute code
212
- */
213
- private isCreationResponse;
214
46
  }
215
47
  //# sourceMappingURL=SecurityAssessor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SecurityAssessor.d.ts","sourceRoot":"","sources":["../../../../src/services/assessment/modules/SecurityAssessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,kBAAkB,EAInB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAc9D,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,iBAAiB,CAAuC;IAC1D,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuFrE;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;;;OAIG;YACW,yBAAyB;IA2KvC;;;;OAIG;YACW,qBAAqB;IA4JnC;;OAEG;YACW,WAAW;IA4HzB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAgDzB;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IAiDtC;;OAEG;IACH,OAAO,CAAC,aAAa;IA+BrB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAgClC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAkJvB;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAiE7B;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;IAqC5B;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;IA8F5B;;OAEG;YACW,+BAA+B;IAiC7C;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAYjC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAkEnC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAuI3B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,oBAAoB;IAwN5B;;;;;;;;;OASG;IACH,OAAO,CAAC,wBAAwB;IAwDhC;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IAuBtC;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA8BhC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAW9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,oBAAoB;IAoH5B;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;;OAGG;IACH,OAAO,CAAC,eAAe;IASvB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAmB3B"}
1
+ {"version":3,"file":"SecurityAssessor.d.ts","sourceRoot":"","sources":["../../../../src/services/assessment/modules/SecurityAssessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,kBAAkB,EAInB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAU9D,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,gBAAgB,CAA2B;gBAGjD,MAAM,EAAE,OAAO,8BAA8B,EAAE,uBAAuB;IA8BlE,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA2FrE;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;OAEG;YACW,+BAA+B;IAiC7C;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAYjC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,OAAO,CAAC,2BAA2B;CAiEpC"}