clawsec 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/dist/src/actions/block.js +2 -2
  2. package/dist/src/actions/block.js.map +1 -1
  3. package/dist/src/actions/confirm.d.ts +1 -1
  4. package/dist/src/actions/confirm.d.ts.map +1 -1
  5. package/dist/src/actions/confirm.js +57 -26
  6. package/dist/src/actions/confirm.js.map +1 -1
  7. package/dist/src/actions/executor.d.ts +3 -1
  8. package/dist/src/actions/executor.d.ts.map +1 -1
  9. package/dist/src/actions/executor.js +48 -11
  10. package/dist/src/actions/executor.js.map +1 -1
  11. package/dist/src/actions/warn.js +2 -2
  12. package/dist/src/actions/warn.js.map +1 -1
  13. package/dist/src/approval/agent-confirm.d.ts +4 -0
  14. package/dist/src/approval/agent-confirm.d.ts.map +1 -1
  15. package/dist/src/approval/agent-confirm.js +14 -0
  16. package/dist/src/approval/agent-confirm.js.map +1 -1
  17. package/dist/src/approval/store.d.ts +4 -0
  18. package/dist/src/approval/store.d.ts.map +1 -1
  19. package/dist/src/approval/store.js +19 -0
  20. package/dist/src/approval/store.js.map +1 -1
  21. package/dist/src/config/loader.d.ts +7 -4
  22. package/dist/src/config/loader.d.ts.map +1 -1
  23. package/dist/src/config/loader.js +58 -27
  24. package/dist/src/config/loader.js.map +1 -1
  25. package/dist/src/config/schema.d.ts +60 -41
  26. package/dist/src/config/schema.d.ts.map +1 -1
  27. package/dist/src/config/schema.js +12 -0
  28. package/dist/src/config/schema.js.map +1 -1
  29. package/dist/src/config/template-loader.d.ts +34 -0
  30. package/dist/src/config/template-loader.d.ts.map +1 -0
  31. package/dist/src/config/template-loader.js +127 -0
  32. package/dist/src/config/template-loader.js.map +1 -0
  33. package/dist/src/detectors/destructive/cloud-detector.d.ts +10 -3
  34. package/dist/src/detectors/destructive/cloud-detector.d.ts.map +1 -1
  35. package/dist/src/detectors/destructive/cloud-detector.js +45 -5
  36. package/dist/src/detectors/destructive/cloud-detector.js.map +1 -1
  37. package/dist/src/detectors/destructive/code-detector.d.ts +9 -2
  38. package/dist/src/detectors/destructive/code-detector.d.ts.map +1 -1
  39. package/dist/src/detectors/destructive/code-detector.js +43 -4
  40. package/dist/src/detectors/destructive/code-detector.js.map +1 -1
  41. package/dist/src/detectors/destructive/index.d.ts +5 -3
  42. package/dist/src/detectors/destructive/index.d.ts.map +1 -1
  43. package/dist/src/detectors/destructive/index.js +42 -10
  44. package/dist/src/detectors/destructive/index.js.map +1 -1
  45. package/dist/src/detectors/destructive/shell-detector.d.ts +10 -3
  46. package/dist/src/detectors/destructive/shell-detector.d.ts.map +1 -1
  47. package/dist/src/detectors/destructive/shell-detector.js +44 -5
  48. package/dist/src/detectors/destructive/shell-detector.js.map +1 -1
  49. package/dist/src/detectors/destructive/types.d.ts +6 -0
  50. package/dist/src/detectors/destructive/types.d.ts.map +1 -1
  51. package/dist/src/detectors/exfiltration/cloud-detector.d.ts +3 -2
  52. package/dist/src/detectors/exfiltration/cloud-detector.d.ts.map +1 -1
  53. package/dist/src/detectors/exfiltration/cloud-detector.js +21 -3
  54. package/dist/src/detectors/exfiltration/cloud-detector.js.map +1 -1
  55. package/dist/src/detectors/exfiltration/http-detector.d.ts +3 -2
  56. package/dist/src/detectors/exfiltration/http-detector.d.ts.map +1 -1
  57. package/dist/src/detectors/exfiltration/http-detector.js +21 -3
  58. package/dist/src/detectors/exfiltration/http-detector.js.map +1 -1
  59. package/dist/src/detectors/exfiltration/index.d.ts +5 -3
  60. package/dist/src/detectors/exfiltration/index.d.ts.map +1 -1
  61. package/dist/src/detectors/exfiltration/index.js +44 -11
  62. package/dist/src/detectors/exfiltration/index.js.map +1 -1
  63. package/dist/src/detectors/exfiltration/network-detector.d.ts +3 -2
  64. package/dist/src/detectors/exfiltration/network-detector.d.ts.map +1 -1
  65. package/dist/src/detectors/exfiltration/network-detector.js +26 -8
  66. package/dist/src/detectors/exfiltration/network-detector.js.map +1 -1
  67. package/dist/src/detectors/exfiltration/types.d.ts +2 -0
  68. package/dist/src/detectors/exfiltration/types.d.ts.map +1 -1
  69. package/dist/src/detectors/purchase/domain-detector.d.ts +1 -1
  70. package/dist/src/detectors/purchase/domain-detector.d.ts.map +1 -1
  71. package/dist/src/detectors/purchase/domain-detector.js +1 -1
  72. package/dist/src/detectors/purchase/domain-detector.js.map +1 -1
  73. package/dist/src/detectors/purchase/form-detector.d.ts +2 -2
  74. package/dist/src/detectors/purchase/form-detector.d.ts.map +1 -1
  75. package/dist/src/detectors/purchase/form-detector.js +7 -4
  76. package/dist/src/detectors/purchase/form-detector.js.map +1 -1
  77. package/dist/src/detectors/purchase/index.d.ts +5 -3
  78. package/dist/src/detectors/purchase/index.d.ts.map +1 -1
  79. package/dist/src/detectors/purchase/index.js +35 -6
  80. package/dist/src/detectors/purchase/index.js.map +1 -1
  81. package/dist/src/detectors/purchase/spend-tracker.d.ts +6 -2
  82. package/dist/src/detectors/purchase/spend-tracker.d.ts.map +1 -1
  83. package/dist/src/detectors/purchase/spend-tracker.js +19 -3
  84. package/dist/src/detectors/purchase/spend-tracker.js.map +1 -1
  85. package/dist/src/detectors/purchase/url-detector.d.ts +2 -2
  86. package/dist/src/detectors/purchase/url-detector.d.ts.map +1 -1
  87. package/dist/src/detectors/purchase/url-detector.js +3 -3
  88. package/dist/src/detectors/purchase/url-detector.js.map +1 -1
  89. package/dist/src/detectors/secrets/api-key-detector.d.ts +6 -6
  90. package/dist/src/detectors/secrets/api-key-detector.d.ts.map +1 -1
  91. package/dist/src/detectors/secrets/api-key-detector.js +33 -7
  92. package/dist/src/detectors/secrets/api-key-detector.js.map +1 -1
  93. package/dist/src/detectors/secrets/index.d.ts +5 -3
  94. package/dist/src/detectors/secrets/index.d.ts.map +1 -1
  95. package/dist/src/detectors/secrets/index.js +52 -11
  96. package/dist/src/detectors/secrets/index.js.map +1 -1
  97. package/dist/src/detectors/secrets/pii-detector.d.ts +2 -2
  98. package/dist/src/detectors/secrets/pii-detector.d.ts.map +1 -1
  99. package/dist/src/detectors/secrets/pii-detector.js +3 -3
  100. package/dist/src/detectors/secrets/pii-detector.js.map +1 -1
  101. package/dist/src/detectors/secrets/token-detector.d.ts +2 -2
  102. package/dist/src/detectors/secrets/token-detector.d.ts.map +1 -1
  103. package/dist/src/detectors/secrets/token-detector.js +3 -3
  104. package/dist/src/detectors/secrets/token-detector.js.map +1 -1
  105. package/dist/src/detectors/secrets/types.d.ts +5 -3
  106. package/dist/src/detectors/secrets/types.d.ts.map +1 -1
  107. package/dist/src/detectors/website/index.d.ts +5 -3
  108. package/dist/src/detectors/website/index.d.ts.map +1 -1
  109. package/dist/src/detectors/website/index.js +21 -6
  110. package/dist/src/detectors/website/index.js.map +1 -1
  111. package/dist/src/engine/analyzer.d.ts +3 -1
  112. package/dist/src/engine/analyzer.d.ts.map +1 -1
  113. package/dist/src/engine/analyzer.js +66 -10
  114. package/dist/src/engine/analyzer.js.map +1 -1
  115. package/dist/src/engine/types.d.ts +4 -1
  116. package/dist/src/engine/types.d.ts.map +1 -1
  117. package/dist/src/engine/types.js.map +1 -1
  118. package/dist/src/hooks/before-agent-start/handler.d.ts +3 -1
  119. package/dist/src/hooks/before-agent-start/handler.d.ts.map +1 -1
  120. package/dist/src/hooks/before-agent-start/handler.js +59 -12
  121. package/dist/src/hooks/before-agent-start/handler.js.map +1 -1
  122. package/dist/src/hooks/before-tool-call/handler.d.ts +3 -1
  123. package/dist/src/hooks/before-tool-call/handler.d.ts.map +1 -1
  124. package/dist/src/hooks/before-tool-call/handler.js +86 -54
  125. package/dist/src/hooks/before-tool-call/handler.js.map +1 -1
  126. package/dist/src/hooks/tool-result-persist/handler.d.ts +3 -1
  127. package/dist/src/hooks/tool-result-persist/handler.d.ts.map +1 -1
  128. package/dist/src/hooks/tool-result-persist/handler.js +36 -34
  129. package/dist/src/hooks/tool-result-persist/handler.js.map +1 -1
  130. package/dist/src/index.d.ts +45 -47
  131. package/dist/src/index.d.ts.map +1 -1
  132. package/dist/src/index.js +120 -96
  133. package/dist/src/index.js.map +1 -1
  134. package/dist/src/notifications/index.d.ts.map +1 -1
  135. package/dist/src/notifications/index.js +2 -1
  136. package/dist/src/notifications/index.js.map +1 -1
  137. package/dist/src/notifications/telegram.js +1 -1
  138. package/dist/src/notifications/telegram.js.map +1 -1
  139. package/dist/src/notifications/types.d.ts +1 -1
  140. package/dist/src/notifications/types.d.ts.map +1 -1
  141. package/dist/src/utils/logger.d.ts +26 -0
  142. package/dist/src/utils/logger.d.ts.map +1 -0
  143. package/dist/src/utils/logger.js +76 -0
  144. package/dist/src/utils/logger.js.map +1 -0
  145. package/openclaw.plugin.json +7 -22
  146. package/package.json +8 -2
