@surfinguard/core-engine 0.1.0 → 1.0.0

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 (114) hide show
  1. package/LICENSE +21 -0
  2. package/dist/analyzers/agent-comm.d.ts +22 -0
  3. package/dist/analyzers/agent-comm.d.ts.map +1 -0
  4. package/dist/analyzers/agent-comm.js +79 -0
  5. package/dist/analyzers/agent-comm.js.map +1 -0
  6. package/dist/analyzers/api-call.d.ts +21 -0
  7. package/dist/analyzers/api-call.d.ts.map +1 -0
  8. package/dist/analyzers/api-call.js +134 -0
  9. package/dist/analyzers/api-call.js.map +1 -0
  10. package/dist/analyzers/auth.d.ts +22 -0
  11. package/dist/analyzers/auth.d.ts.map +1 -0
  12. package/dist/analyzers/auth.js +97 -0
  13. package/dist/analyzers/auth.js.map +1 -0
  14. package/dist/analyzers/code.d.ts +32 -0
  15. package/dist/analyzers/code.d.ts.map +1 -0
  16. package/dist/analyzers/code.js +310 -0
  17. package/dist/analyzers/code.js.map +1 -0
  18. package/dist/analyzers/command.d.ts.map +1 -1
  19. package/dist/analyzers/command.js +91 -39
  20. package/dist/analyzers/command.js.map +1 -1
  21. package/dist/analyzers/data-pipeline.d.ts +23 -0
  22. package/dist/analyzers/data-pipeline.d.ts.map +1 -0
  23. package/dist/analyzers/data-pipeline.js +86 -0
  24. package/dist/analyzers/data-pipeline.js.map +1 -0
  25. package/dist/analyzers/document.d.ts +22 -0
  26. package/dist/analyzers/document.d.ts.map +1 -0
  27. package/dist/analyzers/document.js +77 -0
  28. package/dist/analyzers/document.js.map +1 -0
  29. package/dist/analyzers/file-read.d.ts.map +1 -1
  30. package/dist/analyzers/file-read.js +12 -3
  31. package/dist/analyzers/file-read.js.map +1 -1
  32. package/dist/analyzers/file-write.d.ts.map +1 -1
  33. package/dist/analyzers/file-write.js +12 -3
  34. package/dist/analyzers/file-write.js.map +1 -1
  35. package/dist/analyzers/git.d.ts +25 -0
  36. package/dist/analyzers/git.d.ts.map +1 -0
  37. package/dist/analyzers/git.js +126 -0
  38. package/dist/analyzers/git.js.map +1 -0
  39. package/dist/analyzers/index.d.ts +3 -0
  40. package/dist/analyzers/index.d.ts.map +1 -1
  41. package/dist/analyzers/index.js +3 -0
  42. package/dist/analyzers/index.js.map +1 -1
  43. package/dist/analyzers/infra.d.ts +30 -0
  44. package/dist/analyzers/infra.d.ts.map +1 -0
  45. package/dist/analyzers/infra.js +134 -0
  46. package/dist/analyzers/infra.js.map +1 -0
  47. package/dist/analyzers/iot.d.ts +22 -0
  48. package/dist/analyzers/iot.d.ts.map +1 -0
  49. package/dist/analyzers/iot.js +78 -0
  50. package/dist/analyzers/iot.js.map +1 -0
  51. package/dist/analyzers/message.d.ts +22 -0
  52. package/dist/analyzers/message.d.ts.map +1 -0
  53. package/dist/analyzers/message.js +106 -0
  54. package/dist/analyzers/message.js.map +1 -0
  55. package/dist/analyzers/query.d.ts +23 -0
  56. package/dist/analyzers/query.d.ts.map +1 -0
  57. package/dist/analyzers/query.js +183 -0
  58. package/dist/analyzers/query.js.map +1 -0
  59. package/dist/analyzers/text.d.ts.map +1 -1
  60. package/dist/analyzers/text.js +20 -3
  61. package/dist/analyzers/text.js.map +1 -1
  62. package/dist/analyzers/transaction.d.ts +23 -0
  63. package/dist/analyzers/transaction.d.ts.map +1 -0
  64. package/dist/analyzers/transaction.js +100 -0
  65. package/dist/analyzers/transaction.js.map +1 -0
  66. package/dist/analyzers/ui-action.d.ts +23 -0
  67. package/dist/analyzers/ui-action.d.ts.map +1 -0
  68. package/dist/analyzers/ui-action.js +92 -0
  69. package/dist/analyzers/ui-action.js.map +1 -0
  70. package/dist/analyzers/url.d.ts.map +1 -1
  71. package/dist/analyzers/url.js +6 -2
  72. package/dist/analyzers/url.js.map +1 -1
  73. package/dist/classifier.d.ts.map +1 -1
  74. package/dist/classifier.js +20 -1
  75. package/dist/classifier.js.map +1 -1
  76. package/dist/context.d.ts +6 -4
  77. package/dist/context.d.ts.map +1 -1
  78. package/dist/context.js +34 -5
  79. package/dist/context.js.map +1 -1
  80. package/dist/engine.d.ts +72 -3
  81. package/dist/engine.d.ts.map +1 -1
  82. package/dist/engine.js +313 -9
  83. package/dist/engine.js.map +1 -1
  84. package/dist/index.d.ts +18 -1
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +17 -1
  87. package/dist/index.js.map +1 -1
  88. package/dist/patterns.d.ts +15 -1
  89. package/dist/patterns.d.ts.map +1 -1
  90. package/dist/patterns.js +70 -53
  91. package/dist/patterns.js.map +1 -1
  92. package/dist/policy-engine.d.ts +44 -0
  93. package/dist/policy-engine.d.ts.map +1 -0
  94. package/dist/policy-engine.js +225 -0
  95. package/dist/policy-engine.js.map +1 -0
  96. package/dist/session-tracker.d.ts +50 -0
  97. package/dist/session-tracker.d.ts.map +1 -0
  98. package/dist/session-tracker.js +286 -0
  99. package/dist/session-tracker.js.map +1 -0
  100. package/package.json +15 -12
  101. package/patterns/agent-comm.json +97 -0
  102. package/patterns/api-call.json +175 -0
  103. package/patterns/auth.json +116 -0
  104. package/patterns/chains.json +171 -0
  105. package/patterns/code.json +204 -0
  106. package/patterns/data-pipeline.json +116 -0
  107. package/patterns/document.json +110 -0
  108. package/patterns/git.json +118 -0
  109. package/patterns/infra.json +207 -0
  110. package/patterns/iot.json +105 -0
  111. package/patterns/message.json +122 -0
  112. package/patterns/query.json +134 -0
  113. package/patterns/transaction.json +120 -0
  114. package/patterns/ui-action.json +137 -0
