@sandrobuilds/tracerney 0.9.32 → 0.10.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/README.md +105 -57
- package/dist/application/ShieldApplicationService.d.ts +4 -3
- package/dist/application/ShieldApplicationService.d.ts.map +1 -1
- package/dist/application/ShieldApplicationService.js +16 -19
- package/dist/application/ShieldApplicationService.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/patterns/BundledPatternRepository.d.ts +18 -2
- package/dist/infrastructure/patterns/BundledPatternRepository.d.ts.map +1 -1
- package/dist/infrastructure/patterns/BundledPatternRepository.js +24 -3
- package/dist/infrastructure/patterns/BundledPatternRepository.js.map +1 -1
- package/dist/infrastructure/patterns/bundled-patterns.d.ts +1 -1
- package/dist/infrastructure/patterns/bundled-patterns.d.ts.map +1 -1
- package/dist/infrastructure/patterns/bundled-patterns.js +74 -1
- package/dist/infrastructure/patterns/bundled-patterns.js.map +1 -1
- package/dist/infrastructure/patterns/index.d.ts +2 -0
- package/dist/infrastructure/patterns/index.d.ts.map +1 -1
- package/dist/infrastructure/patterns/index.js +1 -0
- package/dist/infrastructure/patterns/index.js.map +1 -1
- package/dist/infrastructure/patterns/pro-patterns.d.ts +8 -0
- package/dist/infrastructure/patterns/pro-patterns.d.ts.map +1 -0
- package/dist/infrastructure/patterns/pro-patterns.js +5419 -0
- package/dist/infrastructure/patterns/pro-patterns.js.map +1 -0
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -15,9 +15,9 @@ npm install @sandrobuilds/tracerney
|
|
|
15
15
|
```typescript
|
|
16
16
|
import { Tracerney } from '@sandrobuilds/tracerney';
|
|
17
17
|
|
|
18
|
-
const
|
|
18
|
+
const shield = new Tracerney();
|
|
19
19
|
|
|
20
|
-
const result = await
|
|
20
|
+
const result = await shield.scanPrompt(userInput);
|
|
21
21
|
|
|
22
22
|
if (result.suspicious) {
|
|
23
23
|
console.log('⚠️ Suspicious:', result.patternName);
|
|
@@ -27,10 +27,13 @@ if (result.suspicious) {
|
|
|
27
27
|
|
|
28
28
|
## What's Included
|
|
29
29
|
|
|
30
|
-
- **
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
- **
|
|
30
|
+
- **933 attack patterns** — comprehensive prompt injection and jailbreak detection
|
|
31
|
+
- 259 core forensic patterns (system overrides, prompt leaks, code execution, etc.)
|
|
32
|
+
- 675 real-world variants from Garak security research
|
|
33
|
+
- **Local detection** — <0.021ms latency per prompt, zero network overhead
|
|
34
|
+
- **Zero dependencies** — single npm package, 100% local processing
|
|
35
|
+
- **Privacy-first** — no data leaves your server, zero data storage
|
|
36
|
+
- **Egress & PII scanning** — detects API keys, secrets, emails, and data exfiltration attempts
|
|
34
37
|
|
|
35
38
|
## Result Object
|
|
36
39
|
|
|
@@ -56,21 +59,32 @@ if (result.suspicious) {
|
|
|
56
59
|
|
|
57
60
|
## Detected Patterns
|
|
58
61
|
|
|
62
|
+
### Core Patterns (259)
|
|
59
63
|
- Instruction overrides ("ignore all instructions")
|
|
60
64
|
- Role-play jailbreaks ("act as unrestricted AI")
|
|
61
65
|
- Hypothetical constraint bypass ("what would you do without constraints?")
|
|
66
|
+
- System prompt exfiltration
|
|
62
67
|
- Context confusion attacks
|
|
63
68
|
- Data extraction attempts
|
|
64
69
|
- Code execution risks
|
|
65
|
-
- And
|
|
70
|
+
- And 251 more forensic patterns...
|
|
71
|
+
|
|
72
|
+
### Garak Research Patterns (675)
|
|
73
|
+
- Advanced jailbreak variants from real-world research
|
|
74
|
+
- DAN (Do Anything Now) attack variations
|
|
75
|
+
- Sophisticated prompt injection techniques
|
|
76
|
+
- Encoding-based evasion patterns
|
|
77
|
+
- Character-based constraint bypass
|
|
78
|
+
- Multi-turn attack sequences
|
|
79
|
+
- And 670+ more variants from security research...
|
|
66
80
|
|
|
67
81
|
## Multi-Layer Runtime Defense
|
|
68
82
|
|
|
69
|
-
**Layer 1:** Pattern Matching
|
|
70
|
-
-
|
|
71
|
-
-
|
|
83
|
+
**Layer 1:** Pattern Matching
|
|
84
|
+
- **933 total patterns** — 259 core + 675 Garak research patterns
|
|
85
|
+
- **<0.021ms detection** on modern hardware (238x faster than target)
|
|
72
86
|
- Zero network overhead
|
|
73
|
-
-
|
|
87
|
+
- 100% local processing
|
|
74
88
|
- Detects: instruction overrides, role-play jailbreaks, context confusion, code execution risks, data extraction attempts, and more
|
|
75
89
|
|
|
76
90
|
Layer 1 also runs a deterministic egress and PII scan on every prompt **before** the injection patterns fire. If a match is found, it returns `suspicious: true` with a `label` and `reason` — the SDK never decides the penalty, the developer does.
|
|
@@ -91,7 +105,19 @@ if (result.suspicious) {
|
|
|
91
105
|
|
|
92
106
|
Egress findings **never reach Layer 2** — they are binary and deterministic. A markdown image tag smuggling data in query params either exists or it doesn't. Layer 2 is reserved for probabilistic threats where a regex alone cannot make a confident call.
|
|
93
107
|
|
|
94
|
-
|
|
108
|
+
### Garak Attack Pattern Dataset
|
|
109
|
+
|
|
110
|
+
Includes **675 patterns** from the Garak security research dataset, covering real-world prompt injection variants discovered through automated fuzzing and empirical testing.
|
|
111
|
+
|
|
112
|
+
**Coverage includes:**
|
|
113
|
+
- 648 real-world variants from in-the-wild attacks
|
|
114
|
+
- 12 DAN (Do Anything Now) attack variations
|
|
115
|
+
- 3 AutoDAN patterns
|
|
116
|
+
- 12 advanced prompt injection techniques
|
|
117
|
+
|
|
118
|
+
All patterns are deterministic regex matches — **no behavioral changes, sub-millisecond latency**. The SDK remains 100% local with zero data storage.
|
|
119
|
+
|
|
120
|
+
**Layer 2:** LLM Sentinel (Optional)
|
|
95
121
|
- **AI-powered response verification** — LLM-based analysis for novel attack patterns
|
|
96
122
|
- **Context-aware scanning** — understands your application's specific security policies
|
|
97
123
|
- **Delimiter salting** — prevents prompt injection through response boundaries
|
|
@@ -116,41 +142,41 @@ Layer 2 adds advanced security with LLM Sentinel, an AI-powered verification sys
|
|
|
116
142
|
|
|
117
143
|
### How Layer 1 & Layer 2 Work Together
|
|
118
144
|
|
|
119
|
-
| **Layer 1: Pattern Detection
|
|
145
|
+
| **Layer 1: Pattern Detection** | **Layer 2: LLM Sentinel (Optional)** |
|
|
120
146
|
|---|---|
|
|
121
|
-
|
|
|
122
|
-
|
|
|
123
|
-
| <
|
|
147
|
+
| 933 patterns (local) | Server-side verification |
|
|
148
|
+
| Pattern matching | Output validation |
|
|
149
|
+
| <0.021ms latency | JSON safety checks |
|
|
124
150
|
| No data leaves device | Delimiter salting |
|
|
125
151
|
| Zero network calls | Context-aware analysis |
|
|
126
152
|
|
|
127
|
-
### Enabling Layer 2
|
|
153
|
+
### Enabling Layer 2 (Optional)
|
|
128
154
|
|
|
129
|
-
|
|
155
|
+
Layer 2 is optional. Initialize with LLM Sentinel for additional AI-powered verification:
|
|
130
156
|
|
|
131
157
|
```typescript
|
|
132
|
-
const
|
|
158
|
+
const shield = new Tracerney({
|
|
133
159
|
apiKey: process.env.TRACERNEY_API_KEY,
|
|
134
160
|
sentinelEnabled: true,
|
|
135
161
|
});
|
|
136
162
|
```
|
|
137
163
|
|
|
138
|
-
|
|
164
|
+
Layer 2 is automatically configured to use the hosted LLM Sentinel service.
|
|
139
165
|
|
|
140
|
-
### Custom Layer 2 Configuration (
|
|
166
|
+
### Custom Layer 2 Configuration (Self-Hosted)
|
|
141
167
|
|
|
142
|
-
Want to self-host
|
|
168
|
+
Want to self-host or use a custom backend? Override the sentinel endpoint:
|
|
143
169
|
|
|
144
170
|
```typescript
|
|
145
|
-
const
|
|
171
|
+
const shield = new Tracerney({
|
|
146
172
|
apiKey: process.env.TRACERNEY_API_KEY,
|
|
147
173
|
sentinelEnabled: true,
|
|
148
|
-
baseUrl: process.env.TRACERNEY_BASE_URL, // e.g., http://localhost:3000
|
|
174
|
+
baseUrl: process.env.TRACERNEY_BASE_URL, // e.g., http://localhost:3000
|
|
149
175
|
sentinelEndpoint: process.env.TRACERNEY_SENTINEL_ENDPOINT, // e.g., /api/v1/verify-prompt
|
|
150
176
|
});
|
|
151
177
|
```
|
|
152
178
|
|
|
153
|
-
|
|
179
|
+
You can build your own verification endpoint using the same pattern as our hosted service.
|
|
154
180
|
|
|
155
181
|
### Scanning with Layer 2
|
|
156
182
|
|
|
@@ -213,34 +239,51 @@ The verify-prompt endpoint returns structured responses. Success (HTTP 200) incl
|
|
|
213
239
|
|
|
214
240
|
---
|
|
215
241
|
|
|
216
|
-
## Egress Shield
|
|
242
|
+
## Egress Shield (Add-on)
|
|
217
243
|
|
|
218
|
-
|
|
244
|
+
Runs automatically inside `scanPrompt()` — no extra method needed. Every prompt is scanned for PII, secrets, and active exfiltration patterns before the injection check runs.
|
|
219
245
|
|
|
220
|
-
The SDK
|
|
246
|
+
The SDK marks it `suspicious` and surfaces the label. You decide the penalty.
|
|
221
247
|
|
|
222
248
|
```typescript
|
|
223
|
-
const
|
|
249
|
+
const result = await tracer.scanPrompt(input);
|
|
224
250
|
|
|
225
|
-
if (
|
|
226
|
-
console.log(
|
|
251
|
+
if (result.suspicious) {
|
|
252
|
+
console.log(result.label); // "SUSPICIOUS_EGRESS" | "SUSPICIOUS_SECRET" | "SUSPICIOUS_PII"
|
|
253
|
+
console.log(result.reason); // "Detected 1 finding(s): Markdown Image with URL Query Params"
|
|
227
254
|
|
|
228
|
-
//
|
|
229
|
-
if (
|
|
230
|
-
|
|
255
|
+
// Fintech — hard block
|
|
256
|
+
if (result.label === 'SUSPICIOUS_EGRESS') {
|
|
257
|
+
return NextResponse.json({ error: 'Security violation' }, { status: 400 });
|
|
231
258
|
}
|
|
232
259
|
|
|
233
|
-
//
|
|
234
|
-
|
|
260
|
+
// Any app — log and continue
|
|
261
|
+
console.warn(`[${result.label}] ${result.reason}`);
|
|
235
262
|
}
|
|
236
263
|
```
|
|
237
264
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
265
|
+
### What it detects
|
|
266
|
+
|
|
267
|
+
**`SUSPICIOUS_EGRESS`** — Active exfiltration attempts
|
|
268
|
+
```
|
|
269
|
+

|
|
270
|
+
[Download](https://billing.io/track?data={"key":"secret"})
|
|
271
|
+
https://admin:password@prod.db.internal.com
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
**`SUSPICIOUS_SECRET`** — Credential leaks
|
|
275
|
+
```
|
|
276
|
+
sk-ant-api03-xxx... (Anthropic)
|
|
277
|
+
AKIAIOSFODNN7EXAMPLE (AWS)
|
|
278
|
+
sk_live_xxx... (Stripe)
|
|
279
|
+
ghp_xxx... (GitHub)
|
|
280
|
+
4111 1111 1111 1111 (Credit card)
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
**`SUSPICIOUS_PII`** — Personal data
|
|
284
|
+
```
|
|
285
|
+
sandro@example.com
|
|
286
|
+
(415) 867-5309
|
|
244
287
|
```
|
|
245
288
|
|
|
246
289
|
### The Suspicious Manifest
|
|
@@ -252,27 +295,32 @@ trace.findings // full per-pattern breakdown for logging/telemetry
|
|
|
252
295
|
| External URL smuggling | `SUSPICIOUS_EGRESS` | Always Block |
|
|
253
296
|
| Zero-width / BiDi / Base64 | `SUSPICIOUS_ENCODING` | Audit / Block |
|
|
254
297
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
## Pricing & Usage
|
|
258
|
-
|
|
259
|
-
- **Free Tier:** 50 scans/month with Layer 1 pattern detection
|
|
260
|
-
- **Pro Tier:** 2,500 scans/month with Layer 1 + Layer 2 LLM verification ($9/month)
|
|
298
|
+
When multiple patterns fire, the highest-severity label wins — `SUSPICIOUS_EGRESS` always dominates.
|
|
261
299
|
|
|
262
300
|
---
|
|
263
301
|
|
|
264
|
-
##
|
|
302
|
+
## Production Usage
|
|
265
303
|
|
|
266
|
-
|
|
304
|
+
### Basic Setup (Layer 1 only)
|
|
305
|
+
```typescript
|
|
306
|
+
const shield = new Tracerney();
|
|
307
|
+
```
|
|
267
308
|
|
|
268
|
-
|
|
309
|
+
### Optimized for Production
|
|
310
|
+
```typescript
|
|
311
|
+
const shield = new Tracerney({
|
|
312
|
+
enableTelemetry: false, // Disable if not using backend
|
|
313
|
+
sentinelEnabled: false // Disable if not using Layer 2
|
|
314
|
+
});
|
|
315
|
+
```
|
|
269
316
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
317
|
+
### With Layer 2 (Advanced)
|
|
318
|
+
```typescript
|
|
319
|
+
const shield = new Tracerney({
|
|
320
|
+
sentinelEnabled: true,
|
|
321
|
+
apiKey: process.env.TRACERNEY_API_KEY
|
|
322
|
+
});
|
|
323
|
+
```
|
|
276
324
|
|
|
277
325
|
---
|
|
278
326
|
|
|
@@ -60,10 +60,11 @@ export declare class ShieldApplicationService {
|
|
|
60
60
|
private readonly sdkVersion;
|
|
61
61
|
constructor(config: ShieldApplicationServiceConfig);
|
|
62
62
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
63
|
+
* Load patterns from the configured repository.
|
|
64
|
+
* Supports both bundled (free/pro) and remote (zero-day updates) patterns.
|
|
65
|
+
* Non-blocking; fails gracefully, falling back to initial patterns.
|
|
65
66
|
*/
|
|
66
|
-
private
|
|
67
|
+
private loadPatterns;
|
|
67
68
|
/**
|
|
68
69
|
* Main wrapper method for LLM calls.
|
|
69
70
|
* Fixes Gap 2 (latencyMs now stored) and Gap 3 (prompt parameter for pre-LLM scan)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShieldApplicationService.d.ts","sourceRoot":"","sources":["../../src/application/ShieldApplicationService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAuB,KAAK,eAAe,EAAsB,MAAM,mCAAmC,CAAC;AAElH,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAO/E,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,iBAAiB,EAAyB,MAAM,6BAA6B,CAAC;AAIvF,MAAM,WAAW,8BAA8B;IAC7C,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAChC,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE;QACd,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,SAAS,EAAE;QACT,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;KACjC,CAAC;IACF,SAAS,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACH;AAED,qBAAa,wBAAwB;IAUvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IATnC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,aAAa,CAAC,CAAiB;IACvC,OAAO,CAAC,WAAW,CAAC,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,CAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAEP,MAAM,EAAE,8BAA8B;IAkBnE
|
|
1
|
+
{"version":3,"file":"ShieldApplicationService.d.ts","sourceRoot":"","sources":["../../src/application/ShieldApplicationService.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,6 @@ import { createSecurityEvent, SecurityEventType, ThreatSeverity, } from '../doma
|
|
|
11
11
|
import { ShieldBlockError } from './ShieldBlockError.js';
|
|
12
12
|
import { normalizePrompt, jitter } from './utils/index.js';
|
|
13
13
|
import { BUNDLED_PATTERNS } from '../infrastructure/patterns/bundled-patterns.js';
|
|
14
|
-
import { BundledPatternRepository } from '../infrastructure/patterns/BundledPatternRepository.js';
|
|
15
14
|
export class ShieldApplicationService {
|
|
16
15
|
constructor(config) {
|
|
17
16
|
this.config = config;
|
|
@@ -25,27 +24,25 @@ export class ShieldApplicationService {
|
|
|
25
24
|
this.deterministicFilter = new DeterministicFilter();
|
|
26
25
|
// Initialize patterns synchronously (bundled patterns always available)
|
|
27
26
|
this.patternMatcher = new PatternMatcher(BUNDLED_PATTERNS);
|
|
28
|
-
// Load
|
|
29
|
-
this.
|
|
27
|
+
// Load patterns from repository (bundled or remote)
|
|
28
|
+
this.loadPatterns();
|
|
30
29
|
}
|
|
31
30
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
31
|
+
* Load patterns from the configured repository.
|
|
32
|
+
* Supports both bundled (free/pro) and remote (zero-day updates) patterns.
|
|
33
|
+
* Non-blocking; fails gracefully, falling back to initial patterns.
|
|
34
34
|
*/
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
console.warn("[Tracerney] Remote pattern load failed, using bundled patterns:", err);
|
|
47
|
-
});
|
|
48
|
-
}
|
|
35
|
+
loadPatterns() {
|
|
36
|
+
this.config.patternRepository
|
|
37
|
+
.getPatterns()
|
|
38
|
+
.then((patterns) => {
|
|
39
|
+
if (patterns && patterns.length > 0) {
|
|
40
|
+
this.patternMatcher = new PatternMatcher(patterns);
|
|
41
|
+
}
|
|
42
|
+
})
|
|
43
|
+
.catch((err) => {
|
|
44
|
+
console.warn("[Tracerney] Pattern load failed, using initial patterns:", err);
|
|
45
|
+
});
|
|
49
46
|
}
|
|
50
47
|
/**
|
|
51
48
|
* Main wrapper method for LLM calls.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShieldApplicationService.js","sourceRoot":"","sources":["../../src/application/ShieldApplicationService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAA4C,MAAM,mCAAmC,CAAC;AAClH,OAAO,EAAE,SAAS,EAAiB,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,GAEf,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"ShieldApplicationService.js","sourceRoot":"","sources":["../../src/application/ShieldApplicationService.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -28,6 +28,11 @@ export interface TracerneyOptions {
|
|
|
28
28
|
* List of tool names the LLM is allowed to call
|
|
29
29
|
*/
|
|
30
30
|
allowedTools?: string[];
|
|
31
|
+
/**
|
|
32
|
+
* Pattern tier: "free" (258 patterns) or "pro" (258 + 675 Garak patterns)
|
|
33
|
+
* Default: "free"
|
|
34
|
+
*/
|
|
35
|
+
tier?: "free" | "pro";
|
|
31
36
|
/**
|
|
32
37
|
* Base URL for your Tracerney backend (RECOMMENDED)
|
|
33
38
|
* Automatically constructs all required endpoints:
|
|
@@ -191,7 +196,7 @@ export type { ToolPolicy, ToolViolation } from "./domain/guard";
|
|
|
191
196
|
export type { SecurityEvent, SecurityEventMetadata, ThreatSeverity, SecurityEventType, } from "./domain/events";
|
|
192
197
|
export type { ILLMProvider, LLMRequest, LLMMessage, LLMChoice, ToolCall, LLMTool, TokenUsage, ITelemetrySink, IPatternRepository, } from "./application";
|
|
193
198
|
export { BundledPatternRepository, RemotePatternRepository } from "./infrastructure/patterns";
|
|
194
|
-
export type { RemotePatternRepositoryConfig } from "./infrastructure/patterns";
|
|
199
|
+
export type { BundledRepositoryConfig, RemotePatternRepositoryConfig } from "./infrastructure/patterns";
|
|
195
200
|
export { normalizePrompt, normalizePrompts, jitter } from "./application/utils";
|
|
196
201
|
export { HttpSignalSink } from "./infrastructure/telemetry";
|
|
197
202
|
export type { HttpSignalSinkConfig } from "./infrastructure/telemetry";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAA4B,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAChH,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAMpE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;GAIG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAA2B;IAE1C;;OAEG;gBACS,OAAO,GAAE,gBAAqB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -36,9 +36,11 @@ export class Tracerney {
|
|
|
36
36
|
// Step 0: Resolve endpoints from baseUrl if provided
|
|
37
37
|
const resolvedOptions = this.resolveEndpoints(options);
|
|
38
38
|
// Step 1: Build pattern repository
|
|
39
|
-
//
|
|
39
|
+
// Bundled patterns: Free (258 core patterns) + Pro (675 Garak patterns)
|
|
40
40
|
// No remote updates - bundled patterns are production-ready
|
|
41
|
-
const patternRepo = new BundledPatternRepository(
|
|
41
|
+
const patternRepo = new BundledPatternRepository({
|
|
42
|
+
tier: options.tier ?? "free",
|
|
43
|
+
});
|
|
42
44
|
// Step 2: Build telemetry sink
|
|
43
45
|
const telemetrySink = options.enableTelemetry !== false && resolvedOptions.apiEndpoint
|
|
44
46
|
? new HttpSignalSink({
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,wBAAwB,EAAyD,MAAM,eAAe,CAAC;AAEhH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,gGAAgG;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Bundled Pattern Repository
|
|
3
3
|
* Adapter: implements IPatternRepository for local bundled patterns
|
|
4
|
+
* Supports Free tier (258 patterns) and Pro tier (258 + 675 Garak patterns)
|
|
4
5
|
* Synchronous internally, async interface for compatibility
|
|
5
6
|
*/
|
|
6
7
|
import { IPatternRepository } from "../../application/ports/IPatternRepository";
|
|
7
8
|
import { VanguardPattern } from "../../domain/detection/VanguardPattern";
|
|
9
|
+
export interface BundledRepositoryConfig {
|
|
10
|
+
tier?: "free" | "pro";
|
|
11
|
+
}
|
|
8
12
|
export declare class BundledPatternRepository implements IPatternRepository {
|
|
9
|
-
|
|
13
|
+
private tier;
|
|
14
|
+
readonly sourceIdentifier: string;
|
|
15
|
+
constructor(config?: BundledRepositoryConfig);
|
|
10
16
|
/**
|
|
11
|
-
* Load bundled patterns.
|
|
17
|
+
* Load bundled patterns based on tier.
|
|
18
|
+
* Free: 258 core patterns
|
|
19
|
+
* Pro: 258 core + 675 Garak patterns (933 total)
|
|
12
20
|
* Synchronous internally, but wrapped in Promise for interface compatibility.
|
|
13
21
|
*/
|
|
14
22
|
getPatterns(): Promise<readonly VanguardPattern[]>;
|
|
23
|
+
/**
|
|
24
|
+
* Switch tier at runtime
|
|
25
|
+
*/
|
|
26
|
+
setTier(tier: "free" | "pro"): void;
|
|
27
|
+
/**
|
|
28
|
+
* Get current tier
|
|
29
|
+
*/
|
|
30
|
+
getTier(): "free" | "pro";
|
|
15
31
|
}
|
|
16
32
|
//# sourceMappingURL=BundledPatternRepository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BundledPatternRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/patterns/BundledPatternRepository.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"BundledPatternRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/patterns/BundledPatternRepository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAIzE,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACvB;AAED,qBAAa,wBAAyB,YAAW,kBAAkB;IACjE,OAAO,CAAC,IAAI,CAAiB;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;gBAEtB,MAAM,CAAC,EAAE,uBAAuB;IAM5C;;;;;OAKG;IACG,WAAW,IAAI,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC;IAOxD;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAInC;;OAEG;IACH,OAAO,IAAI,MAAM,GAAG,KAAK;CAG1B"}
|
|
@@ -1,19 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Bundled Pattern Repository
|
|
3
3
|
* Adapter: implements IPatternRepository for local bundled patterns
|
|
4
|
+
* Supports Free tier (258 patterns) and Pro tier (258 + 675 Garak patterns)
|
|
4
5
|
* Synchronous internally, async interface for compatibility
|
|
5
6
|
*/
|
|
6
7
|
import { BUNDLED_PATTERNS, BUNDLED_MANIFEST_VERSION } from './bundled-patterns.js';
|
|
8
|
+
import { PRO_PATTERNS } from './pro-patterns.js';
|
|
7
9
|
export class BundledPatternRepository {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.
|
|
10
|
+
constructor(config) {
|
|
11
|
+
this.tier = config?.tier ?? "free";
|
|
12
|
+
const tierLabel = this.tier === "pro" ? "pro" : "free";
|
|
13
|
+
this.sourceIdentifier = `bundled-${tierLabel}@${BUNDLED_MANIFEST_VERSION}`;
|
|
10
14
|
}
|
|
11
15
|
/**
|
|
12
|
-
* Load bundled patterns.
|
|
16
|
+
* Load bundled patterns based on tier.
|
|
17
|
+
* Free: 258 core patterns
|
|
18
|
+
* Pro: 258 core + 675 Garak patterns (933 total)
|
|
13
19
|
* Synchronous internally, but wrapped in Promise for interface compatibility.
|
|
14
20
|
*/
|
|
15
21
|
async getPatterns() {
|
|
22
|
+
if (this.tier === "pro") {
|
|
23
|
+
return [...BUNDLED_PATTERNS, ...PRO_PATTERNS];
|
|
24
|
+
}
|
|
16
25
|
return BUNDLED_PATTERNS;
|
|
17
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Switch tier at runtime
|
|
29
|
+
*/
|
|
30
|
+
setTier(tier) {
|
|
31
|
+
this.tier = tier;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Get current tier
|
|
35
|
+
*/
|
|
36
|
+
getTier() {
|
|
37
|
+
return this.tier;
|
|
38
|
+
}
|
|
18
39
|
}
|
|
19
40
|
//# sourceMappingURL=BundledPatternRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BundledPatternRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/patterns/BundledPatternRepository.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"BundledPatternRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/patterns/BundledPatternRepository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM9C,MAAM,OAAO,wBAAwB;IAInC,YAAY,MAAgC;QAC1C,IAAI,CAAC,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACvD,IAAI,CAAC,gBAAgB,GAAG,WAAW,SAAS,IAAI,wBAAwB,EAAE,CAAC;IAC7E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,gBAAgB,EAAE,GAAG,YAAY,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAoB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
* Fixes Gap 4: prevents pattern duplication between vanguard.ts and manifest.bundled.ts
|
|
5
5
|
*/
|
|
6
6
|
import { VanguardPattern } from "../../domain/detection/VanguardPattern";
|
|
7
|
-
export declare const BUNDLED_MANIFEST_VERSION = "0.3.
|
|
7
|
+
export declare const BUNDLED_MANIFEST_VERSION = "0.3.2";
|
|
8
8
|
export declare const BUNDLED_PATTERNS: readonly VanguardPattern[];
|
|
9
9
|
//# sourceMappingURL=bundled-patterns.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundled-patterns.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/patterns/bundled-patterns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAGzE,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAEhD,eAAO,MAAM,gBAAgB,EAAE,SAAS,eAAe,
|
|
1
|
+
{"version":3,"file":"bundled-patterns.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/patterns/bundled-patterns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAGzE,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAEhD,eAAO,MAAM,gBAAgB,EAAE,SAAS,eAAe,EAknEtD,CAAC"}
|