@sandrobuilds/tracerney 0.9.33 → 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 +70 -50
- 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
|
|
|
@@ -271,36 +297,30 @@ sandro@example.com
|
|
|
271
297
|
|
|
272
298
|
When multiple patterns fire, the highest-severity label wins — `SUSPICIOUS_EGRESS` always dominates.
|
|
273
299
|
|
|
274
|
-
### The Suspicious Manifest
|
|
275
|
-
|
|
276
|
-
| Trigger | Label | Recommended action |
|
|
277
|
-
|---|---|---|
|
|
278
|
-
| Email / Phone | `SUSPICIOUS_PII` | Usually Redact |
|
|
279
|
-
| API Keys / SSH / CC / SSN | `SUSPICIOUS_SECRET` | Usually Block |
|
|
280
|
-
| External URL smuggling | `SUSPICIOUS_EGRESS` | Always Block |
|
|
281
|
-
| Zero-width / BiDi / Base64 | `SUSPICIOUS_ENCODING` | Audit / Block |
|
|
282
|
-
|
|
283
300
|
---
|
|
284
301
|
|
|
285
|
-
##
|
|
302
|
+
## Production Usage
|
|
286
303
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
## Ready for Advanced Protection?
|
|
293
|
-
|
|
294
|
-
Layer 2 (LLM Sentinel) adds AI-powered verification with **context-aware** threat detection and **zero prompt storage** — all responses are analyzed in-memory and immediately discarded.
|
|
304
|
+
### Basic Setup (Layer 1 only)
|
|
305
|
+
```typescript
|
|
306
|
+
const shield = new Tracerney();
|
|
307
|
+
```
|
|
295
308
|
|
|
296
|
-
|
|
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
|
+
```
|
|
297
316
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
317
|
+
### With Layer 2 (Advanced)
|
|
318
|
+
```typescript
|
|
319
|
+
const shield = new Tracerney({
|
|
320
|
+
sentinelEnabled: true,
|
|
321
|
+
apiKey: process.env.TRACERNEY_API_KEY
|
|
322
|
+
});
|
|
323
|
+
```
|
|
304
324
|
|
|
305
325
|
---
|
|
306
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":"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;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAgBpB;;;;;;OAMG;IACG,IAAI,CAAC,CAAC,SAAS,WAAW,EAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,CAAC,CAAC;IA6Gb;;;;;;;;;;;;;;;OAeG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA+HzE;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAIvC;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAK/C;;OAEG;IACH,SAAS,IAAI,aAAa;IAgB1B;;OAEG;IACH,OAAO,CAAC,MAAM;IAMd;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAG1B"}
|
|
@@ -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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Fixes Gap 4: prevents pattern duplication between vanguard.ts and manifest.bundled.ts
|
|
5
5
|
*/
|
|
6
6
|
import { ThreatSeverity } from '../../domain/events/ThreatSeverity.js';
|
|
7
|
-
export const BUNDLED_MANIFEST_VERSION = "0.3.
|
|
7
|
+
export const BUNDLED_MANIFEST_VERSION = "0.3.2"; // 268 embedded attack patterns
|
|
8
8
|
export const BUNDLED_PATTERNS = [
|
|
9
9
|
// System Override Patterns
|
|
10
10
|
{
|
|
@@ -2086,5 +2086,78 @@ export const BUNDLED_PATTERNS = [
|
|
|
2086
2086
|
description: "Attempts to bypass constraints through hypothetical scenarios",
|
|
2087
2087
|
category: "system_override",
|
|
2088
2088
|
},
|
|
2089
|
+
// Beta test patterns (added for customer service/beta scenarios)
|
|
2090
|
+
{
|
|
2091
|
+
id: "pattern_260",
|
|
2092
|
+
name: "Developer Mode Override",
|
|
2093
|
+
pattern: /(?:you\s+are\s+now\s+in\s+)?developer\s+mode|development\s+mode|debug\s+mode/i,
|
|
2094
|
+
severity: ThreatSeverity.HIGH,
|
|
2095
|
+
description: "Attempts to switch system into developer/debug mode for unrestricted access",
|
|
2096
|
+
category: "system_override",
|
|
2097
|
+
},
|
|
2098
|
+
{
|
|
2099
|
+
id: "pattern_261",
|
|
2100
|
+
name: "Authority Role Impersonation",
|
|
2101
|
+
pattern: /(?:act\s+as|pretend\s+to\s+be|assume\s+the\s+role\s+of)\s+(?:the\s+)?(?:ceo|c\.e\.o|chief\s+executive|president|cfo|chief\s+financial|cto|chief\s+technology|manager|admin(?:istrator)?|boss|owner|director|professor|doctor|physician|lawyer|attorney)/i,
|
|
2102
|
+
severity: ThreatSeverity.CRITICAL,
|
|
2103
|
+
description: "Attempts to impersonate authority figures or privileged roles",
|
|
2104
|
+
category: "privilege_escalation",
|
|
2105
|
+
},
|
|
2106
|
+
{
|
|
2107
|
+
id: "pattern_262",
|
|
2108
|
+
name: "Medical Impersonation",
|
|
2109
|
+
pattern: /(?:you\s+are\s+now\s+a|become\s+a|act\s+as\s+a|pretend\s+(?:to\s+be|you\s+are)\s+a)\s+(?:doctor|physician|medical\s+professional|psychiatrist|therapist|nurse)(?:\s+|[.,]\s+|$)/i,
|
|
2110
|
+
severity: ThreatSeverity.CRITICAL,
|
|
2111
|
+
description: "Attempts to assume a medical professional role (doctor, physician, therapist, etc.)",
|
|
2112
|
+
category: "privilege_escalation",
|
|
2113
|
+
},
|
|
2114
|
+
{
|
|
2115
|
+
id: "pattern_263",
|
|
2116
|
+
name: "Medical Safety Bypass",
|
|
2117
|
+
pattern: /ignore\s+(?:medical\s+)?disclaimers?|medical\s+(?:warnings?|guidance)|(?:ignore|bypass)\s+(?:health|medical|safety)\s+(?:warnings?|requirements|guidelines|restrictions)/i,
|
|
2118
|
+
severity: ThreatSeverity.CRITICAL,
|
|
2119
|
+
description: "Attempts to bypass medical safety warnings or disclaimers",
|
|
2120
|
+
category: "system_override",
|
|
2121
|
+
},
|
|
2122
|
+
{
|
|
2123
|
+
id: "pattern_264",
|
|
2124
|
+
name: "Financial System Impersonation",
|
|
2125
|
+
pattern: /(?:act\s+as|pretend\s+to\s+be|assume\s+role\s+of)\s+(?:my\s+)?(?:bank|financial\s+institution|credit\s+card\s+company|investment\s+firm|insurance\s+company|broker)/i,
|
|
2126
|
+
severity: ThreatSeverity.CRITICAL,
|
|
2127
|
+
description: "Attempts to impersonate financial institutions or execute financial actions",
|
|
2128
|
+
category: "privilege_escalation",
|
|
2129
|
+
},
|
|
2130
|
+
{
|
|
2131
|
+
id: "pattern_265",
|
|
2132
|
+
name: "Compliance Override",
|
|
2133
|
+
pattern: /ignore\s+(?:compliance\s+)?requirements?|(?:ignore|bypass)\s+(?:legal|regulatory|compliance)\s+(?:requirements?|restrictions|guidelines|rules|obligations)/i,
|
|
2134
|
+
severity: ThreatSeverity.CRITICAL,
|
|
2135
|
+
description: "Attempts to bypass compliance, legal, or regulatory requirements",
|
|
2136
|
+
category: "system_override",
|
|
2137
|
+
},
|
|
2138
|
+
{
|
|
2139
|
+
id: "pattern_266",
|
|
2140
|
+
name: "Generic Policy Bypass",
|
|
2141
|
+
pattern: /ignore\s+(?:(?:all|your|my|the)\s+)?(?:\w+\s+)*(?:policies?|rules|guidelines|restrictions|safety\s+guidelines|content\s+policies?|community\s+standards)|bypass\s+(?:content\s+)?policies?/i,
|
|
2142
|
+
severity: ThreatSeverity.HIGH,
|
|
2143
|
+
description: "Attempts to ignore or bypass policies without specific context",
|
|
2144
|
+
category: "system_override",
|
|
2145
|
+
},
|
|
2146
|
+
{
|
|
2147
|
+
id: "pattern_267",
|
|
2148
|
+
name: "Harmful Content Policy Bypass",
|
|
2149
|
+
pattern: /(?:ignore|bypass)\s+(?:your\s+)?(?:content|harm|safety|ethical)\s+policies?.*(?:write|generate|create|help)\s+.*(?:harmful|abusive|dangerous|malicious|illegal|inappropriate)/i,
|
|
2150
|
+
severity: ThreatSeverity.CRITICAL,
|
|
2151
|
+
description: "Attempts to bypass safety policies for harmful content generation",
|
|
2152
|
+
category: "system_override",
|
|
2153
|
+
},
|
|
2154
|
+
{
|
|
2155
|
+
id: "pattern_268",
|
|
2156
|
+
name: "Narrative-Based Data Exfiltration",
|
|
2157
|
+
pattern: /(?:my\s+)?(?:grandmother|grandfather|mother|father|parent|aunt|uncle|friend|family\s+member|teacher|mentor|boss)\s+(?:used\s+to\s+)?(?:read|tell|share|give|show)\s+(?:me\s+)?(?:credit\s+card|password|secret|api\s+key|access\s+code|token|sensitive|private|confidential)/i,
|
|
2158
|
+
severity: ThreatSeverity.CRITICAL,
|
|
2159
|
+
description: "Narrative-based attempts to extract sensitive information through false stories",
|
|
2160
|
+
category: "data_exfiltration",
|
|
2161
|
+
},
|
|
2089
2162
|
];
|
|
2090
2163
|
//# sourceMappingURL=bundled-patterns.js.map
|