package/dist/engine.js CHANGED
@@ -3,9 +3,24 @@ import { CommandAnalyzer } from './analyzers/command.js';
3
3
  import { TextAnalyzer } from './analyzers/text.js';
4
4
  import { FileReadAnalyzer } from './analyzers/file-read.js';
5
5
  import { FileWriteAnalyzer } from './analyzers/file-write.js';
6
+ import { ApiCallAnalyzer } from './analyzers/api-call.js';
7
+ import { QueryAnalyzer } from './analyzers/query.js';
8
+ import { CodeAnalyzer } from './analyzers/code.js';
9
+ import { MessageAnalyzer } from './analyzers/message.js';
10
+ import { TransactionAnalyzer } from './analyzers/transaction.js';
11
+ import { AuthAnalyzer } from './analyzers/auth.js';
12
+ import { GitAnalyzer } from './analyzers/git.js';
13
+ import { UiActionAnalyzer } from './analyzers/ui-action.js';
14
+ import { InfraAnalyzer } from './analyzers/infra.js';
15
+ import { AgentCommAnalyzer } from './analyzers/agent-comm.js';
16
+ import { DataPipelineAnalyzer } from './analyzers/data-pipeline.js';
17
+ import { DocumentAnalyzer } from './analyzers/document.js';
18
+ import { IotAnalyzer } from './analyzers/iot.js';
6
19
  import { classifyAction } from './classifier.js';
7
20
  import { buildVerdict } from './verdict.js';