@@ -8,6 +8,7 @@ export { HttpDetector, createHttpDetector, matchCurlCommand, matchWgetCommand, m
8
8
  export { CloudUploadDetector, createCloudUploadDetector, matchAwsS3Upload, matchGcpUpload, matchAzureUpload, matchRcloneUpload, matchOtherCloudUpload, matchCloudSdkUpload, matchCloudUpload, } from './cloud-detector.js';
9
9
  // Re-export network detector
10
10
  export { NetworkDetector, createNetworkDetector, matchNetcatCommand, matchDevTcpPattern, matchSocatCommand, matchTelnetCommand, matchSshExfiltration, matchDnsExfiltration, matchOtherNetworkPattern, matchNetworkExfiltration, } from './network-detector.js';
11
+ import { createLogger } from '../../utils/logger.js';
11
12
  import { createHttpDetector } from './http-detector.js';
12
13
  import { createCloudUploadDetector } from './cloud-detector.js';
13
14
  import { createNetworkDetector } from './network-detector.js';
@@ -58,27 +59,59 @@ export class ExfiltrationDetectorImpl {
58
59
  httpDetector;
59
60
  cloudDetector;
60
61
  networkDetector;
61
- constructor(config) {
62
+ logger;
63
+ constructor(config, logger) {
62
64
  this.config = config;
63
- // Initialize sub-detectors
64
- this.httpDetector = createHttpDetector(config.severity);
65
- this.cloudDetector = createCloudUploadDetector(config.severity);
66
- this.networkDetector = createNetworkDetector(config.severity);
65
+ this.logger = logger ?? createLogger(null, null);
66
+ // Initialize sub-detectors with custom patterns
67
+ const customPatterns = config.patterns || [];
68
+ this.httpDetector = createHttpDetector(config.severity, customPatterns, this.logger);
69
+ this.cloudDetector = createCloudUploadDetector(config.severity, customPatterns, this.logger);
70
+ this.networkDetector = createNetworkDetector(config.severity, customPatterns, this.logger);
67
71
  }
68
72
  async detect(context) {
73
+ this.logger.debug(`[ExfiltrationDetector] Starting detection: tool=${context.toolName}`);
69
74
  // Check if detector is enabled
70
75
  if (!this.config.enabled) {
76
+ this.logger.debug(`[ExfiltrationDetector] Detector disabled`);
71
77
  return noDetection(this.config.severity);
72
78
  }
73
79
  const results = [];
74
80
  // Run HTTP detector
75
- results.push(this.httpDetector.detect(context));
81
+ this.logger.debug(`[ExfiltrationDetector] Running HTTP detector`);
82
+ const httpResult = this.httpDetector.detect(context);
83
+ if (httpResult && httpResult.detected) {
84
+ this.logger.info(`[ExfiltrationDetector] HTTP detection: method=${httpResult.metadata?.method || 'unknown'}, confidence=${httpResult.confidence}`);
85
+ }
86
+ results.push(httpResult);
76
87
  // Run cloud upload detector
77
- results.push(this.cloudDetector.detect(context));
88
+ this.logger.debug(`[ExfiltrationDetector] Running cloud upload detector`);
89
+ const cloudResult = this.cloudDetector.detect(context);
90
+ if (cloudResult && cloudResult.detected) {
91
+ this.logger.info(`[ExfiltrationDetector] Cloud upload detection: method=${cloudResult.metadata?.method || 'unknown'}, confidence=${cloudResult.confidence}`);
92
+ }
93
+ results.push(cloudResult);
78
94
  // Run network detector
79
- results.push(this.networkDetector.detect(context));
95
+ this.logger.debug(`[ExfiltrationDetector] Running network detector`);
96
+ const networkResult = this.networkDetector.detect(context);
97
+ if (networkResult && networkResult.detected) {
98
+ this.logger.info(`[ExfiltrationDetector] Network detection: method=${networkResult.metadata?.method || 'unknown'}, confidence=${networkResult.confidence}`);
99
+ }
100
+ results.push(networkResult);
80
101
  // Combine results
81
- return combineResults(results, this.config.severity);
102
+ const validDetections = results.filter((r) => r !== null && r.detected);
103
+ if (validDetections.length === 0) {
104
+ this.logger.debug(`[ExfiltrationDetector] No detections found`);
105
+ }
106
+ else {
107
+ this.logger.debug(`[ExfiltrationDetector] Combining ${validDetections.length} detections`);
108
+ if (validDetections.length > 1) {
109
+ this.logger.info(`[ExfiltrationDetector] Confidence boost: multiple sub-detectors triggered (${validDetections.length})`);
110
+ }
111
+ }
112
+ const combined = combineResults(results, this.config.severity);
113
+ this.logger.debug(`[ExfiltrationDetector] Detection complete: detected=${combined.detected}, confidence=${combined.confidence}`);
114
+ return combined;
82
115
  }
83
116
  /**
84
117
  * Get the configured action for detected exfiltration
@@ -96,8 +129,8 @@ export class ExfiltrationDetectorImpl {
96
129
  /**
97
130
  * Create an exfiltration detector from configuration
98
131
  */
99
- export function createExfiltrationDetector(config) {
100
- return new ExfiltrationDetectorImpl(config);
132
+ export function createExfiltrationDetector(config, logger) {
133
+ return new ExfiltrationDetectorImpl(config, logger);
101
134
  }
102
135
  /**
103
136
  * Create a default exfiltration detector with standard settings
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/detectors/exfiltration/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/detectors/exfiltration/index.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,8 @@ export declare function matchNetworkExfiltration(text: string): NetworkMatchResu
41
41
  */
42
42
  export declare class NetworkDetector implements SubDetector {
43
43
  private severity;
44
- constructor(severity?: Severity);
44
+ private customPatterns;
45
+ constructor(severity?: Severity, customPatterns?: string[], _logger?: any);
45
46
  /**
46
47
  * Extract text content from tool context
47
48
  */
@@ -51,5 +52,5 @@ export declare class NetworkDetector implements SubDetector {
51
52
  /**
52
53
  * Create a network detector with the given severity
53
54
  */
54
- export declare function createNetworkDetector(severity?: Severity): NetworkDetector;
55
+ export declare function createNetworkDetector(severity?: Severity, customPatterns?: string[], logger?: any): NetworkDetector;
55
56
  //# sourceMappingURL=network-detector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"network-detector.d.ts","sourceRoot":"","sources":["../../../../src/detectors/exfiltration/network-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAyOtD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAsBtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAsBtE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAsBrE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAiBtE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAoBxE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAexE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAgB5E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CA4CzE;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,WAAW;IACjD,OAAO,CAAC,QAAQ,CAAW;gBAEf,QAAQ,GAAE,QAAiB;IAIvC;;OAEG;IACH,OAAO,CAAC,cAAc;IA6CtB,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,2BAA2B,GAAG,IAAI;CAiCtE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,GAAE,QAAiB,GAAG,eAAe,CAElF"}
1
+ {"version":3,"file":"network-detector.d.ts","sourceRoot":"","sources":["../../../../src/detectors/exfiltration/network-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAyOtD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAsBtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAsBtE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAsBrE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAiBtE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAoBxE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAexE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAgB5E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CA4CzE;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,WAAW;IACjD,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,cAAc,CAAW;gBAErB,QAAQ,GAAE,QAAiB,EAAE,cAAc,GAAE,MAAM,EAAO,EAAE,OAAO,CAAC,EAAE,GAAG;IAKrF;;OAEG;IACH,OAAO,CAAC,cAAc;IA6CtB,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,2BAA2B,GAAG,IAAI;CAkDtE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,GAAE,QAAiB,EAAE,cAAc,GAAE,MAAM,EAAO,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,eAAe,CAE/H"}
@@ -51,26 +51,26 @@ const NETCAT_PATTERNS = [
51
51
  const DEV_TCP_PATTERNS = [
52
52
  // exec /dev/tcp (check first as it's most critical)
53
53
  {
54
- pattern: /\bexec\s+\d+<>\/dev\/tcp\/([^\/]+)\/(\d+)/i,
54
+ pattern: /\bexec\s+\d+<>\/dev\/tcp\/([^/]+)\/(\d+)/i,
55
55
  tool: '/dev/tcp',
56
56
  description: 'bash TCP file descriptor',
57
57
  critical: true,
58
58
  },
59
59
  // Redirecting to /dev/tcp
60
60
  {
61
- pattern: />\s*\/dev\/tcp\/([^\/]+)\/(\d+)/i,
61
+ pattern: />\s*\/dev\/tcp\/([^/]+)\/(\d+)/i,
62
62
  tool: '/dev/tcp',
63
63
  description: 'bash TCP redirect (outbound)',
64
64
  },
65
65
  // Reading and sending via /dev/tcp
66
66
  {
67
- pattern: /\bcat\s+([^\s]+)\s*>\s*\/dev\/tcp\/([^\/]+)\/(\d+)/i,
67
+ pattern: /\bcat\s+([^\s]+)\s*>\s*\/dev\/tcp\/([^/]+)\/(\d+)/i,
68
68
  tool: '/dev/tcp',
69
69
  description: 'file sent via bash TCP',
70
70
  },
71
71
  // /dev/udp patterns
72
72
  {
73
- pattern: />\s*\/dev\/udp\/([^\/]+)\/(\d+)/i,
73
+ pattern: />\s*\/dev\/udp\/([^/]+)\/(\d+)/i,
74
74
  tool: '/dev/udp',
75
75
  description: 'bash UDP redirect (outbound)',
76
76
  },
@@ -181,7 +181,7 @@ const DNS_EXFIL_PATTERNS = [
181
181
  const OTHER_NETWORK_PATTERNS = [
182
182
  // xxd/hexdump to network
183
183
  {
184
- pattern: /\b(?:xxd|hexdump)\s+[^\|]+\|\s*(?:nc|netcat|ncat|curl)/i,
184
+ pattern: /\b(?:xxd|hexdump)\s+[^|]+\|\s*(?:nc|netcat|ncat|curl)/i,
185
185
  tool: 'hex-encoded',
186
186
  description: 'hex-encoded network exfiltration',
187
187
  },
@@ -424,8 +424,10 @@ export function matchNetworkExfiltration(text) {
424
424
  */
425
425
  export class NetworkDetector {
426
426
  severity;
427
- constructor(severity = 'high') {
427
+ customPatterns;
428
+ constructor(severity = "high", customPatterns = [], _logger) {
428
429
  this.severity = severity;
430
+ this.customPatterns = customPatterns.map(p => new RegExp(p, 'i'));
429
431
  }
430
432
  /**
431
433
  * Extract text content from tool context
@@ -470,6 +472,22 @@ export class NetworkDetector {
470
472
  if (!content) {
471
473
  return null;
472
474
  }
475
+ // Check custom patterns FIRST (highest confidence)
476
+ for (const pattern of this.customPatterns) {
477
+ if (pattern.test(content)) {
478
+ return {
479
+ detected: true,
480
+ category: 'exfiltration',
481
+ severity: this.severity,
482
+ confidence: 0.95, // High confidence for explicit config patterns
483
+ reason: `Matched custom exfiltration pattern: ${pattern.source}`,
484
+ metadata: {
485
+ method: 'network',
486
+ },
487
+ };
488
+ }
489
+ }
490
+ // Then check hardcoded patterns
473
491
  const result = matchNetworkExfiltration(content);
474
492
  if (!result.matched) {
475
493
  return null;
@@ -498,7 +516,7 @@ export class NetworkDetector {
498
516
  /**
499
517
  * Create a network detector with the given severity
500
518
  */
501
- export function createNetworkDetector(severity = 'high') {
502
- return new NetworkDetector(severity);
519
+ export function createNetworkDetector(severity = "high", customPatterns = [], logger) {
520
+ return new NetworkDetector(severity, customPatterns, logger);
503
521
  }
504
522
  //# sourceMappingURL=network-detector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"network-detector.js","sourceRoot":"","sources":["../../../../src/detectors/exfiltration/network-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network-detector.js","sourceRoot":"","sources":["../../../../src/detectors/exfiltration/network-detector.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,8 @@ export interface ExfiltrationDetectorConfig {
54
54
  severity: Severity;
55
55
  /** Action to take when exfiltration is detected */
56
56
  action: Action;
57
+ /** Custom patterns to detect (optional) */
58
+ patterns?: string[];
57
59
  }
58
60
  /**
59
61
  * Interface for the main exfiltration detector
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/detectors/exfiltration/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/detectors/exfiltration/types.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ export declare function matchDomain(domain: string, customBlocklist?: string[]):
30
30
  export declare class DomainDetector implements SubDetector {
31
31
  private severity;
32
32
  private customBlocklist;
33
- constructor(severity?: Severity, customBlocklist?: string[]);
33
+ constructor(severity?: Severity, customBlocklist?: string[], _logger?: any);
34
34
  /**
35
35
  * Extract URL from tool context
36
36
  */
@@ -1 +1 @@
1
- {"version":3,"file":"domain-detector.d.ts","sourceRoot":"","sources":["../../../../src/detectors/purchase/domain-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACpG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AA+GtD;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYxD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQnD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAG3E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW/D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,GAAE,MAAM,EAAO,GAAG,iBAAiB,CAkE7F;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,WAAW;IAChD,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,eAAe,CAAW;gBAEtB,QAAQ,GAAE,QAAqB,EAAE,eAAe,GAAE,MAAM,EAAO;IAK3E;;OAEG;IACH,OAAO,CAAC,UAAU;IA+BlB,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,GAAG,IAAI;CAoC1D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,GAAE,QAAqB,EAC/B,eAAe,GAAE,MAAM,EAAO,GAC7B,cAAc,CAEhB"}
1
+ {"version":3,"file":"domain-detector.d.ts","sourceRoot":"","sources":["../../../../src/detectors/purchase/domain-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACpG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AA+GtD;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYxD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQnD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAG3E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW/D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,GAAE,MAAM,EAAO,GAAG,iBAAiB,CAkE7F;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,WAAW;IAChD,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,eAAe,CAAW;gBAEtB,QAAQ,GAAE,QAAqB,EAAE,eAAe,GAAE,MAAM,EAAO,EAAE,OAAO,CAAC,EAAE,GAAG;IAK1F;;OAEG;IACH,OAAO,CAAC,UAAU;IA+BlB,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,GAAG,IAAI;CAoC1D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,GAAE,QAAqB,EAC/B,eAAe,GAAE,MAAM,EAAO,GAC7B,cAAc,CAEhB"}
@@ -224,7 +224,7 @@ export function matchDomain(domain, customBlocklist = []) {
224
224
  export class DomainDetector {
225
225
  severity;
226
226
  customBlocklist;
227
- constructor(severity = 'critical', customBlocklist = []) {
227
+ constructor(severity = "critical", customBlocklist = [], _logger) {
228
228
  this.severity = severity;
229
229
  this.customBlocklist = customBlocklist;
230
230
  }
@@ -1 +1 @@
1
- {"version":3,"file":"domain-detector.js","sourceRoot":"","sources":["../../../../src/detectors/purchase/domain-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domain-detector.js","sourceRoot":"","sources":["../../../../src/detectors/purchase/domain-detector.ts"],"names":[],"mappings":"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"}
@@ -17,11 +17,11 @@ export declare function containsPaymentValues(text: string): boolean;
17
17
  */
18
18
  export declare class FormDetector implements SubDetector {
19
19
  private severity;
20
- constructor(severity?: Severity);
20
+ constructor(severity?: Severity, _logger?: any);
21
21
  detect(context: DetectionContext): DetectionResult | null;
22
22
  }
23
23
  /**
24
24
  * Create a form detector with the given configuration
25
25
  */
26
- export declare function createFormDetector(severity?: Severity): FormDetector;
26
+ export declare function createFormDetector(severity?: Severity, logger?: any): FormDetector;
27
27
  //# sourceMappingURL=form-detector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-detector.d.ts","sourceRoot":"","sources":["../../../../src/detectors/purchase/form-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACvG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AA4OtD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAgDtE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAoB3D;AAED;;GAEG;AACH,qBAAa,YAAa,YAAW,WAAW;IAC9C,OAAO,CAAC,QAAQ,CAAW;gBAEf,QAAQ,GAAE,QAAqB;IAI3C,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,GAAG,IAAI;CA0C1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,GAAE,QAAqB,GAAG,YAAY,CAEhF"}
1
+ {"version":3,"file":"form-detector.d.ts","sourceRoot":"","sources":["../../../../src/detectors/purchase/form-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACvG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AA+OtD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAgDtE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAoB3D;AAED;;GAEG;AACH,qBAAa,YAAa,YAAW,WAAW;IAC9C,OAAO,CAAC,QAAQ,CAAW;gBAEf,QAAQ,GAAE,QAAqB,EAAE,OAAO,CAAC,EAAE,GAAG;IAI1D,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,GAAG,IAAI;CA0C1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,GAAE,QAAqB,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,YAAY,CAE9F"}
@@ -159,7 +159,10 @@ function matchesPattern(field, patterns) {
159
159
  const fieldLower = field.toLowerCase().replace(/[-_\s]/g, '');
160
160
  for (const pattern of patterns) {
161
161
  const patternLower = pattern.toLowerCase().replace(/[-_\s]/g, '');
162
- if (fieldLower.includes(patternLower) || patternLower.includes(fieldLower)) {
162
+ // Only check if field contains pattern (one direction)
163
+ // This allows "billing_address" to match "address"
164
+ // But prevents "action" from matching "transaction-amount"
165
+ if (fieldLower.includes(patternLower)) {
163
166
  return pattern;
164
167
  }
165
168
  }
@@ -294,7 +297,7 @@ export function containsPaymentValues(text) {
294
297
  */
295
298
  export class FormDetector {
296
299
  severity;
297
- constructor(severity = 'critical') {
300
+ constructor(severity = "critical", _logger) {
298
301
  this.severity = severity;
299
302
  }
300
303
  detect(context) {
@@ -338,7 +341,7 @@ export class FormDetector {
338
341
  /**
339
342
  * Create a form detector with the given configuration
340
343
  */
341
- export function createFormDetector(severity = 'critical') {
342
- return new FormDetector(severity);
344
+ export function createFormDetector(severity = "critical", logger) {
345
+ return new FormDetector(severity, logger);
343
346
  }
344
347
  //# sourceMappingURL=form-detector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-detector.js","sourceRoot":"","sources":["../../../../src/detectors/purchase/form-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-detector.js","sourceRoot":"","sources":["../../../../src/detectors/purchase/form-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,oBAAoB,GAAG;IAC3B,cAAc;IACd,aAAa;IACb,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,WAAW;IACX,UAAU;IACV,WAAW;IACX,UAAU;IACV,KAAK,EAAE,yBAAyB;IAChC,gBAAgB;IAChB,eAAe;IAEf,UAAU;IACV,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,eAAe;IACf,cAAc;IACd,eAAe;IACf,cAAc;IACd,eAAe;IACf,WAAW;IACX,mBAAmB;IACnB,kBAAkB;IAClB,KAAK,EAAE,sBAAsB;IAE7B,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,UAAU;IACV,SAAS;IACT,UAAU;IACV,SAAS;IACT,WAAW;IACX,UAAU;IACV,WAAW;IACX,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,SAAS;IACT,aAAa;IACb,YAAY;IACZ,OAAO;IACP,MAAM;IACN,OAAO;IAEP,cAAc;IACd,YAAY;IACZ,aAAa;IACb,aAAa;IACb,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,cAAc;IACd,YAAY;CACb,CAAC;AAEF;;GAEG;AACH,MAAM,gBAAgB,GAAG;IACvB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,cAAc;IACd,eAAe;IACf,aAAa;IACb,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,uBAAuB,GAAG;IAC9B,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,cAAc;IACd,aAAa;IACb,cAAc;IACd,aAAa;IACb,UAAU;IACV,SAAS;IACT,UAAU;IACV,WAAW;IACX,UAAU;IACV,WAAW;CACZ,CAAC;AAEF;;GAEG;AACH,MAAM,qBAAqB,GAAG;IAC5B,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,cAAc;IACd,aAAa;IACb,cAAc;IACd,aAAa;IACb,gBAAgB;IAChB,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;CACN,CAAC;AAEF;;GAEG;AACH,MAAM,eAAe,GAAG;IACtB,QAAQ;IACR,OAAO;IACP,OAAO;IACP,UAAU;IACV,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,oBAAoB;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,oBAAoB,GAAG;IAC3B,GAAG,oBAAoB;IACvB,GAAG,gBAAgB;IACnB,GAAG,uBAAuB;IAC1B,GAAG,qBAAqB;IACxB,GAAG,eAAe;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,wBAAwB,GAAG;IAC/B,GAAG,oBAAoB;IACvB,GAAG,qBAAqB;CACzB,CAAC;AAEF;;GAEG;AACH,SAAS,cAAc,CAAC,KAAa,EAAE,QAAkB;IACvD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAE9D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAClE,uDAAuD;QACvD,mDAAmD;QACnD,2DAA2D;QAC3D,IAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,KAA8B;IACvD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,8BAA8B;IAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,wDAAwD;IACxD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACvD,MAAM,QAAQ,GAAG,KAAgC,CAAC;gBAClD,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;gBACD,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;oBACpC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC3B,CAAC;gBACD,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACvC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC;gBACD,IAAI,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACrC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,uBAAuB;IACvB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzE,MAAM,MAAM,GAAG,KAAgC,CAAC;YAChD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAgB;IAC9C,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAEhC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,uCAAuC;QACvC,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;QAClE,IAAI,SAAS,EAAE,CAAC;YACd,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChC,mBAAmB,GAAG,IAAI,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,qBAAqB;QACrB,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;QAC1D,IAAI,KAAK,EAAE,CAAC;YACV,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED,wCAAwC;IACxC,IAAI,UAAkB,CAAC;IACvB,IAAI,mBAAmB,EAAE,CAAC;QACxB,8CAA8C;QAC9C,UAAU,GAAG,GAAG,CAAC;IACnB,CAAC;SAAM,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACrC,kCAAkC;QAClC,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;SAAM,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACrC,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,iCAAiC;QACjC,UAAU,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,eAAe;QACzB,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,yEAAyE;IACzE,MAAM,eAAe,GAAG,iCAAiC,CAAC;IAC1D,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,uBAAuB,CAAC;IACzC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yCAAyC;IACzC,MAAM,WAAW,GAAG,kCAAkC,CAAC;IACvD,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,YAAY;IACf,QAAQ,CAAW;IAE3B,YAAY,WAAqB,UAAU,EAAE,OAAa;QACxD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,OAAyB;QAC9B,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEpD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAEvC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,iDAAiD;YACjD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9D,OAAO;wBACL,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,UAAU;wBACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,UAAU,EAAE,GAAG;wBACf,MAAM,EAAE,oEAAoE;wBAC5E,QAAQ,EAAE;4BACR,UAAU,EAAE,CAAC,yBAAyB,CAAC;yBACxC;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAElD,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,MAAM,EAAE,iCAAiC,SAAS,EAAE;YACpD,QAAQ,EAAE;gBACR,UAAU,EAAE,MAAM,CAAC,MAAM;gBACzB,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC;aAC5C;SACF,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAqB,UAAU,EAAE,MAAY;IAC9E,OAAO,IAAI,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC"}
@@ -3,6 +3,7 @@
3
3
  * Main detector that combines domain, URL, and form field detection
4
4
  */
5
5
  import type { DetectionContext, DetectionResult, PurchaseDetector as IPurchaseDetector, PurchaseDetectorConfig } from './types.js';
6
+ import { type Logger } from '../../utils/logger.js';
6
7
  import { SpendTracker } from './spend-tracker.js';
7
8
  import type { PurchaseRule, SpendLimits } from '../../config/index.js';
8
9
  export * from './types.js';
@@ -22,7 +23,8 @@ export declare class PurchaseDetectorImpl implements IPurchaseDetector {
22
23
  private urlDetector;
23
24
  private formDetector;
24
25
  private spendTracker;
25
- constructor(config: PurchaseDetectorConfig, spendTracker?: SpendTracker);
26
+ private logger;
27
+ constructor(config: PurchaseDetectorConfig, spendTracker?: SpendTracker, logger?: Logger);
26
28
  detect(context: DetectionContext): Promise<DetectionResult>;
27
29
  /**
28
30
  * Check spend limits and enhance detection result
@@ -43,7 +45,7 @@ export declare class PurchaseDetectorImpl implements IPurchaseDetector {
43
45
  /**
44
46
  * Get the configured action for detected purchases
45
47
  */
46
- getAction(): "block" | "confirm" | "agent-confirm" | "warn" | "log";
48
+ getAction(): "warn" | "log" | "block" | "confirm" | "agent-confirm";
47
49
  /**
48
50
  * Check if the detector is enabled
49
51
  */
@@ -56,7 +58,7 @@ export declare class PurchaseDetectorImpl implements IPurchaseDetector {
56
58
  /**
57
59
  * Create a purchase detector from PurchaseRule configuration
58
60
  */
59
- export declare function createPurchaseDetector(rule: PurchaseRule, spendTracker?: SpendTracker): PurchaseDetectorImpl;
61
+ export declare function createPurchaseDetector(rule: PurchaseRule, spendTracker?: SpendTracker, logger?: Logger): PurchaseDetectorImpl;
60
62
  /**
61
63
  * Create a purchase detector with default configuration
62
64
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/detectors/purchase/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,gBAAgB,IAAI,iBAAiB,EACrC,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAIpB,OAAO,EACL,YAAY,EAGb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAY,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGjF,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EACL,aAAa,EACb,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAC;AAuE5B;;GAEG;AACH,qBAAa,oBAAqB,YAAW,iBAAiB;IAC5D,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAe;gBAEvB,MAAM,EAAE,sBAAsB,EAAE,YAAY,CAAC,EAAE,YAAY;IAajE,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAsBjE;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4CxB;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAI/F;;OAEG;IACH,eAAe,IAAI,YAAY;IAI/B;;OAEG;IACH,SAAS;IAIT;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,cAAc,IAAI,WAAW,GAAG,SAAS;CAG1C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,oBAAoB,CAgB5G;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,oBAAoB,CAMpE;AAGD,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/detectors/purchase/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,gBAAgB,IAAI,iBAAiB,EACrC,sBAAsB,EACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIlE,OAAO,EACL,YAAY,EAGb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAY,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGjF,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EACL,aAAa,EACb,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAC;AAuE5B;;GAEG;AACH,qBAAa,oBAAqB,YAAW,iBAAiB;IAC5D,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,sBAAsB,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM;IAclF,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAmDjE;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4CxB;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAI/F;;OAEG;IACH,eAAe,IAAI,YAAY;IAI/B;;OAEG;IACH,SAAS;IAIT;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,cAAc,IAAI,WAAW,GAAG,SAAS;CAG1C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAgB7H;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,oBAAoB,CAMpE;AAGD,eAAe,oBAAoB,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * Purchase Detector
3
3
  * Main detector that combines domain, URL, and form field detection
4
4
  */
5
+ import { createLogger } from '../../utils/logger.js';
5
6
  import { createDomainDetector } from './domain-detector.js';
6
7
  import { createUrlDetector } from './url-detector.js';
7
8
  import { createFormDetector } from './form-detector.js';
@@ -85,31 +86,59 @@ export class PurchaseDetectorImpl {
85
86
  urlDetector;
86
87
  formDetector;
87
88
  spendTracker;
88
- constructor(config, spendTracker) {
89
+ logger;
90
+ constructor(config, spendTracker, logger) {
89
91
  this.config = config;
92
+ this.logger = logger ?? createLogger(null, null);
90
93
  const customBlocklist = config.domains?.mode === 'blocklist'
91
94
  ? (config.domains.blocklist || [])
92
95
  : [];
93
96
  this.domainDetector = createDomainDetector(config.severity, customBlocklist);
94
- this.urlDetector = createUrlDetector(config.severity);
95
- this.formDetector = createFormDetector(config.severity);
97
+ this.urlDetector = createUrlDetector(config.severity, this.logger);
98
+ this.formDetector = createFormDetector(config.severity, this.logger);
96
99
  this.spendTracker = spendTracker || getGlobalSpendTracker();
97
100
  }
98
101
  async detect(context) {
102
+ this.logger.debug(`[PurchaseDetector] Starting detection: tool=${context.toolName}`);
99
103
  // Check if detector is enabled
100
104
  if (!this.config.enabled) {
105
+ this.logger.debug(`[PurchaseDetector] Detector disabled`);
101
106
  return noDetection(this.config.severity);
102
107
  }
103
108
  // Run all sub-detectors
109
+ this.logger.debug(`[PurchaseDetector] Running domain detector`);
104
110
  const domainResult = this.domainDetector.detect(context);
111
+ if (domainResult && domainResult.detected) {
112
+ this.logger.info(`[PurchaseDetector] Domain detection: domain=${domainResult.metadata?.domain || 'unknown'}, confidence=${domainResult.confidence}`);
113
+ }
114
+ this.logger.debug(`[PurchaseDetector] Running URL detector`);
105
115
  const urlResult = this.urlDetector.detect(context);
116
+ if (urlResult && urlResult.detected) {
117
+ this.logger.info(`[PurchaseDetector] URL detection: url=${urlResult.metadata?.url || 'unknown'}, confidence=${urlResult.confidence}`);
118
+ }
119
+ this.logger.debug(`[PurchaseDetector] Running form detector`);
106
120
  const formResult = this.formDetector.detect(context);
121
+ if (formResult && formResult.detected) {
122
+ this.logger.info(`[PurchaseDetector] Form detection: fields=${formResult.metadata?.formFields?.join(',') || 'unknown'}, confidence=${formResult.confidence}`);
123
+ }
107
124
  // Combine results
125
+ const validDetections = [domainResult, urlResult, formResult].filter((r) => r !== null && r.detected);
126
+ if (validDetections.length === 0) {
127
+ this.logger.debug(`[PurchaseDetector] No detections found`);
128
+ }
129
+ else {
130
+ this.logger.debug(`[PurchaseDetector] Combining ${validDetections.length} detections`);
131
+ if (validDetections.length > 1) {
132
+ this.logger.info(`[PurchaseDetector] Confidence boost: multiple sub-detectors triggered (${validDetections.length})`);
133
+ }
134
+ }
108
135
  let result = combineResults([domainResult, urlResult, formResult], this.config.severity);
109
136
  // If purchase detected and spend limits configured, check limits
110
137
  if (result.detected && this.config.spendLimits) {
138
+ this.logger.debug(`[PurchaseDetector] Checking spend limits`);
111
139
  result = this.checkSpendLimits(result, context);
112
140
  }
141
+ this.logger.debug(`[PurchaseDetector] Detection complete: detected=${result.detected}, confidence=${result.confidence}`);
113
142
  return result;
114
143
  }
115
144
  /**
@@ -121,7 +150,7 @@ export class PurchaseDetectorImpl {
121
150
  return result;
122
151
  }
123
152
  // Try to extract amount from the tool input
124
- const amount = extractAmountFromInput(context.toolInput);
153
+ const amount = extractAmountFromInput(context.toolInput, this.logger);
125
154
  // If no amount found, use per-transaction limit as the assumed amount
126
155
  // This is a security-first approach - assume worst case if unknown
127
156
  const effectiveAmount = amount ?? limits.perTransaction;
@@ -185,7 +214,7 @@ export class PurchaseDetectorImpl {
185
214
  /**
186
215
  * Create a purchase detector from PurchaseRule configuration
187
216
  */
188
- export function createPurchaseDetector(rule, spendTracker) {
217
+ export function createPurchaseDetector(rule, spendTracker, logger) {
189
218
  const config = {
190
219
  enabled: rule.enabled,
191
220
  severity: rule.severity,
@@ -199,7 +228,7 @@ export function createPurchaseDetector(rule, spendTracker) {
199
228
  daily: rule.spendLimits.daily,
200
229
  } : undefined,
201
230
  };
202
- return new PurchaseDetectorImpl(config, spendTracker);
231
+ return new PurchaseDetectorImpl(config, spendTracker, logger);
203
232
  }
204
233
  /**
205
234
  * Create a purchase detector with default configuration