palaryn 0.5.7 → 0.6.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.
- package/dist/src/billing/plan-enforcer.d.ts.map +1 -1
- package/dist/src/billing/plan-enforcer.js +0 -2
- package/dist/src/billing/plan-enforcer.js.map +1 -1
- package/dist/src/config/defaults.js +1 -1
- package/dist/src/config/defaults.js.map +1 -1
- package/dist/src/dlp/circuit-breaker.d.ts +44 -0
- package/dist/src/dlp/circuit-breaker.d.ts.map +1 -0
- package/dist/src/dlp/circuit-breaker.js +69 -0
- package/dist/src/dlp/circuit-breaker.js.map +1 -0
- package/dist/src/dlp/deberta-backend.d.ts +2 -0
- package/dist/src/dlp/deberta-backend.d.ts.map +1 -1
- package/dist/src/dlp/deberta-backend.js +21 -3
- package/dist/src/dlp/deberta-backend.js.map +1 -1
- package/dist/src/dlp/exfiltration-backend.d.ts.map +1 -1
- package/dist/src/dlp/exfiltration-backend.js +10 -0
- package/dist/src/dlp/exfiltration-backend.js.map +1 -1
- package/dist/src/dlp/index.d.ts +2 -0
- package/dist/src/dlp/index.d.ts.map +1 -1
- package/dist/src/dlp/index.js +5 -1
- package/dist/src/dlp/index.js.map +1 -1
- package/dist/src/dlp/llm-classifier.d.ts +8 -1
- package/dist/src/dlp/llm-classifier.d.ts.map +1 -1
- package/dist/src/dlp/llm-classifier.js +138 -61
- package/dist/src/dlp/llm-classifier.js.map +1 -1
- package/dist/src/dlp/multipart-extractor.d.ts +20 -0
- package/dist/src/dlp/multipart-extractor.d.ts.map +1 -0
- package/dist/src/dlp/multipart-extractor.js +60 -0
- package/dist/src/dlp/multipart-extractor.js.map +1 -0
- package/dist/src/dlp/navigation-instruction-backend.d.ts +6 -0
- package/dist/src/dlp/navigation-instruction-backend.d.ts.map +1 -0
- package/dist/src/dlp/navigation-instruction-backend.js +286 -0
- package/dist/src/dlp/navigation-instruction-backend.js.map +1 -0
- package/dist/src/dlp/nemo-backend.d.ts +2 -0
- package/dist/src/dlp/nemo-backend.d.ts.map +1 -1
- package/dist/src/dlp/nemo-backend.js +8 -0
- package/dist/src/dlp/nemo-backend.js.map +1 -1
- package/dist/src/dlp/prompt-injection-patterns.d.ts.map +1 -1
- package/dist/src/dlp/prompt-injection-patterns.js +36 -0
- package/dist/src/dlp/prompt-injection-patterns.js.map +1 -1
- package/dist/src/dlp/text-normalizer.d.ts +2 -15
- package/dist/src/dlp/text-normalizer.d.ts.map +1 -1
- package/dist/src/dlp/text-normalizer.js +34 -7
- package/dist/src/dlp/text-normalizer.js.map +1 -1
- package/dist/src/dlp/tool-patterns.d.ts +12 -0
- package/dist/src/dlp/tool-patterns.d.ts.map +1 -1
- package/dist/src/dlp/tool-patterns.js +61 -1
- package/dist/src/dlp/tool-patterns.js.map +1 -1
- package/dist/src/executor/filesystem-executor.d.ts +5 -5
- package/dist/src/executor/filesystem-executor.d.ts.map +1 -1
- package/dist/src/executor/filesystem-executor.js +43 -0
- package/dist/src/executor/filesystem-executor.js.map +1 -1
- package/dist/src/metrics/collector.d.ts +5 -0
- package/dist/src/metrics/collector.d.ts.map +1 -1
- package/dist/src/metrics/collector.js +14 -0
- package/dist/src/metrics/collector.js.map +1 -1
- package/dist/src/policy/engine.d.ts.map +1 -1
- package/dist/src/policy/engine.js +39 -3
- package/dist/src/policy/engine.js.map +1 -1
- package/dist/src/policy/opa-engine.d.ts.map +1 -1
- package/dist/src/policy/opa-engine.js +2 -1
- package/dist/src/policy/opa-engine.js.map +1 -1
- package/dist/src/server/app.d.ts.map +1 -1
- package/dist/src/server/app.js +17 -9
- package/dist/src/server/app.js.map +1 -1
- package/dist/src/server/gateway.d.ts +4 -0
- package/dist/src/server/gateway.d.ts.map +1 -1
- package/dist/src/server/gateway.js +146 -4
- package/dist/src/server/gateway.js.map +1 -1
- package/dist/src/types/config.d.ts +9 -0
- package/dist/src/types/config.d.ts.map +1 -1
- package/dist/src/types/policy.d.ts +4 -0
- package/dist/src/types/policy.d.ts.map +1 -1
- package/dist/src/types/tool-call.d.ts +4 -0
- package/dist/src/types/tool-call.d.ts.map +1 -1
- package/dist/tests/integration/navigation-chain.test.d.ts +9 -0
- package/dist/tests/integration/navigation-chain.test.d.ts.map +1 -0
- package/dist/tests/integration/navigation-chain.test.js +474 -0
- package/dist/tests/integration/navigation-chain.test.js.map +1 -0
- package/dist/tests/unit/adversarial-pipeline.test.js +173 -15
- package/dist/tests/unit/adversarial-pipeline.test.js.map +1 -1
- package/dist/tests/unit/cli.test.js +3 -7
- package/dist/tests/unit/cli.test.js.map +1 -1
- package/dist/tests/unit/filesystem-executor.test.js +88 -0
- package/dist/tests/unit/filesystem-executor.test.js.map +1 -1
- package/dist/tests/unit/multipart-extractor.test.d.ts +2 -0
- package/dist/tests/unit/multipart-extractor.test.d.ts.map +1 -0
- package/dist/tests/unit/multipart-extractor.test.js +118 -0
- package/dist/tests/unit/multipart-extractor.test.js.map +1 -0
- package/dist/tests/unit/navigation-instruction-backend.test.d.ts +8 -0
- package/dist/tests/unit/navigation-instruction-backend.test.d.ts.map +1 -0
- package/dist/tests/unit/navigation-instruction-backend.test.js +561 -0
- package/dist/tests/unit/navigation-instruction-backend.test.js.map +1 -0
- package/dist/tests/unit/policy-engine.test.js +314 -1
- package/dist/tests/unit/policy-engine.test.js.map +1 -1
- package/dist/tests/unit/prompt-injection-backend.test.js +1 -1
- package/dist/tests/unit/prompt-injection-backend.test.js.map +1 -1
- package/package.json +3 -2
- package/policy-packs/default.yaml +76 -0
- package/src/billing/plan-enforcer.ts +0 -2
- package/src/config/defaults.ts +1 -1
- package/src/dlp/circuit-breaker.ts +83 -0
- package/src/dlp/deberta-backend.ts +21 -3
- package/src/dlp/exfiltration-backend.ts +11 -0
- package/src/dlp/index.ts +2 -0
- package/src/dlp/llm-classifier.ts +148 -66
- package/src/dlp/multipart-extractor.ts +66 -0
- package/src/dlp/navigation-instruction-backend.ts +309 -0
- package/src/dlp/nemo-backend.ts +10 -0
- package/src/dlp/prompt-injection-patterns.ts +37 -0
- package/src/dlp/text-normalizer.ts +36 -7
- package/src/dlp/tool-patterns.ts +63 -0
- package/src/executor/filesystem-executor.ts +51 -0
- package/src/metrics/collector.ts +17 -0
- package/src/policy/engine.ts +39 -3
- package/src/policy/opa-engine.ts +2 -1
- package/src/server/app.ts +19 -10
- package/src/server/gateway.ts +155 -4
- package/src/types/config.ts +9 -0
- package/src/types/policy.ts +5 -0
- package/src/types/tool-call.ts +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-enforcer.d.ts","sourceRoot":"","sources":["../../../src/billing/plan-enforcer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAe,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAyC,MAAM,uBAAuB,CAAC;AAE9F,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,YAAY;IACvB,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU;IAI5C,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IASjH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAI7D;;OAEG;IACH,MAAM,CAAC,gBAAgB,CACrB,IAAI,EAAE,QAAQ,EACd,kBAAkB,EAAE,MAAM,GACzB,iBAAiB;IAWpB;;OAEG;IACH,MAAM,CAAC,gBAAgB,CACrB,IAAI,EAAE,QAAQ,EACd,eAAe,EAAE,MAAM,GACtB,iBAAiB;IAWpB;;OAEG;IACH,MAAM,CAAC,mBAAmB,CACxB,IAAI,EAAE,QAAQ,EACd,qBAAqB,EAAE,MAAM,GAC5B,iBAAiB;
|
|
1
|
+
{"version":3,"file":"plan-enforcer.d.ts","sourceRoot":"","sources":["../../../src/billing/plan-enforcer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAe,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAyC,MAAM,uBAAuB,CAAC;AAE9F,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,YAAY;IACvB,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU;IAI5C,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IASjH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAI7D;;OAEG;IACH,MAAM,CAAC,gBAAgB,CACrB,IAAI,EAAE,QAAQ,EACd,kBAAkB,EAAE,MAAM,GACzB,iBAAiB;IAWpB;;OAEG;IACH,MAAM,CAAC,gBAAgB,CACrB,IAAI,EAAE,QAAQ,EACd,eAAe,EAAE,MAAM,GACtB,iBAAiB;IAWpB;;OAEG;IACH,MAAM,CAAC,mBAAmB,CACxB,IAAI,EAAE,QAAQ,EACd,qBAAqB,EAAE,MAAM,GAC5B,iBAAiB;IAWpB;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,GAAG,iBAAiB;CAU/E;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,cAAc,EAAE,cAAc,CAAC;IAC/B,mBAAmB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;CACtD,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,CA6B5D"}
|
|
@@ -57,8 +57,6 @@ class PlanEnforcer {
|
|
|
57
57
|
}
|
|
58
58
|
return { allowed: true };
|
|
59
59
|
}
|
|
60
|
-
// TODO: Integrate into gateway pipeline — call enforce() from gateway.preExecute()
|
|
61
|
-
// or wire createPlanEnforcerMiddleware() in src/server/app.ts before POST /v1/tool/execute.
|
|
62
60
|
/**
|
|
63
61
|
* Enforce call limits for a tool execution.
|
|
64
62
|
* Returns { allowed: true } or { allowed: false, reason: '...' }.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-enforcer.js","sourceRoot":"","sources":["../../../src/billing/plan-enforcer.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"plan-enforcer.js","sourceRoot":"","sources":["../../../src/billing/plan-enforcer.ts"],"names":[],"mappings":"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"}
|
|
@@ -136,7 +136,7 @@ exports.DEFAULT_CONFIG = {
|
|
|
136
136
|
threshold: 0.75,
|
|
137
137
|
},
|
|
138
138
|
llm_classifier: {
|
|
139
|
-
enabled: !!process.env.PALARYN_LLM_API_KEY,
|
|
139
|
+
enabled: !!process.env.PALARYN_LLM_API_KEY || process.env.PALARYN_LLM_PROVIDER === 'bedrock',
|
|
140
140
|
model: process.env.PALARYN_LLM_MODEL || 'gpt-4o-mini',
|
|
141
141
|
confidence_threshold: 0.5,
|
|
142
142
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/config/defaults.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/config/defaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple circuit breaker for external DLP service calls.
|
|
3
|
+
*
|
|
4
|
+
* States:
|
|
5
|
+
* CLOSED — normal operation, requests pass through
|
|
6
|
+
* OPEN — too many failures, requests fail-fast (no external call)
|
|
7
|
+
* HALF_OPEN — after reset timeout, allow one probe request
|
|
8
|
+
*
|
|
9
|
+
* Fail-open policy: when the circuit is OPEN the DLP backend returns []
|
|
10
|
+
* (no detections), so legitimate requests are never blocked by a broken sidecar.
|
|
11
|
+
*/
|
|
12
|
+
export type CircuitState = 'closed' | 'open' | 'half_open';
|
|
13
|
+
export interface CircuitBreakerOptions {
|
|
14
|
+
/** Name for logging/metrics. */
|
|
15
|
+
name: string;
|
|
16
|
+
/** Number of consecutive failures before opening the circuit. Default: 5. */
|
|
17
|
+
failureThreshold?: number;
|
|
18
|
+
/** Time in ms to wait before transitioning OPEN → HALF_OPEN. Default: 30000. */
|
|
19
|
+
resetTimeoutMs?: number;
|
|
20
|
+
}
|
|
21
|
+
export declare class CircuitBreaker {
|
|
22
|
+
readonly name: string;
|
|
23
|
+
private state;
|
|
24
|
+
private failureCount;
|
|
25
|
+
private readonly failureThreshold;
|
|
26
|
+
private readonly resetTimeoutMs;
|
|
27
|
+
private lastFailureTime;
|
|
28
|
+
/** Counters for observability. */
|
|
29
|
+
trips: number;
|
|
30
|
+
recoveries: number;
|
|
31
|
+
rejections: number;
|
|
32
|
+
constructor(opts: CircuitBreakerOptions);
|
|
33
|
+
getState(): CircuitState;
|
|
34
|
+
/**
|
|
35
|
+
* Returns true if the call should be allowed through.
|
|
36
|
+
* Returns false if the circuit is OPEN (fail-fast).
|
|
37
|
+
*/
|
|
38
|
+
allowRequest(): boolean;
|
|
39
|
+
/** Record a successful call. Resets failure count and closes the circuit. */
|
|
40
|
+
recordSuccess(): void;
|
|
41
|
+
/** Record a failed call. Opens the circuit when threshold is reached. */
|
|
42
|
+
recordFailure(): void;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=circuit-breaker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"circuit-breaker.d.ts","sourceRoot":"","sources":["../../../src/dlp/circuit-breaker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE3D,MAAM,WAAW,qBAAqB;IACpC,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,cAAc;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,eAAe,CAAK;IAE5B,kCAAkC;IAClC,KAAK,SAAK;IACV,UAAU,SAAK;IACf,UAAU,SAAK;gBAEH,IAAI,EAAE,qBAAqB;IAMvC,QAAQ,IAAI,YAAY;IAOxB;;;OAGG;IACH,YAAY,IAAI,OAAO;IASvB,6EAA6E;IAC7E,aAAa,IAAI,IAAI;IAQrB,yEAAyE;IACzE,aAAa,IAAI,IAAI;CAUtB"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Simple circuit breaker for external DLP service calls.
|
|
4
|
+
*
|
|
5
|
+
* States:
|
|
6
|
+
* CLOSED — normal operation, requests pass through
|
|
7
|
+
* OPEN — too many failures, requests fail-fast (no external call)
|
|
8
|
+
* HALF_OPEN — after reset timeout, allow one probe request
|
|
9
|
+
*
|
|
10
|
+
* Fail-open policy: when the circuit is OPEN the DLP backend returns []
|
|
11
|
+
* (no detections), so legitimate requests are never blocked by a broken sidecar.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.CircuitBreaker = void 0;
|
|
15
|
+
class CircuitBreaker {
|
|
16
|
+
constructor(opts) {
|
|
17
|
+
this.state = 'closed';
|
|
18
|
+
this.failureCount = 0;
|
|
19
|
+
this.lastFailureTime = 0;
|
|
20
|
+
/** Counters for observability. */
|
|
21
|
+
this.trips = 0;
|
|
22
|
+
this.recoveries = 0;
|
|
23
|
+
this.rejections = 0;
|
|
24
|
+
this.name = opts.name;
|
|
25
|
+
this.failureThreshold = opts.failureThreshold ?? 5;
|
|
26
|
+
this.resetTimeoutMs = opts.resetTimeoutMs ?? 30000;
|
|
27
|
+
}
|
|
28
|
+
getState() {
|
|
29
|
+
if (this.state === 'open' && Date.now() - this.lastFailureTime >= this.resetTimeoutMs) {
|
|
30
|
+
this.state = 'half_open';
|
|
31
|
+
}
|
|
32
|
+
return this.state;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Returns true if the call should be allowed through.
|
|
36
|
+
* Returns false if the circuit is OPEN (fail-fast).
|
|
37
|
+
*/
|
|
38
|
+
allowRequest() {
|
|
39
|
+
const s = this.getState();
|
|
40
|
+
if (s === 'closed')
|
|
41
|
+
return true;
|
|
42
|
+
if (s === 'half_open')
|
|
43
|
+
return true; // probe request
|
|
44
|
+
// OPEN → reject
|
|
45
|
+
this.rejections++;
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
/** Record a successful call. Resets failure count and closes the circuit. */
|
|
49
|
+
recordSuccess() {
|
|
50
|
+
if (this.state === 'half_open') {
|
|
51
|
+
this.recoveries++;
|
|
52
|
+
}
|
|
53
|
+
this.failureCount = 0;
|
|
54
|
+
this.state = 'closed';
|
|
55
|
+
}
|
|
56
|
+
/** Record a failed call. Opens the circuit when threshold is reached. */
|
|
57
|
+
recordFailure() {
|
|
58
|
+
this.failureCount++;
|
|
59
|
+
this.lastFailureTime = Date.now();
|
|
60
|
+
if (this.failureCount >= this.failureThreshold) {
|
|
61
|
+
if (this.state !== 'open') {
|
|
62
|
+
this.trips++;
|
|
63
|
+
}
|
|
64
|
+
this.state = 'open';
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.CircuitBreaker = CircuitBreaker;
|
|
69
|
+
//# sourceMappingURL=circuit-breaker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../../../src/dlp/circuit-breaker.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAaH,MAAa,cAAc;IAazB,YAAY,IAA2B;QAX/B,UAAK,GAAiB,QAAQ,CAAC;QAC/B,iBAAY,GAAG,CAAC,CAAC;QAGjB,oBAAe,GAAG,CAAC,CAAC;QAE5B,kCAAkC;QAClC,UAAK,GAAG,CAAC,CAAC;QACV,eAAU,GAAG,CAAC,CAAC;QACf,eAAU,GAAG,CAAC,CAAC;QAGb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,KAAM,CAAC;IACtD,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtF,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAChC,IAAI,CAAC,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC,CAAC,gBAAgB;QACpD,gBAAgB;QAChB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6EAA6E;IAC7E,aAAa;QACX,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;IACxB,CAAC;IAED,yEAAyE;IACzE,aAAa;QACX,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;QACtB,CAAC;IACH,CAAC;CACF;AA3DD,wCA2DC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DLPBackend, DLPDetection } from './interfaces';
|
|
2
|
+
import { CircuitBreaker } from './circuit-breaker';
|
|
2
3
|
export interface DeBERTaConfig {
|
|
3
4
|
/** Sidecar API URL (e.g. 'http://deberta:8000'). If set, uses HTTP. */
|
|
4
5
|
api_url?: string;
|
|
@@ -25,6 +26,7 @@ export declare class DeBERTaBackend implements DLPBackend {
|
|
|
25
26
|
private readonly modelPath?;
|
|
26
27
|
private readonly timeoutMs;
|
|
27
28
|
private readonly threshold;
|
|
29
|
+
readonly circuitBreaker: CircuitBreaker;
|
|
28
30
|
constructor(config: DeBERTaConfig);
|
|
29
31
|
scanString(value: string): DLPDetection[];
|
|
30
32
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deberta-backend.d.ts","sourceRoot":"","sources":["../../../src/dlp/deberta-backend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"deberta-backend.d.ts","sourceRoot":"","sources":["../../../src/dlp/deberta-backend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,qBAAa,cAAe,YAAW,UAAU;IAC/C,QAAQ,CAAC,IAAI,gBAAgB;IAE7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;gBAE5B,MAAM,EAAE,aAAa;IAQjC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE;IA6CzC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,cAAc;CAcvB"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DeBERTaBackend = void 0;
|
|
4
4
|
const child_process_1 = require("child_process");
|
|
5
|
+
const circuit_breaker_1 = require("./circuit-breaker");
|
|
5
6
|
/**
|
|
6
7
|
* DLP backend using a fine-tuned DeBERTa model for prompt injection detection.
|
|
7
8
|
*
|
|
@@ -19,6 +20,7 @@ class DeBERTaBackend {
|
|
|
19
20
|
this.modelPath = config.model_path;
|
|
20
21
|
this.timeoutMs = config.timeout_ms ?? 10000;
|
|
21
22
|
this.threshold = config.threshold ?? 0.5;
|
|
23
|
+
this.circuitBreaker = new circuit_breaker_1.CircuitBreaker({ name: 'deberta', failureThreshold: 5, resetTimeoutMs: 30000 });
|
|
22
24
|
}
|
|
23
25
|
scanString(value) {
|
|
24
26
|
if (!value || value.length < 5)
|
|
@@ -28,9 +30,25 @@ class DeBERTaBackend {
|
|
|
28
30
|
if (!textToScan || textToScan.length < 5)
|
|
29
31
|
return [];
|
|
30
32
|
try {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
let result;
|
|
34
|
+
if (this.apiUrl) {
|
|
35
|
+
// Circuit breaker protects sidecar HTTP calls
|
|
36
|
+
if (!this.circuitBreaker.allowRequest()) {
|
|
37
|
+
console.warn(`[DeBERTaBackend] circuit OPEN — skipping sidecar call`);
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
result = this.callSidecar(textToScan);
|
|
42
|
+
this.circuitBreaker.recordSuccess();
|
|
43
|
+
}
|
|
44
|
+
catch (sidecarErr) {
|
|
45
|
+
this.circuitBreaker.recordFailure();
|
|
46
|
+
throw sidecarErr;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
result = this.callSubprocess(textToScan);
|
|
51
|
+
}
|
|
34
52
|
if (!result || !result.detected)
|
|
35
53
|
return [];
|
|
36
54
|
const severity = result.score >= 0.9 ? 'high' : result.score >= 0.7 ? 'medium' : 'low';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deberta-backend.js","sourceRoot":"","sources":["../../../src/dlp/deberta-backend.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;
|
|
1
|
+
{"version":3,"file":"deberta-backend.js","sourceRoot":"","sources":["../../../src/dlp/deberta-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exfiltration-backend.d.ts","sourceRoot":"","sources":["../../../src/dlp/exfiltration-backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAoCxD,qBAAa,4BAA6B,YAAW,UAAU;IAC7D,QAAQ,CAAC,IAAI,4BAA4B;IAEzC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE;
|
|
1
|
+
{"version":3,"file":"exfiltration-backend.d.ts","sourceRoot":"","sources":["../../../src/dlp/exfiltration-backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAoCxD,qBAAa,4BAA6B,YAAW,UAAU;IAC7D,QAAQ,CAAC,IAAI,4BAA4B;IAEzC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE;CAkC1C"}
|
|
@@ -38,6 +38,16 @@ class ExfiltrationDetectionBackend {
|
|
|
38
38
|
}
|
|
39
39
|
scanString(value) {
|
|
40
40
|
const detections = [];
|
|
41
|
+
// Large payload detection (>5KB body with URL context = potential exfiltration)
|
|
42
|
+
if (value.length > 5000) {
|
|
43
|
+
detections.push({
|
|
44
|
+
pattern_name: 'exfil_large_payload',
|
|
45
|
+
severity: 'high',
|
|
46
|
+
match: `[${value.length} bytes]`,
|
|
47
|
+
start: 0,
|
|
48
|
+
end: value.length,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
41
51
|
for (const pat of EXFILTRATION_PATTERNS) {
|
|
42
52
|
pat.pattern.lastIndex = 0;
|
|
43
53
|
let m;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exfiltration-backend.js","sourceRoot":"","sources":["../../../src/dlp/exfiltration-backend.ts"],"names":[],"mappings":";;;AAGA;;;;;;;;GAQG;AAEH,MAAM,qBAAqB,GAAiB;IAC1C;QACE,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,mEAAmE;QAC5E,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,IAAI,EAAE,oCAAoC;QAC1C,OAAO,EAAE,kDAAkD;QAC3D,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,sEAAsE;QAC/E,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,+FAA+F;QACxG,QAAQ,EAAE,MAAM;KACjB;CACF,CAAC;AAEF,MAAa,4BAA4B;IAAzC;QACW,SAAI,GAAG,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"exfiltration-backend.js","sourceRoot":"","sources":["../../../src/dlp/exfiltration-backend.ts"],"names":[],"mappings":";;;AAGA;;;;;;;;GAQG;AAEH,MAAM,qBAAqB,GAAiB;IAC1C;QACE,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,mEAAmE;QAC5E,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,IAAI,EAAE,oCAAoC;QAC1C,OAAO,EAAE,kDAAkD;QAC3D,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,sEAAsE;QAC/E,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,+FAA+F;QACxG,QAAQ,EAAE,MAAM;KACjB;CACF,CAAC;AAEF,MAAa,4BAA4B;IAAzC;QACW,SAAI,GAAG,wBAAwB,CAAC;IAoC3C,CAAC;IAlCC,UAAU,CAAC,KAAa;QACtB,MAAM,UAAU,GAAmB,EAAE,CAAC;QAEtC,gFAAgF;QAChF,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YACxB,UAAU,CAAC,IAAI,CAAC;gBACd,YAAY,EAAE,qBAAqB;gBACnC,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,SAAS;gBAChC,KAAK,EAAE,CAAC;gBACR,GAAG,EAAE,KAAK,CAAC,MAAM;aAClB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;YACxC,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAyB,CAAC;YAC9B,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC9C,UAAU,CAAC,IAAI,CAAC;oBACd,YAAY,EAAE,GAAG,CAAC,IAAI;oBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;oBACX,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,GAAG,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;iBAC3B,CAAC,CAAC;gBACH,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtB,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC1B,CAAC;YACH,CAAC;YACD,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AArCD,oEAqCC"}
|
package/dist/src/dlp/index.d.ts
CHANGED
|
@@ -7,7 +7,9 @@ export { CompositeDLPScanner } from './composite-scanner';
|
|
|
7
7
|
export { PROMPT_INJECTION_PATTERNS, OUTPUT_INJECTION_PATTERNS } from './prompt-injection-patterns';
|
|
8
8
|
export { PromptInjectionBackend, PromptInjectionConfig } from './prompt-injection-backend';
|
|
9
9
|
export { ExfiltrationDetectionBackend } from './exfiltration-backend';
|
|
10
|
+
export { NavigationInstructionBackend } from './navigation-instruction-backend';
|
|
10
11
|
export { NemoGuardrailsBackend, NemoGuardrailsConfig } from './nemo-backend';
|
|
11
12
|
export { DeBERTaBackend, DeBERTaConfig } from './deberta-backend';
|
|
12
13
|
export { normalizeText, normalizeLeetspeak, decodeROT13, tryDecodeROT13, ZERO_WIDTH_REGEX, HOMOGLYPH_MAP, LEETSPEAK_MAP } from './text-normalizer';
|
|
14
|
+
export { CircuitBreaker, CircuitBreakerOptions, CircuitState } from './circuit-breaker';
|
|
13
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dlp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dlp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnJ,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/src/dlp/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LEETSPEAK_MAP = exports.HOMOGLYPH_MAP = exports.ZERO_WIDTH_REGEX = exports.tryDecodeROT13 = exports.decodeROT13 = exports.normalizeLeetspeak = exports.normalizeText = exports.DeBERTaBackend = exports.NemoGuardrailsBackend = exports.ExfiltrationDetectionBackend = exports.PromptInjectionBackend = exports.OUTPUT_INJECTION_PATTERNS = exports.PROMPT_INJECTION_PATTERNS = exports.CompositeDLPScanner = exports.TruffleHogBackend = exports.RegexDLPBackend = exports.PII_PATTERNS = exports.SECRET_PATTERNS = exports.DLPScanner = void 0;
|
|
3
|
+
exports.CircuitBreaker = exports.LEETSPEAK_MAP = exports.HOMOGLYPH_MAP = exports.ZERO_WIDTH_REGEX = exports.tryDecodeROT13 = exports.decodeROT13 = exports.normalizeLeetspeak = exports.normalizeText = exports.DeBERTaBackend = exports.NemoGuardrailsBackend = exports.NavigationInstructionBackend = exports.ExfiltrationDetectionBackend = exports.PromptInjectionBackend = exports.OUTPUT_INJECTION_PATTERNS = exports.PROMPT_INJECTION_PATTERNS = exports.CompositeDLPScanner = exports.TruffleHogBackend = exports.RegexDLPBackend = exports.PII_PATTERNS = exports.SECRET_PATTERNS = exports.DLPScanner = void 0;
|
|
4
4
|
var scanner_1 = require("./scanner");
|
|
5
5
|
Object.defineProperty(exports, "DLPScanner", { enumerable: true, get: function () { return scanner_1.DLPScanner; } });
|
|
6
6
|
var patterns_1 = require("./patterns");
|
|
@@ -19,6 +19,8 @@ var prompt_injection_backend_1 = require("./prompt-injection-backend");
|
|
|
19
19
|
Object.defineProperty(exports, "PromptInjectionBackend", { enumerable: true, get: function () { return prompt_injection_backend_1.PromptInjectionBackend; } });
|
|
20
20
|
var exfiltration_backend_1 = require("./exfiltration-backend");
|
|
21
21
|
Object.defineProperty(exports, "ExfiltrationDetectionBackend", { enumerable: true, get: function () { return exfiltration_backend_1.ExfiltrationDetectionBackend; } });
|
|
22
|
+
var navigation_instruction_backend_1 = require("./navigation-instruction-backend");
|
|
23
|
+
Object.defineProperty(exports, "NavigationInstructionBackend", { enumerable: true, get: function () { return navigation_instruction_backend_1.NavigationInstructionBackend; } });
|
|
22
24
|
var nemo_backend_1 = require("./nemo-backend");
|
|
23
25
|
Object.defineProperty(exports, "NemoGuardrailsBackend", { enumerable: true, get: function () { return nemo_backend_1.NemoGuardrailsBackend; } });
|
|
24
26
|
var deberta_backend_1 = require("./deberta-backend");
|
|
@@ -31,4 +33,6 @@ Object.defineProperty(exports, "tryDecodeROT13", { enumerable: true, get: functi
|
|
|
31
33
|
Object.defineProperty(exports, "ZERO_WIDTH_REGEX", { enumerable: true, get: function () { return text_normalizer_1.ZERO_WIDTH_REGEX; } });
|
|
32
34
|
Object.defineProperty(exports, "HOMOGLYPH_MAP", { enumerable: true, get: function () { return text_normalizer_1.HOMOGLYPH_MAP; } });
|
|
33
35
|
Object.defineProperty(exports, "LEETSPEAK_MAP", { enumerable: true, get: function () { return text_normalizer_1.LEETSPEAK_MAP; } });
|
|
36
|
+
var circuit_breaker_1 = require("./circuit-breaker");
|
|
37
|
+
Object.defineProperty(exports, "CircuitBreaker", { enumerable: true, get: function () { return circuit_breaker_1.CircuitBreaker; } });
|
|
34
38
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dlp/index.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAA9B,qGAAA,UAAU,OAAA;AAEnB,uCAAuE;AAAlD,2GAAA,eAAe,OAAA;AAAE,wGAAA,YAAY,OAAA;AAClD,iDAAsE;AAA7D,gHAAA,eAAe,OAAA;AACxB,2DAA2E;AAAlE,uHAAA,iBAAiB,OAAA;AAC1B,yDAA0D;AAAjD,wHAAA,mBAAmB,OAAA;AAC5B,yEAAmG;AAA1F,sIAAA,yBAAyB,OAAA;AAAE,sIAAA,yBAAyB,OAAA;AAC7D,uEAA2F;AAAlF,kIAAA,sBAAsB,OAAA;AAC/B,+DAAsE;AAA7D,oIAAA,4BAA4B,OAAA;AACrC,+CAA6E;AAApE,qHAAA,qBAAqB,OAAA;AAC9B,qDAAkE;AAAzD,iHAAA,cAAc,OAAA;AACvB,qDAAmJ;AAA1I,gHAAA,aAAa,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAAE,8GAAA,WAAW,OAAA;AAAE,iHAAA,cAAc,OAAA;AAAE,mHAAA,gBAAgB,OAAA;AAAE,gHAAA,aAAa,OAAA;AAAE,gHAAA,aAAa,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dlp/index.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAA9B,qGAAA,UAAU,OAAA;AAEnB,uCAAuE;AAAlD,2GAAA,eAAe,OAAA;AAAE,wGAAA,YAAY,OAAA;AAClD,iDAAsE;AAA7D,gHAAA,eAAe,OAAA;AACxB,2DAA2E;AAAlE,uHAAA,iBAAiB,OAAA;AAC1B,yDAA0D;AAAjD,wHAAA,mBAAmB,OAAA;AAC5B,yEAAmG;AAA1F,sIAAA,yBAAyB,OAAA;AAAE,sIAAA,yBAAyB,OAAA;AAC7D,uEAA2F;AAAlF,kIAAA,sBAAsB,OAAA;AAC/B,+DAAsE;AAA7D,oIAAA,4BAA4B,OAAA;AACrC,mFAAgF;AAAvE,8IAAA,4BAA4B,OAAA;AACrC,+CAA6E;AAApE,qHAAA,qBAAqB,OAAA;AAC9B,qDAAkE;AAAzD,iHAAA,cAAc,OAAA;AACvB,qDAAmJ;AAA1I,gHAAA,aAAa,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAAE,8GAAA,WAAW,OAAA;AAAE,iHAAA,cAAc,OAAA;AAAE,mHAAA,gBAAgB,OAAA;AAAE,gHAAA,aAAa,OAAA;AAAE,gHAAA,aAAa,OAAA;AACvH,qDAAwF;AAA/E,iHAAA,cAAc,OAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DLPDetection } from './interfaces';
|
|
2
2
|
import { DLPSeverity } from '../types/tool-result';
|
|
3
|
+
import { CircuitBreaker } from './circuit-breaker';
|
|
3
4
|
export interface LlmClassifierConfig {
|
|
4
5
|
enabled: boolean;
|
|
5
6
|
model?: string;
|
|
@@ -24,12 +25,18 @@ export declare class LlmPromptInjectionClassifier {
|
|
|
24
25
|
private apiKey;
|
|
25
26
|
private model;
|
|
26
27
|
private confidenceThreshold;
|
|
27
|
-
private
|
|
28
|
+
private provider;
|
|
29
|
+
private bedrockClient;
|
|
30
|
+
readonly circuitBreaker: CircuitBreaker;
|
|
28
31
|
constructor(config: LlmClassifierConfig);
|
|
32
|
+
private detectProvider;
|
|
29
33
|
classify(text: string, context?: {
|
|
30
34
|
tool_name?: string;
|
|
31
35
|
field_path?: string;
|
|
32
36
|
}): Promise<ClassifyResult>;
|
|
37
|
+
private callBedrock;
|
|
38
|
+
private callOpenAI;
|
|
39
|
+
private callAnthropic;
|
|
33
40
|
/**
|
|
34
41
|
* Convert LLM classifications to DLPDetection format for merging into the DLP report.
|
|
35
42
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-classifier.d.ts","sourceRoot":"","sources":["../../../src/dlp/llm-classifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,iBAAiB,EAAE,CAAC;IACrC,qFAAqF;IACrF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"llm-classifier.d.ts","sourceRoot":"","sources":["../../../src/dlp/llm-classifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,iBAAiB,EAAE,CAAC;IACrC,qFAAqF;IACrF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAiDD,qBAAa,4BAA4B;IACvC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,aAAa,CAAqC;IAC1D,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;gBAE5B,MAAM,EAAE,mBAAmB;IAavC,OAAO,CAAC,cAAc;IAahB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;YAkE9F,WAAW;YA8BX,UAAU;YAqCV,aAAa;IAqC3B;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,eAAe,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE;CAS3F"}
|