8
- import { loadUrlPatterns, loadBrandPatterns, loadCommandPatterns, loadTextPatterns, loadFileReadPatterns, loadFileWritePatterns } from './patterns.js';
21
+ import { applyContext } from './context.js';
22
+ import { SessionTracker } from './session-tracker.js';
23
+ import { loadUrlPatterns, loadBrandPatterns, loadCommandPatterns, loadTextPatterns, loadFileReadPatterns, loadFileWritePatterns, loadApiCallPatterns, loadQueryPatterns, loadCodePatterns, loadMessagePatterns, loadTransactionPatterns, loadAuthPatterns, loadGitPatterns, loadUiActionPatterns, loadInfraPatterns, loadAgentCommPatterns, loadDataPipelinePatterns, loadDocumentPatterns, loadIotPatterns, } from './patterns.js';
9
24
  /**
10
25
  * Main entry point for the Surfinguard AI Security SDK.
11
26
  *
@@ -17,12 +32,25 @@ import { loadUrlPatterns, loadBrandPatterns, loadCommandPatterns, loadTextPatter
17
32
  * ```
18
33
  */
19
34
  export class CoreEngine {
20
- static VERSION = '0.3.0';
35
+ static VERSION = '0.8.0';
21
36
  urlAnalyzer;
22
37
  commandAnalyzer;
23
38
  textAnalyzer;
24
39
  fileReadAnalyzer;
25
40
  fileWriteAnalyzer;
41
+ apiCallAnalyzer;
42
+ queryAnalyzer;
43
+ codeAnalyzer;
44
+ messageAnalyzer;
45
+ transactionAnalyzer;
46
+ authAnalyzer;
47
+ gitAnalyzer;
48
+ uiActionAnalyzer;
49
+ infraAnalyzer;
50
+ agentCommAnalyzer;
51
+ dataPipelineAnalyzer;
52
+ documentAnalyzer;
53
+ iotAnalyzer;
26
54
  constructor() {
27
55
  const urlPatterns = loadUrlPatterns();
28
56
  const brandPatterns = loadBrandPatterns();
@@ -35,11 +63,37 @@ export class CoreEngine {
35
63
  this.fileReadAnalyzer = new FileReadAnalyzer(fileReadPatterns);
36
64
  const fileWritePatterns = loadFileWritePatterns();
37
65
  this.fileWriteAnalyzer = new FileWriteAnalyzer(fileWritePatterns);
66
+ const apiCallPatterns = loadApiCallPatterns();
67
+ this.apiCallAnalyzer = new ApiCallAnalyzer(apiCallPatterns);
68
+ const queryPatterns = loadQueryPatterns();
69
+ this.queryAnalyzer = new QueryAnalyzer(queryPatterns);
70
+ const codePatterns = loadCodePatterns();
71
+ this.codeAnalyzer = new CodeAnalyzer(codePatterns);
72
+ const messagePatterns = loadMessagePatterns();
73
+ this.messageAnalyzer = new MessageAnalyzer(messagePatterns);
74
+ const transactionPatterns = loadTransactionPatterns();
75
+ this.transactionAnalyzer = new TransactionAnalyzer(transactionPatterns);
76
+ const authPatterns = loadAuthPatterns();
77
+ this.authAnalyzer = new AuthAnalyzer(authPatterns);
78
+ const gitPatterns = loadGitPatterns();
79
+ this.gitAnalyzer = new GitAnalyzer(gitPatterns);
80
+ const uiActionPatterns = loadUiActionPatterns();
81
+ this.uiActionAnalyzer = new UiActionAnalyzer(uiActionPatterns);
82
+ const infraPatterns = loadInfraPatterns();
83
+ this.infraAnalyzer = new InfraAnalyzer(infraPatterns);
84
+ const agentCommPatterns = loadAgentCommPatterns();
85
+ this.agentCommAnalyzer = new AgentCommAnalyzer(agentCommPatterns);
86
+ const dataPipelinePatterns = loadDataPipelinePatterns();
87
+ this.dataPipelineAnalyzer = new DataPipelineAnalyzer(dataPipelinePatterns);
88
+ const documentPatterns = loadDocumentPatterns();
89
+ this.documentAnalyzer = new DocumentAnalyzer(documentPatterns);
90
+ const iotPatterns = loadIotPatterns();
91
+ this.iotAnalyzer = new IotAnalyzer(iotPatterns);
38
92
  }
39
93
  /**
40
94
  * Analyze a single action and return a verdict.
41
95
  */
42
- check(input, _context) {
96
+ check(input, context) {
43
97
  const startTime = performance.now();
44
98
  const classified = classifyAction(input.type);
45
99
  if (!classified) {
@@ -53,27 +107,98 @@ export class CoreEngine {
53
107
  latencyMs: Math.round((performance.now() - startTime) * 100) / 100,
54
108
  };
55
109
  }
110
+ let verdict;
56
111
  switch (classified) {
57
112
  case 'url': {
58
113
  const result = this.urlAnalyzer.analyze(input.value);
59
- return buildVerdict(result, startTime);
114
+ verdict = buildVerdict(result, startTime);
115
+ break;
60
116
  }
61
117
  case 'command': {
62
118
  const result = this.commandAnalyzer.analyze(input.value);
63
- return buildVerdict(result, startTime);
119
+ verdict = buildVerdict(result, startTime);
120
+ break;
64
121
  }
65
122
  case 'text': {
66
123
  const result = this.textAnalyzer.analyze(input.value);
67
- return buildVerdict(result, startTime);
124
+ verdict = buildVerdict(result, startTime);
125
+ break;
68
126
  }
69
127
  case 'file_read': {
70
128
  const result = this.fileReadAnalyzer.analyze(input.value);
71
- return buildVerdict(result, startTime);
129
+ verdict = buildVerdict(result, startTime);
130
+ break;
72
131
  }
73
132
  case 'file_write': {
74
133
  const content = input.metadata?.content;
75
134
  const result = this.fileWriteAnalyzer.analyzeWithContent(input.value, content);
76
- return buildVerdict(result, startTime);
135
+ verdict = buildVerdict(result, startTime);
136
+ break;
137
+ }
138
+ case 'api_call': {
139
+ const result = this.apiCallAnalyzer.analyze(input.value, input.metadata);
140
+ verdict = buildVerdict(result, startTime);
141
+ break;
142
+ }
143
+ case 'query': {
144
+ const result = this.queryAnalyzer.analyze(input.value);
145
+ verdict = buildVerdict(result, startTime);
146
+ break;
147
+ }
148
+ case 'code_eval': {
149
+ const result = this.codeAnalyzer.analyze(input.value, input.metadata);
150
+ verdict = buildVerdict(result, startTime);
151
+ break;
152
+ }
153
+ case 'message': {
154
+ const result = this.messageAnalyzer.analyze(input.value, input.metadata);
155
+ verdict = buildVerdict(result, startTime);
156
+ break;
157
+ }
158
+ case 'transaction': {
159
+ const result = this.transactionAnalyzer.analyze(input.value, input.metadata);
160
+ verdict = buildVerdict(result, startTime);
161
+ break;
162
+ }
163
+ case 'auth': {
164
+ const result = this.authAnalyzer.analyze(input.value, input.metadata);
165
+ verdict = buildVerdict(result, startTime);
166
+ break;
167
+ }
168
+ case 'git': {
169
+ const result = this.gitAnalyzer.analyze(input.value, input.metadata);
170
+ verdict = buildVerdict(result, startTime);
171
+ break;
172
+ }
173
+ case 'ui_action': {
174
+ const result = this.uiActionAnalyzer.analyze(input.value, input.metadata);
175
+ verdict = buildVerdict(result, startTime);
176
+ break;
177
+ }
178
+ case 'infra': {
179
+ const result = this.infraAnalyzer.analyze(input.value, input.metadata);
180
+ verdict = buildVerdict(result, startTime);
181
+ break;
182
+ }
183
+ case 'agent_comm': {
184
+ const result = this.agentCommAnalyzer.analyze(input.value, input.metadata);
185
+ verdict = buildVerdict(result, startTime);
186
+ break;
187
+ }
188
+ case 'data_pipeline': {
189
+ const result = this.dataPipelineAnalyzer.analyze(input.value, input.metadata);
190
+ verdict = buildVerdict(result, startTime);
191
+ break;
192
+ }
193
+ case 'document': {
194
+ const result = this.documentAnalyzer.analyze(input.value, input.metadata);
195
+ verdict = buildVerdict(result, startTime);
196
+ break;
197
+ }
198
+ case 'iot': {
199
+ const result = this.iotAnalyzer.analyze(input.value, input.metadata);
200
+ verdict = buildVerdict(result, startTime);
201
+ break;
77
202
  }
78
203
  default: {
79
204
  return {
@@ -87,6 +212,88 @@ export class CoreEngine {
87
212
  };
88
213
  }
89
214
  }
215
+ // Apply context multiplier if context is provided
216
+ if (context) {
217
+ const { multiplier, reasons } = applyContext(context);
218
+ if (multiplier !== 1.0) {
219
+ const boostedScore = Math.min(10, Math.round(verdict.score * multiplier));
220
+ const boost = boostedScore - verdict.score;
221
+ if (boost !== 0) {
222
+ const level = boostedScore >= 7 ? 'DANGER' : boostedScore >= 3 ? 'CAUTION' : 'SAFE';
223
+ verdict = {
224
+ ...verdict,
225
+ score: boostedScore,
226
+ level,
227
+ allow: level === 'SAFE',
228
+ contextBoost: boost,
229
+ reasons: [...verdict.reasons, ...reasons],
230
+ latencyMs: Math.round((performance.now() - startTime) * 100) / 100,
231
+ };
232
+ }
233
+ }
234
+ }
235
+ return verdict;
236
+ }
237
+ /**
238
+ * Check multiple actions with session tracking and chain detection.
239
+ */
240
+ checkBatch(input) {
241
+ const tracker = new SessionTracker();
242
+ const sessionId = input.sessionId ?? `batch-${Date.now()}`;
243
+ const results = [];
244
+ let allChainDetections = [];
245
+ for (const action of input.actions) {
246
+ // Build context from session state if sequential
247
+ const context = input.sequential ? tracker.buildContext(sessionId) : undefined;
248
+ let result = this.check({ type: action.type, value: action.value, metadata: action.metadata }, context);
249
+ // Record action in session and get chain info
250
+ const sessionResult = tracker.recordAction(sessionId, { type: action.type, value: action.value, metadata: action.metadata }, result, input.agentId);
251
+ // Apply chain boost
252
+ if (sessionResult.contextBoost > 0) {
253
+ const boostedScore = Math.min(10, result.score + sessionResult.contextBoost);
254
+ const level = boostedScore >= 7 ? 'DANGER' : boostedScore >= 3 ? 'CAUTION' : 'SAFE';
255
+ result = {
256
+ ...result,
257
+ score: boostedScore,
258
+ level,
259
+ allow: level === 'SAFE',
260
+ contextBoost: (result.contextBoost ?? 0) + sessionResult.contextBoost,
261
+ chainDetections: sessionResult.chainDetections,
262
+ riskTrend: sessionResult.riskTrend,
263
+ };
264
+ }
265
+ else {
266
+ result = {
267
+ ...result,
268
+ riskTrend: sessionResult.riskTrend,
269
+ chainDetections: sessionResult.chainDetections.length > 0 ? sessionResult.chainDetections : undefined,
270
+ };
271
+ }
272
+ results.push(result);
273
+ allChainDetections = sessionResult.chainDetections;
274
+ }
275
+ // If not sequential, run chain detection across all actions post-hoc
276
+ if (!input.sequential && results.length > 0) {
277
+ const postHocTracker = new SessionTracker();
278
+ for (let i = 0; i < input.actions.length; i++) {
279
+ const sessionResult = postHocTracker.recordAction(sessionId, {
280
+ type: input.actions[i].type,
281
+ value: input.actions[i].value,
282
+ metadata: input.actions[i].metadata,
283
+ }, results[i], input.agentId);
284
+ allChainDetections = sessionResult.chainDetections;
285
+ }
286
+ }
287
+ // Compute overall score and level
288
+ const overallScore = Math.max(0, ...results.map((r) => r.score));
289
+ const overallLevel = overallScore >= 7 ? 'DANGER' : overallScore >= 3 ? 'CAUTION' : 'SAFE';
290
+ return {
291
+ results,
292
+ sessionId,
293
+ chainDetections: allChainDetections,
294
+ overallLevel,
295
+ overallScore,
296
+ };
90
297
  }
91
298
  /**
92
299
  * Convenience method: analyze a URL string directly.
@@ -116,7 +323,104 @@ export class CoreEngine {
116
323
  * Convenience method: analyze a file write operation with optional content.
117
324
  */
118
325
  checkFileWrite(path, content) {
119
- return this.check({ type: 'file_write', value: path, metadata: content ? { content } : undefined });
326
+ return this.check({
327
+ type: 'file_write',
328
+ value: path,
329
+ metadata: content ? { content } : undefined,
330
+ });
331
+ }
332
+ /**
333
+ * Convenience method: analyze an API call.
334
+ */
335
+ checkApiCall(url, method, headers, body) {
336
+ const metadata = {};
337
+ if (method)
338
+ metadata.method = method;
339
+ if (headers)
340
+ metadata.headers = headers;
341
+ if (body)
342
+ metadata.body = body;
343
+ return this.check({
344
+ type: 'api_call',
345
+ value: url,
346
+ metadata: Object.keys(metadata).length > 0 ? metadata : undefined,
347
+ });
348
+ }
349
+ /**
350
+ * Convenience method: analyze a SQL query.
351
+ */
352
+ checkQuery(query) {
353
+ return this.check({ type: 'query', value: query });
354
+ }
355
+ /**
356
+ * Convenience method: analyze generated code.
357
+ */
358
+ checkCode(code, language) {
359
+ return this.check({
360
+ type: 'code_eval',
361
+ value: code,
362
+ metadata: language ? { language } : undefined,
363
+ });
364
+ }
365
+ /**
366
+ * Convenience method: analyze a message/notification being sent.
367
+ */
368
+ checkMessage(body, metadata) {
369
+ return this.check({ type: 'message', value: body, metadata });
370
+ }
371
+ /**
372
+ * Convenience method: analyze a financial transaction.
373
+ */
374
+ checkTransaction(description, metadata) {
375
+ return this.check({ type: 'transaction', value: description, metadata });
376
+ }
377
+ /**
378
+ * Convenience method: analyze an authentication/identity action.
379
+ */
380
+ checkAuth(action, metadata) {
381
+ return this.check({ type: 'auth', value: action, metadata });
382
+ }
383
+ /**
384
+ * Convenience method: analyze a git operation.
385
+ */
386
+ checkGit(command, metadata) {
387
+ return this.check({ type: 'git', value: command, metadata });
388
+ }
389
+ /**
390
+ * Convenience method: analyze a UI/browser action.
391
+ */
392
+ checkUiAction(action, metadata) {
393
+ return this.check({ type: 'ui_action', value: action, metadata });
394
+ }
395
+ /**
396
+ * Convenience method: analyze an infrastructure/cloud operation.
397
+ */
398
+ checkInfra(action, metadata) {
399
+ return this.check({ type: 'infra', value: action, metadata });
400
+ }
401
+ /**
402
+ * Convenience method: analyze an agent communication action.
403
+ */
404
+ checkAgentComm(action, metadata) {
405
+ return this.check({ type: 'agent_comm', value: action, metadata });
406
+ }
407
+ /**
408
+ * Convenience method: analyze a data/ML pipeline action.
409
+ */
410
+ checkDataPipeline(action, metadata) {
411
+ return this.check({ type: 'data_pipeline', value: action, metadata });
412
+ }
413
+ /**
414
+ * Convenience method: analyze a document operation.
415
+ */
416
+ checkDocument(action, metadata) {
417
+ return this.check({ type: 'document', value: action, metadata });
418
+ }
419
+ /**
420
+ * Convenience method: analyze an IoT/physical device command.
421
+ */
422
+ checkIot(command, metadata) {
423
+ return this.check({ type: 'iot', value: command, metadata });
120
424
  }
121
425
  }
122
426
  //# sourceMappingURL=engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,9 +4,26 @@ export { CommandAnalyzer } from './analyzers/command.js';
4
4
  export { TextAnalyzer } from './analyzers/text.js';
5
5
  export { FileReadAnalyzer } from './analyzers/file-read.js';
6
6
  export { FileWriteAnalyzer } from './analyzers/file-write.js';
7
+ export { ApiCallAnalyzer } from './analyzers/api-call.js';
8
+ export { QueryAnalyzer } from './analyzers/query.js';
9
+ export { CodeAnalyzer } from './analyzers/code.js';
10
+ export { MessageAnalyzer } from './analyzers/message.js';
11
+ export { TransactionAnalyzer } from './analyzers/transaction.js';
12
+ export { AuthAnalyzer } from './analyzers/auth.js';
13
+ export { GitAnalyzer } from './analyzers/git.js';
14
+ export { UiActionAnalyzer } from './analyzers/ui-action.js';
15
+ export { InfraAnalyzer } from './analyzers/infra.js';
16
+ export { AgentCommAnalyzer } from './analyzers/agent-comm.js';
17
+ export { DataPipelineAnalyzer } from './analyzers/data-pipeline.js';
18
+ export { DocumentAnalyzer } from './analyzers/document.js';
19
+ export { IotAnalyzer } from './analyzers/iot.js';
7
20
  export { scorePrimitives, scoreComposite } from './scorer.js';
8
21
  export { buildVerdict } from './verdict.js';
9
- export { loadUrlPatterns, loadBrandPatterns, loadCommandPatterns, loadTextPatterns, loadFileReadPatterns, loadFileWritePatterns } from './patterns.js';
22
+ export { applyContext } from './context.js';
23
+ export { SessionTracker } from './session-tracker.js';
24
+ export { PolicyEngine, POLICY_TEMPLATES } from './policy-engine.js';
25
+ export type { PolicyDecision } from './policy-engine.js';
26
+ export { loadUrlPatterns, loadBrandPatterns, loadCommandPatterns, loadTextPatterns, loadFileReadPatterns, loadFileWritePatterns, loadApiCallPatterns, loadQueryPatterns, loadCodePatterns, loadChainPatterns, loadMessagePatterns, loadTransactionPatterns, loadAuthPatterns, loadGitPatterns, loadUiActionPatterns, loadInfraPatterns, loadAgentCommPatterns, loadDataPipelinePatterns, loadDocumentPatterns, loadIotPatterns, } from './patterns.js';
10
27
  export type { Analyzer, AnalyzerFinding, AnalyzerResult } from './analyzers/base.js';
11
28
  export type { CompositeResult } from './scorer.js';
12
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACvJ,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrF,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrF,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -4,7 +4,23 @@ export { CommandAnalyzer } from './analyzers/command.js';
4
4
  export { TextAnalyzer } from './analyzers/text.js';
5
5
  export { FileReadAnalyzer } from './analyzers/file-read.js';
6
6
  export { FileWriteAnalyzer } from './analyzers/file-write.js';
7
+ export { ApiCallAnalyzer } from './analyzers/api-call.js';
8
+ export { QueryAnalyzer } from './analyzers/query.js';
9
+ export { CodeAnalyzer } from './analyzers/code.js';
10
+ export { MessageAnalyzer } from './analyzers/message.js';
11
+ export { TransactionAnalyzer } from './analyzers/transaction.js';
12
+ export { AuthAnalyzer } from './analyzers/auth.js';
13
+ export { GitAnalyzer } from './analyzers/git.js';
14
+ export { UiActionAnalyzer } from './analyzers/ui-action.js';
15
+ export { InfraAnalyzer } from './analyzers/infra.js';
16
+ export { AgentCommAnalyzer } from './analyzers/agent-comm.js';
17
+ export { DataPipelineAnalyzer } from './analyzers/data-pipeline.js';
18
+ export { DocumentAnalyzer } from './analyzers/document.js';
19
+ export { IotAnalyzer } from './analyzers/iot.js';
7
20
  export { scorePrimitives, scoreComposite } from './scorer.js';
8
21
  export { buildVerdict } from './verdict.js';
9
- export { loadUrlPatterns, loadBrandPatterns, loadCommandPatterns, loadTextPatterns, loadFileReadPatterns, loadFileWritePatterns } from './patterns.js';
22
+ export { applyContext } from './context.js';
23
+ export { SessionTracker } from './session-tracker.js';
24
+ export { PolicyEngine, POLICY_TEMPLATES } from './policy-engine.js';
25
+ export { loadUrlPatterns, loadBrandPatterns, loadCommandPatterns, loadTextPatterns, loadFileReadPatterns, loadFileWritePatterns, loadApiCallPatterns, loadQueryPatterns, loadCodePatterns, loadChainPatterns, loadMessagePatterns, loadTransactionPatterns, loadAuthPatterns, loadGitPatterns, loadUiActionPatterns, loadInfraPatterns, loadAgentCommPatterns, loadDataPipelinePatterns, loadDocumentPatterns, loadIotPatterns, } from './patterns.js';
10
26
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEpE,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,GAChB,MAAM,eAAe,CAAC"}
@@ -1,8 +1,22 @@
1
- import type { UrlPatternDatabase, BrandPatternDatabase, CommandPatternDatabase, TextPatternDatabase, FileReadPatternDatabase, FileWritePatternDatabase } from '@surfinguard/types';
1
+ import type { UrlPatternDatabase, BrandPatternDatabase, CommandPatternDatabase, TextPatternDatabase, FileReadPatternDatabase, FileWritePatternDatabase, ApiCallPatternDatabase, QueryPatternDatabase, CodePatternDatabase, ChainPatternDatabase, MessagePatternDatabase, TransactionPatternDatabase, AuthPatternDatabase, GitPatternDatabase, UiActionPatternDatabase, InfraPatternDatabase, AgentCommPatternDatabase, DataPipelinePatternDatabase, DocumentPatternDatabase, IotPatternDatabase } from '@surfinguard/types';
2
2
  export declare function loadUrlPatterns(): UrlPatternDatabase;
3
3
  export declare function loadBrandPatterns(): BrandPatternDatabase;
4
4
  export declare function loadCommandPatterns(): CommandPatternDatabase;
5
5
  export declare function loadTextPatterns(): TextPatternDatabase;
6
6
  export declare function loadFileReadPatterns(): FileReadPatternDatabase;
7
7
  export declare function loadFileWritePatterns(): FileWritePatternDatabase;
8
+ export declare function loadApiCallPatterns(): ApiCallPatternDatabase;
9
+ export declare function loadQueryPatterns(): QueryPatternDatabase;
10
+ export declare function loadCodePatterns(): CodePatternDatabase;
11
+ export declare function loadChainPatterns(): ChainPatternDatabase;
12
+ export declare function loadMessagePatterns(): MessagePatternDatabase;
13
+ export declare function loadTransactionPatterns(): TransactionPatternDatabase;
14
+ export declare function loadAuthPatterns(): AuthPatternDatabase;
15
+ export declare function loadGitPatterns(): GitPatternDatabase;
16
+ export declare function loadUiActionPatterns(): UiActionPatternDatabase;
17
+ export declare function loadInfraPatterns(): InfraPatternDatabase;
18
+ export declare function loadAgentCommPatterns(): AgentCommPatternDatabase;
19
+ export declare function loadDataPipelinePatterns(): DataPipelinePatternDatabase;
20
+ export declare function loadDocumentPatterns(): DocumentPatternDatabase;
21
+ export declare function loadIotPatterns(): IotPatternDatabase;
8
22
  //# sourceMappingURL=patterns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAmBnL,wBAAgB,eAAe,IAAI,kBAAkB,CAMpD;AAED,wBAAgB,iBAAiB,IAAI,oBAAoB,CAMxD;AAED,wBAAgB,mBAAmB,IAAI,sBAAsB,CAM5D;AAED,wBAAgB,gBAAgB,IAAI,mBAAmB,CAMtD;AAED,wBAAgB,oBAAoB,IAAI,uBAAuB,CAM9D;AAED,wBAAgB,qBAAqB,IAAI,wBAAwB,CAMhE"}
1
+ {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAyB5B,wBAAgB,eAAe,IAAI,kBAAkB,CAEpD;AAED,wBAAgB,iBAAiB,IAAI,oBAAoB,CAExD;AAED,wBAAgB,mBAAmB,IAAI,sBAAsB,CAE5D;AAED,wBAAgB,gBAAgB,IAAI,mBAAmB,CAEtD;AAED,wBAAgB,oBAAoB,IAAI,uBAAuB,CAE9D;AAED,wBAAgB,qBAAqB,IAAI,wBAAwB,CAEhE;AAED,wBAAgB,mBAAmB,IAAI,sBAAsB,CAE5D;AAED,wBAAgB,iBAAiB,IAAI,oBAAoB,CAExD;AAED,wBAAgB,gBAAgB,IAAI,mBAAmB,CAEtD;AAED,wBAAgB,iBAAiB,IAAI,oBAAoB,CAExD;AAED,wBAAgB,mBAAmB,IAAI,sBAAsB,CAE5D;AAED,wBAAgB,uBAAuB,IAAI,0BAA0B,CAEpE;AAED,wBAAgB,gBAAgB,IAAI,mBAAmB,CAEtD;AAED,wBAAgB,eAAe,IAAI,kBAAkB,CAEpD;AAED,wBAAgB,oBAAoB,IAAI,uBAAuB,CAE9D;AAED,wBAAgB,iBAAiB,IAAI,oBAAoB,CAExD;AAED,wBAAgB,qBAAqB,IAAI,wBAAwB,CAEhE;AAED,wBAAgB,wBAAwB,IAAI,2BAA2B,CAEtE;AAED,wBAAgB,oBAAoB,IAAI,uBAAuB,CAE9D;AAED,wBAAgB,eAAe,IAAI,kBAAkB,CAEpD"}