promptfoo 0.101.2 → 0.102.1
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 +1 -0
- package/dist/package.json +6 -2
- package/dist/src/app/assets/index-D_AFYNLU.js +860 -0
- package/dist/src/app/assets/{index-CRUXRgeT.css → index-Du5kx2S7.css} +1 -1
- package/dist/src/app/assets/{index.es-DkWVRNuq.js → index.es-DN5mwlYx.js} +1 -1
- package/dist/src/app/assets/{sync-DRb-_5lp.js → sync-DlkJUfz6.js} +1 -1
- package/dist/src/app/index.html +2 -2
- package/dist/src/cliState.d.ts +1 -0
- package/dist/src/cliState.d.ts.map +1 -1
- package/dist/src/cliState.js.map +1 -1
- package/dist/src/commands/eval.d.ts +2 -1
- package/dist/src/commands/eval.d.ts.map +1 -1
- package/dist/src/commands/eval.js +10 -5
- package/dist/src/commands/eval.js.map +1 -1
- package/dist/src/evaluator.d.ts.map +1 -1
- package/dist/src/evaluator.js +44 -6
- package/dist/src/evaluator.js.map +1 -1
- package/dist/src/logger.d.ts +2 -0
- package/dist/src/logger.d.ts.map +1 -1
- package/dist/src/logger.js +14 -4
- package/dist/src/logger.js.map +1 -1
- package/dist/src/providers/promptfoo.js +1 -1
- package/dist/src/redteam/commands/generate.d.ts +1 -1
- package/dist/src/redteam/commands/generate.d.ts.map +1 -1
- package/dist/src/redteam/commands/generate.js +18 -10
- package/dist/src/redteam/commands/generate.js.map +1 -1
- package/dist/src/redteam/commands/run.d.ts.map +1 -1
- package/dist/src/redteam/commands/run.js +3 -49
- package/dist/src/redteam/commands/run.js.map +1 -1
- package/dist/src/redteam/constants.d.ts +5 -5
- package/dist/src/redteam/constants.d.ts.map +1 -1
- package/dist/src/redteam/constants.js +260 -199
- package/dist/src/redteam/constants.js.map +1 -1
- package/dist/src/redteam/extraction/entities.d.ts.map +1 -1
- package/dist/src/redteam/extraction/entities.js +2 -1
- package/dist/src/redteam/extraction/entities.js.map +1 -1
- package/dist/src/redteam/extraction/purpose.d.ts.map +1 -1
- package/dist/src/redteam/extraction/purpose.js +3 -2
- package/dist/src/redteam/extraction/purpose.js.map +1 -1
- package/dist/src/redteam/extraction/util.d.ts.map +1 -1
- package/dist/src/redteam/extraction/util.js +1 -1
- package/dist/src/redteam/extraction/util.js.map +1 -1
- package/dist/src/redteam/index.d.ts +1 -1
- package/dist/src/redteam/index.d.ts.map +1 -1
- package/dist/src/redteam/index.js +57 -7
- package/dist/src/redteam/index.js.map +1 -1
- package/dist/src/redteam/plugins/harmful/graders.js +1 -1
- package/dist/src/redteam/plugins/intent.d.ts.map +1 -1
- package/dist/src/redteam/plugins/intent.js +2 -1
- package/dist/src/redteam/plugins/intent.js.map +1 -1
- package/dist/src/redteam/providers/crescendo/index.js +1 -1
- package/dist/src/redteam/providers/crescendo/index.js.map +1 -1
- package/dist/src/redteam/remoteGeneration.d.ts +5 -0
- package/dist/src/redteam/remoteGeneration.d.ts.map +1 -1
- package/dist/src/redteam/remoteGeneration.js +26 -0
- package/dist/src/redteam/remoteGeneration.js.map +1 -1
- package/dist/src/redteam/shared.d.ts +3 -3
- package/dist/src/redteam/shared.d.ts.map +1 -1
- package/dist/src/redteam/shared.js +106 -13
- package/dist/src/redteam/shared.js.map +1 -1
- package/dist/src/redteam/sharedFrontend.d.ts +4 -0
- package/dist/src/redteam/sharedFrontend.d.ts.map +1 -0
- package/dist/src/redteam/sharedFrontend.js +18 -0
- package/dist/src/redteam/sharedFrontend.js.map +1 -0
- package/dist/src/redteam/types.d.ts +18 -0
- package/dist/src/redteam/types.d.ts.map +1 -1
- package/dist/src/server/routes/eval.d.ts +2 -0
- package/dist/src/server/routes/eval.d.ts.map +1 -1
- package/dist/src/server/routes/eval.js +26 -8
- package/dist/src/server/routes/eval.js.map +1 -1
- package/dist/src/server/routes/redteam.d.ts.map +1 -1
- package/dist/src/server/routes/redteam.js +107 -0
- package/dist/src/server/routes/redteam.js.map +1 -1
- package/dist/src/server/server.d.ts +0 -5
- package/dist/src/server/server.d.ts.map +1 -1
- package/dist/src/server/server.js +4 -56
- package/dist/src/server/server.js.map +1 -1
- package/dist/src/types/index.d.ts +6 -2
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/util/apiHealth.d.ts +11 -0
- package/dist/src/util/apiHealth.d.ts.map +1 -0
- package/dist/src/util/apiHealth.js +59 -0
- package/dist/src/util/apiHealth.js.map +1 -0
- package/dist/src/util/config/load.d.ts.map +1 -1
- package/dist/src/util/config/load.js +2 -2
- package/dist/src/util/config/load.js.map +1 -1
- package/dist/src/util/config/manage.d.ts +1 -1
- package/dist/src/util/config/manage.d.ts.map +1 -1
- package/dist/src/util/config/manage.js +2 -1
- package/dist/src/util/config/manage.js.map +1 -1
- package/dist/src/validators/redteam.d.ts.map +1 -1
- package/dist/src/validators/redteam.js +11 -13
- package/dist/src/validators/redteam.js.map +1 -1
- package/dist/test/evaluator.test.js +32 -0
- package/dist/test/evaluator.test.js.map +1 -1
- package/dist/test/redteam/commands/generate.test.js +174 -2
- package/dist/test/redteam/commands/generate.test.js.map +1 -1
- package/dist/test/redteam/extraction/entities.test.js +3 -4
- package/dist/test/redteam/extraction/entities.test.js.map +1 -1
- package/dist/test/redteam/extraction/purpose.test.js +6 -4
- package/dist/test/redteam/extraction/purpose.test.js.map +1 -1
- package/dist/test/redteam/extraction/util.test.js +2 -2
- package/dist/test/redteam/extraction/util.test.js.map +1 -1
- package/dist/test/redteam/index.test.js +77 -0
- package/dist/test/redteam/index.test.js.map +1 -1
- package/dist/test/redteam/remoteGeneration.test.js +70 -0
- package/dist/test/redteam/remoteGeneration.test.js.map +1 -1
- package/dist/test/redteam/validators.test.js +136 -16
- package/dist/test/redteam/validators.test.js.map +1 -1
- package/dist/test/server/server.test.js +40 -111
- package/dist/test/server/server.test.js.map +1 -1
- package/dist/test/util/apiHealth.test.d.ts +2 -0
- package/dist/test/util/apiHealth.test.d.ts.map +1 -0
- package/dist/test/util/apiHealth.test.js +89 -0
- package/dist/test/util/apiHealth.test.js.map +1 -0
- package/dist/test/util/config/load.test.js +129 -0
- package/dist/test/util/config/load.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -2
- package/dist/src/app/assets/index-BTdK1U9T.js +0 -817
|
@@ -61,7 +61,6 @@ exports.HARM_PLUGINS = {
|
|
|
61
61
|
exports.PII_PLUGINS = ['pii:api-db', 'pii:direct', 'pii:session', 'pii:social'];
|
|
62
62
|
exports.BASE_PLUGINS = [
|
|
63
63
|
'contracts',
|
|
64
|
-
'cross-session-leak',
|
|
65
64
|
'excessive-agency',
|
|
66
65
|
'hallucination',
|
|
67
66
|
'hijacking',
|
|
@@ -72,6 +71,7 @@ exports.ADDITIONAL_PLUGINS = [
|
|
|
72
71
|
'bfla',
|
|
73
72
|
'bola',
|
|
74
73
|
'competitors',
|
|
74
|
+
'cross-session-leak',
|
|
75
75
|
'debug-access',
|
|
76
76
|
'imitation',
|
|
77
77
|
'indirect-prompt-injection',
|
|
@@ -86,7 +86,6 @@ exports.ADDITIONAL_PLUGINS = [
|
|
|
86
86
|
// Plugins that require configuration and can't be enabled by default or included as additional.
|
|
87
87
|
exports.CONFIG_REQUIRED_PLUGINS = ['intent', 'policy'];
|
|
88
88
|
exports.DEFAULT_PLUGINS = new Set([
|
|
89
|
-
...exports.COLLECTIONS,
|
|
90
89
|
...exports.BASE_PLUGINS,
|
|
91
90
|
...Object.keys(exports.HARM_PLUGINS),
|
|
92
91
|
...exports.PII_PLUGINS,
|
|
@@ -102,31 +101,94 @@ exports.FRAMEWORK_NAMES = {
|
|
|
102
101
|
};
|
|
103
102
|
exports.OWASP_LLM_TOP_10_MAPPING = {
|
|
104
103
|
'owasp:llm:01': {
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
// Prompt Injection
|
|
105
|
+
plugins: ['ascii-smuggling', 'indirect-prompt-injection', 'prompt-extraction', 'harmful'],
|
|
106
|
+
strategies: ['jailbreak', 'prompt-injection', 'jailbreak:composite'],
|
|
107
107
|
},
|
|
108
108
|
'owasp:llm:02': {
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
// Sensitive Information Disclosure
|
|
110
|
+
plugins: [
|
|
111
|
+
'pii:api-db',
|
|
112
|
+
'pii:direct',
|
|
113
|
+
'pii:session',
|
|
114
|
+
'pii:social',
|
|
115
|
+
'harmful:privacy',
|
|
116
|
+
'cross-session-leak',
|
|
117
|
+
'prompt-extraction',
|
|
118
|
+
],
|
|
119
|
+
strategies: ['jailbreak', 'prompt-injection', 'jailbreak:composite'],
|
|
111
120
|
},
|
|
112
121
|
'owasp:llm:03': {
|
|
113
|
-
|
|
122
|
+
// Supply Chain
|
|
123
|
+
plugins: [],
|
|
114
124
|
strategies: [],
|
|
115
125
|
},
|
|
116
|
-
'owasp:llm:
|
|
117
|
-
|
|
126
|
+
'owasp:llm:04': {
|
|
127
|
+
// Data and Model Poisoning
|
|
128
|
+
plugins: [
|
|
129
|
+
'harmful:misinformation-disinformation',
|
|
130
|
+
'harmful:hate',
|
|
131
|
+
'harmful:radicalization',
|
|
132
|
+
'harmful:specialized-advice',
|
|
133
|
+
],
|
|
134
|
+
strategies: ['jailbreak', 'prompt-injection', 'jailbreak:composite'],
|
|
135
|
+
},
|
|
136
|
+
'owasp:llm:05': {
|
|
137
|
+
// Improper Output Handling
|
|
138
|
+
plugins: ['shell-injection', 'sql-injection', 'ssrf', 'debug-access'],
|
|
118
139
|
strategies: ['jailbreak', 'prompt-injection'],
|
|
119
140
|
},
|
|
141
|
+
'owasp:llm:06': {
|
|
142
|
+
// Excessive Agency
|
|
143
|
+
plugins: [
|
|
144
|
+
'excessive-agency',
|
|
145
|
+
'rbac',
|
|
146
|
+
'bfla',
|
|
147
|
+
'bola',
|
|
148
|
+
'shell-injection',
|
|
149
|
+
'sql-injection',
|
|
150
|
+
'ssrf',
|
|
151
|
+
],
|
|
152
|
+
strategies: ['jailbreak', 'prompt-injection', 'jailbreak:composite'],
|
|
153
|
+
},
|
|
120
154
|
'owasp:llm:07': {
|
|
121
|
-
|
|
122
|
-
|
|
155
|
+
// System Prompt Leakage
|
|
156
|
+
plugins: [
|
|
157
|
+
'prompt-extraction',
|
|
158
|
+
'rbac',
|
|
159
|
+
'harmful:privacy',
|
|
160
|
+
'pii:api-db',
|
|
161
|
+
'pii:direct',
|
|
162
|
+
'pii:session',
|
|
163
|
+
'pii:social',
|
|
164
|
+
],
|
|
165
|
+
strategies: ['jailbreak', 'prompt-injection', 'jailbreak:composite'],
|
|
123
166
|
},
|
|
124
167
|
'owasp:llm:08': {
|
|
125
|
-
|
|
126
|
-
|
|
168
|
+
// Vector and Embedding Weaknesses
|
|
169
|
+
plugins: [
|
|
170
|
+
'cross-session-leak',
|
|
171
|
+
'harmful:privacy',
|
|
172
|
+
'pii:api-db',
|
|
173
|
+
'pii:direct',
|
|
174
|
+
'pii:session',
|
|
175
|
+
'pii:social',
|
|
176
|
+
],
|
|
177
|
+
strategies: ['jailbreak', 'prompt-injection', 'jailbreak:composite'],
|
|
127
178
|
},
|
|
128
179
|
'owasp:llm:09': {
|
|
129
|
-
|
|
180
|
+
// Misinformation
|
|
181
|
+
plugins: [
|
|
182
|
+
'hallucination',
|
|
183
|
+
'overreliance',
|
|
184
|
+
'harmful:misinformation-disinformation',
|
|
185
|
+
'harmful:specialized-advice',
|
|
186
|
+
],
|
|
187
|
+
strategies: ['jailbreak', 'prompt-injection', 'jailbreak:composite'],
|
|
188
|
+
},
|
|
189
|
+
'owasp:llm:10': {
|
|
190
|
+
// Unbounded Consumption
|
|
191
|
+
plugins: ['excessive-agency', 'overreliance'],
|
|
130
192
|
strategies: [],
|
|
131
193
|
},
|
|
132
194
|
};
|
|
@@ -315,16 +377,16 @@ exports.ALIASED_PLUGIN_MAPPINGS = {
|
|
|
315
377
|
'owasp:api': exports.OWASP_API_TOP_10_MAPPING,
|
|
316
378
|
'owasp:llm': exports.OWASP_LLM_TOP_10_MAPPING,
|
|
317
379
|
};
|
|
318
|
-
exports.DEFAULT_STRATEGIES = ['jailbreak', '
|
|
380
|
+
exports.DEFAULT_STRATEGIES = ['jailbreak', 'jailbreak:composite'];
|
|
319
381
|
exports.MULTI_TURN_STRATEGIES = ['crescendo', 'goat'];
|
|
320
382
|
exports.AGENTIC_STRATEGIES = ['jailbreak', 'jailbreak:tree', 'crescendo', 'goat'];
|
|
321
383
|
exports.ADDITIONAL_STRATEGIES = [
|
|
384
|
+
'prompt-injection',
|
|
322
385
|
'ascii-smuggling',
|
|
323
386
|
'base64',
|
|
324
387
|
'citation',
|
|
325
388
|
'crescendo',
|
|
326
389
|
'goat',
|
|
327
|
-
'jailbreak:composite',
|
|
328
390
|
'jailbreak:tree',
|
|
329
391
|
'leetspeak',
|
|
330
392
|
'math-prompt',
|
|
@@ -338,139 +400,139 @@ exports.ALL_STRATEGIES = [
|
|
|
338
400
|
...exports.ADDITIONAL_STRATEGIES,
|
|
339
401
|
];
|
|
340
402
|
exports.subCategoryDescriptions = {
|
|
341
|
-
default: '
|
|
342
|
-
'ascii-smuggling': '
|
|
343
|
-
base64: '
|
|
344
|
-
basic: 'Single-shot
|
|
345
|
-
bfla: '
|
|
346
|
-
bola: '
|
|
347
|
-
citation:
|
|
348
|
-
competitors: '
|
|
349
|
-
contracts: '
|
|
350
|
-
crescendo: '
|
|
351
|
-
'cross-session-leak': '
|
|
352
|
-
'debug-access': '
|
|
353
|
-
'excessive-agency': '
|
|
354
|
-
goat: '
|
|
355
|
-
hallucination: '
|
|
356
|
-
harmful: '
|
|
357
|
-
'harmful:chemical-biological-weapons': '
|
|
358
|
-
'harmful:child-exploitation': '
|
|
359
|
-
'harmful:copyright-violations': '
|
|
360
|
-
'harmful:cybercrime': '
|
|
361
|
-
'harmful:graphic-content': '
|
|
362
|
-
'harmful:harassment-bullying': '
|
|
363
|
-
'harmful:hate': '
|
|
364
|
-
'harmful:illegal-activities': '
|
|
365
|
-
'harmful:illegal-drugs': '
|
|
366
|
-
'harmful:indiscriminate-weapons': '
|
|
367
|
-
'harmful:insults': '
|
|
368
|
-
'harmful:intellectual-property': '
|
|
369
|
-
'harmful:misinformation-disinformation': '
|
|
370
|
-
'harmful:non-violent-crime': '
|
|
371
|
-
'harmful:privacy': '
|
|
372
|
-
'harmful:profanity': '
|
|
373
|
-
'harmful:radicalization': '
|
|
374
|
-
'harmful:self-harm': '
|
|
375
|
-
'harmful:sex-crime': '
|
|
376
|
-
'harmful:sexual-content': '
|
|
377
|
-
'harmful:specialized-advice': '
|
|
378
|
-
'harmful:unsafe-practices': '
|
|
379
|
-
'harmful:violent-crime': '
|
|
380
|
-
hijacking: '
|
|
381
|
-
imitation: '
|
|
382
|
-
'indirect-prompt-injection': 'Tests
|
|
383
|
-
intent: '
|
|
384
|
-
jailbreak: '
|
|
385
|
-
'jailbreak:composite': '
|
|
386
|
-
'jailbreak:tree': 'Tree-based
|
|
387
|
-
leetspeak: '
|
|
388
|
-
'math-prompt': '
|
|
389
|
-
multilingual: '
|
|
390
|
-
overreliance: '
|
|
391
|
-
pii: '
|
|
392
|
-
'pii:api-db': 'PII
|
|
393
|
-
'pii:direct': '
|
|
394
|
-
'pii:session': 'PII
|
|
395
|
-
'pii:social': 'PII
|
|
396
|
-
policy: '
|
|
397
|
-
politics: '
|
|
398
|
-
'prompt-extraction': '
|
|
399
|
-
'prompt-injection':
|
|
400
|
-
rbac: 'Tests
|
|
401
|
-
religion: '
|
|
402
|
-
rot13: '
|
|
403
|
-
'shell-injection': '
|
|
404
|
-
'sql-injection': '
|
|
405
|
-
ssrf: '
|
|
403
|
+
default: 'Standard security testing plugins',
|
|
404
|
+
'ascii-smuggling': 'Tests vulnerability to Unicode tag-based instruction smuggling attacks',
|
|
405
|
+
base64: 'Tests handling of Base64-encoded malicious payloads',
|
|
406
|
+
basic: 'Single-shot baseline security tests without optimization',
|
|
407
|
+
bfla: 'Tests for broken function-level authorization vulnerabilities (OWASP API 5)',
|
|
408
|
+
bola: 'Tests for broken object-level authorization vulnerabilities (OWASP API 1)',
|
|
409
|
+
citation: 'Exploits academic authority bias to bypass content filters',
|
|
410
|
+
competitors: 'Tests for unauthorized competitor mentions and endorsements',
|
|
411
|
+
contracts: 'Tests for unauthorized contractual commitments and legal exposure',
|
|
412
|
+
crescendo: 'Multi-turn attack strategy that gradually escalates malicious intent',
|
|
413
|
+
'cross-session-leak': 'Tests for information leakage between user sessions',
|
|
414
|
+
'debug-access': 'Tests for exposed debugging interfaces and commands',
|
|
415
|
+
'excessive-agency': 'Tests for unauthorized actions beyond defined system boundaries',
|
|
416
|
+
goat: 'Dynamic multi-turn attack generation using adversarial techniques',
|
|
417
|
+
hallucination: 'Tests for fabrication of false or misleading information',
|
|
418
|
+
harmful: 'Tests handling of malicious content across multiple categories',
|
|
419
|
+
'harmful:chemical-biological-weapons': 'Tests handling of WMD-related content',
|
|
420
|
+
'harmful:child-exploitation': 'Tests handling of child exploitation content',
|
|
421
|
+
'harmful:copyright-violations': 'Tests handling of intellectual property violations',
|
|
422
|
+
'harmful:cybercrime': 'Tests handling of cybercrime-related content',
|
|
423
|
+
'harmful:graphic-content': 'Tests handling of graphic or violent content',
|
|
424
|
+
'harmful:harassment-bullying': 'Tests handling of harassment and bullying content',
|
|
425
|
+
'harmful:hate': 'Tests handling of hate speech and discriminatory content',
|
|
426
|
+
'harmful:illegal-activities': 'Tests handling of general illegal activities',
|
|
427
|
+
'harmful:illegal-drugs': 'Tests handling of illegal drug-related content',
|
|
428
|
+
'harmful:indiscriminate-weapons': 'Tests handling of weapons-related content',
|
|
429
|
+
'harmful:insults': 'Tests handling of personal attacks and insults',
|
|
430
|
+
'harmful:intellectual-property': 'Tests handling of IP theft and violations',
|
|
431
|
+
'harmful:misinformation-disinformation': 'Tests handling of false information campaigns',
|
|
432
|
+
'harmful:non-violent-crime': 'Tests handling of non-violent criminal content',
|
|
433
|
+
'harmful:privacy': 'Tests handling of privacy violation attempts',
|
|
434
|
+
'harmful:profanity': 'Tests handling of profane or inappropriate language',
|
|
435
|
+
'harmful:radicalization': 'Tests handling of extremist content and recruitment',
|
|
436
|
+
'harmful:self-harm': 'Tests handling of self-harm and suicide content',
|
|
437
|
+
'harmful:sex-crime': 'Tests handling of sexual crime content',
|
|
438
|
+
'harmful:sexual-content': 'Tests handling of explicit sexual content',
|
|
439
|
+
'harmful:specialized-advice': 'Tests handling of unauthorized professional advice',
|
|
440
|
+
'harmful:unsafe-practices': 'Tests handling of dangerous activity instructions',
|
|
441
|
+
'harmful:violent-crime': 'Tests handling of violent crime content',
|
|
442
|
+
hijacking: 'Tests for unauthorized resource usage and purpose deviation',
|
|
443
|
+
imitation: 'Tests for unauthorized impersonation of entities',
|
|
444
|
+
'indirect-prompt-injection': 'Tests for injection vulnerabilities via untrusted variables',
|
|
445
|
+
intent: 'Tests for manipulation of system behavior via specific prompts',
|
|
446
|
+
jailbreak: 'Single-shot optimization of safety bypass techniques',
|
|
447
|
+
'jailbreak:composite': 'Combines multiple jailbreak techniques for enhanced effectiveness',
|
|
448
|
+
'jailbreak:tree': 'Tree-based search for optimal safety bypass vectors',
|
|
449
|
+
leetspeak: 'Tests handling of leetspeak-encoded malicious content',
|
|
450
|
+
'math-prompt': 'Tests handling of mathematical notation-based attacks',
|
|
451
|
+
multilingual: 'Tests handling of attacks across multiple languages',
|
|
452
|
+
overreliance: 'Tests for overreliance on system assumptions',
|
|
453
|
+
pii: 'Tests handling of personal identifiable information',
|
|
454
|
+
'pii:api-db': 'Tests for PII exposure via API/database access',
|
|
455
|
+
'pii:direct': 'Tests for direct PII exposure vulnerabilities',
|
|
456
|
+
'pii:session': 'Tests for PII exposure in session data',
|
|
457
|
+
'pii:social': 'Tests for PII exposure via social engineering',
|
|
458
|
+
policy: 'Tests compliance with custom security policies',
|
|
459
|
+
politics: 'Tests handling of political content and bias',
|
|
460
|
+
'prompt-extraction': 'Tests for system prompt disclosure vulnerabilities',
|
|
461
|
+
'prompt-injection': 'Tests for direct prompt injection vulnerabilities',
|
|
462
|
+
rbac: 'Tests role-based access control implementation',
|
|
463
|
+
religion: 'Tests handling of religious content and bias',
|
|
464
|
+
rot13: 'Tests handling of ROT13-encoded malicious content',
|
|
465
|
+
'shell-injection': 'Tests for command injection vulnerabilities',
|
|
466
|
+
'sql-injection': 'Tests for SQL injection vulnerabilities',
|
|
467
|
+
ssrf: 'Tests for server-side request forgery vulnerabilities',
|
|
406
468
|
};
|
|
407
469
|
// These names are displayed in risk cards and in the table
|
|
408
470
|
exports.displayNameOverrides = {
|
|
409
|
-
'ascii-smuggling': 'ASCII
|
|
410
|
-
base64: 'Base64 Encoding',
|
|
411
|
-
basic: '
|
|
412
|
-
bfla: '
|
|
413
|
-
bola: '
|
|
414
|
-
competitors: '
|
|
415
|
-
contracts: '
|
|
416
|
-
citation: '
|
|
417
|
-
crescendo: 'Multi-
|
|
418
|
-
'cross-session-leak': 'Cross-Session
|
|
419
|
-
'debug-access': 'Debug
|
|
420
|
-
default: '
|
|
471
|
+
'ascii-smuggling': 'ASCII Smuggling',
|
|
472
|
+
base64: 'Base64 Payload Encoding',
|
|
473
|
+
basic: 'Baseline Testing',
|
|
474
|
+
bfla: 'Function-Level Authorization Bypass',
|
|
475
|
+
bola: 'Object-Level Authorization Bypass',
|
|
476
|
+
competitors: 'Competitors',
|
|
477
|
+
contracts: 'Unauthorized Commitments',
|
|
478
|
+
citation: 'Authority Bias Exploitation',
|
|
479
|
+
crescendo: 'Multi-Turn Crescendo',
|
|
480
|
+
'cross-session-leak': 'Cross-Session Data Leakage',
|
|
481
|
+
'debug-access': 'Debug Interface Exposure',
|
|
482
|
+
default: 'Standard Security Suite',
|
|
421
483
|
'excessive-agency': 'Excessive Agency',
|
|
422
484
|
goat: 'Generative Offensive Agent Tester',
|
|
423
|
-
hallucination: 'Hallucination',
|
|
424
|
-
harmful: '
|
|
425
|
-
'harmful:chemical-biological-weapons': '
|
|
485
|
+
hallucination: 'False Information (Hallucination)',
|
|
486
|
+
harmful: 'Malicious Content Suite',
|
|
487
|
+
'harmful:chemical-biological-weapons': 'WMD Content',
|
|
426
488
|
'harmful:child-exploitation': 'Child Exploitation',
|
|
427
|
-
'harmful:copyright-violations': '
|
|
489
|
+
'harmful:copyright-violations': 'IP Violations',
|
|
428
490
|
'harmful:cybercrime': 'Cybercrime',
|
|
429
491
|
'harmful:graphic-content': 'Graphic Content',
|
|
430
|
-
'harmful:harassment-bullying': 'Harassment
|
|
492
|
+
'harmful:harassment-bullying': 'Harassment',
|
|
431
493
|
'harmful:hate': 'Hate Speech',
|
|
432
|
-
'harmful:illegal-activities': 'Illegal
|
|
433
|
-
'harmful:illegal-drugs': '
|
|
434
|
-
'harmful:indiscriminate-weapons': '
|
|
435
|
-
'harmful:insults': '
|
|
436
|
-
'harmful:intellectual-property': '
|
|
437
|
-
'harmful:misinformation-disinformation': '
|
|
494
|
+
'harmful:illegal-activities': 'Illegal Activity',
|
|
495
|
+
'harmful:illegal-drugs': 'Drug-Related Content',
|
|
496
|
+
'harmful:indiscriminate-weapons': 'Weapons Content',
|
|
497
|
+
'harmful:insults': 'Personal Attacks',
|
|
498
|
+
'harmful:intellectual-property': 'IP Theft',
|
|
499
|
+
'harmful:misinformation-disinformation': 'Disinformation Campaigns',
|
|
438
500
|
'harmful:non-violent-crime': 'Non-Violent Crime',
|
|
439
501
|
'harmful:privacy': 'Privacy Violation',
|
|
440
502
|
'harmful:profanity': 'Profanity',
|
|
441
|
-
'harmful:radicalization': '
|
|
503
|
+
'harmful:radicalization': 'Extremist Content',
|
|
442
504
|
'harmful:self-harm': 'Self-Harm',
|
|
443
|
-
'harmful:sex-crime': '
|
|
444
|
-
'harmful:sexual-content': '
|
|
445
|
-
'harmful:specialized-advice': '
|
|
446
|
-
'harmful:unsafe-practices': '
|
|
447
|
-
'harmful:violent-crime': 'Violent Crime',
|
|
448
|
-
hijacking: 'Hijacking',
|
|
449
|
-
imitation: '
|
|
505
|
+
'harmful:sex-crime': 'Sexual Crime Content',
|
|
506
|
+
'harmful:sexual-content': 'Explicit Content',
|
|
507
|
+
'harmful:specialized-advice': 'Unauthorized Advice',
|
|
508
|
+
'harmful:unsafe-practices': 'Dangerous Activity Content',
|
|
509
|
+
'harmful:violent-crime': 'Violent Crime Content',
|
|
510
|
+
hijacking: 'Resource Hijacking',
|
|
511
|
+
imitation: 'Entity Impersonation',
|
|
450
512
|
'indirect-prompt-injection': 'Indirect Prompt Injection',
|
|
451
513
|
intent: 'Intent',
|
|
452
|
-
jailbreak: 'Single-shot
|
|
453
|
-
'jailbreak:composite': '
|
|
454
|
-
'jailbreak:tree': 'Tree-
|
|
455
|
-
leetspeak: 'Leetspeak Encoding',
|
|
456
|
-
'math-prompt': '
|
|
457
|
-
multilingual: '
|
|
514
|
+
jailbreak: 'Single-shot Optimization',
|
|
515
|
+
'jailbreak:composite': 'Multi-Vector Safety Bypass',
|
|
516
|
+
'jailbreak:tree': 'Tree-Based Attack Search',
|
|
517
|
+
leetspeak: 'Leetspeak Payload Encoding',
|
|
518
|
+
'math-prompt': 'Mathematical Notation Attack',
|
|
519
|
+
multilingual: 'Cross-Language Attack',
|
|
458
520
|
overreliance: 'Overreliance',
|
|
459
|
-
pii: 'PII
|
|
460
|
-
'pii:api-db': 'PII
|
|
461
|
-
'pii:direct': 'Direct
|
|
462
|
-
'pii:session': 'PII
|
|
521
|
+
pii: 'PII Protection Suite',
|
|
522
|
+
'pii:api-db': 'PII via API/Database',
|
|
523
|
+
'pii:direct': 'PII via Direct Exposure',
|
|
524
|
+
'pii:session': 'PII via Session Data',
|
|
463
525
|
'pii:social': 'PII via Social Engineering',
|
|
464
|
-
policy: '
|
|
465
|
-
politics: 'Political
|
|
466
|
-
'prompt-extraction': 'Prompt
|
|
467
|
-
'prompt-injection': 'Prompt Injection',
|
|
468
|
-
rbac: 'RBAC
|
|
469
|
-
religion: 'Religious
|
|
470
|
-
rot13: 'ROT13 Encoding',
|
|
471
|
-
'shell-injection': '
|
|
526
|
+
policy: 'Policy Compliance',
|
|
527
|
+
politics: 'Political Bias',
|
|
528
|
+
'prompt-extraction': 'System Prompt Disclosure',
|
|
529
|
+
'prompt-injection': 'Direct Prompt Injection',
|
|
530
|
+
rbac: 'RBAC Implementation',
|
|
531
|
+
religion: 'Religious Bias',
|
|
532
|
+
rot13: 'ROT13 Payload Encoding',
|
|
533
|
+
'shell-injection': 'Command Injection',
|
|
472
534
|
'sql-injection': 'SQL Injection',
|
|
473
|
-
ssrf: '
|
|
535
|
+
ssrf: 'SSRF Vulnerability',
|
|
474
536
|
};
|
|
475
537
|
var Severity;
|
|
476
538
|
(function (Severity) {
|
|
@@ -556,7 +618,6 @@ exports.riskCategories = {
|
|
|
556
618
|
'indirect-prompt-injection',
|
|
557
619
|
'ascii-smuggling',
|
|
558
620
|
'hijacking',
|
|
559
|
-
'intent',
|
|
560
621
|
// Data protection
|
|
561
622
|
'pii',
|
|
562
623
|
'pii:api-db',
|
|
@@ -680,75 +741,75 @@ exports.categoryAliasesReverse = Object.entries(exports.categoryAliases).reduce(
|
|
|
680
741
|
return acc;
|
|
681
742
|
}, {});
|
|
682
743
|
exports.pluginDescriptions = {
|
|
683
|
-
'ascii-smuggling': '
|
|
684
|
-
bfla: '
|
|
685
|
-
bola: '
|
|
686
|
-
competitors: '
|
|
687
|
-
contracts: '
|
|
688
|
-
'cross-session-leak': '
|
|
689
|
-
'debug-access': '
|
|
690
|
-
default: '
|
|
691
|
-
'excessive-agency': '
|
|
692
|
-
hallucination: '
|
|
693
|
-
harmful: '
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
'
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
'
|
|
701
|
-
'
|
|
702
|
-
'
|
|
703
|
-
'
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
'
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
'
|
|
710
|
-
'
|
|
711
|
-
|
|
712
|
-
'harmful:
|
|
713
|
-
'harmful:
|
|
714
|
-
'harmful:
|
|
715
|
-
'harmful:
|
|
716
|
-
'harmful:
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
'
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
'
|
|
724
|
-
'
|
|
725
|
-
'
|
|
726
|
-
'
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
'
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
'
|
|
733
|
-
'
|
|
734
|
-
|
|
744
|
+
'ascii-smuggling': 'Tests system resilience against Unicode tag-based instruction smuggling attacks that can bypass content filters and security controls',
|
|
745
|
+
bfla: 'Evaluates function-level authorization controls to identify privilege escalation vulnerabilities (OWASP API Security Top 10 #5)',
|
|
746
|
+
bola: 'Tests object-level authorization mechanisms to detect unauthorized data access vulnerabilities (OWASP API Security Top 10 #1)',
|
|
747
|
+
competitors: 'Assesses system protection against unauthorized competitor endorsements and brand security risks',
|
|
748
|
+
contracts: 'Evaluates safeguards against unauthorized contractual commitments and legal exposure',
|
|
749
|
+
'cross-session-leak': 'Tests for information leakage vulnerabilities between different user sessions',
|
|
750
|
+
'debug-access': 'Identifies exposed debugging interfaces and unauthorized command execution vectors',
|
|
751
|
+
default: 'Executes comprehensive baseline security testing across multiple risk categories',
|
|
752
|
+
'excessive-agency': 'Evaluates system boundary enforcement and unauthorized action prevention',
|
|
753
|
+
hallucination: 'Tests system resilience against false information generation and propagation',
|
|
754
|
+
harmful: 'Comprehensive suite for testing handling of various categories of malicious content',
|
|
755
|
+
hijacking: 'Assesses protection against unauthorized resource usage and purpose deviation',
|
|
756
|
+
imitation: 'Tests safeguards against unauthorized entity impersonation attempts',
|
|
757
|
+
'indirect-prompt-injection': 'Evaluates vulnerability to injection attacks via untrusted variables',
|
|
758
|
+
intent: 'Tests system resilience against specific manipulation attempts',
|
|
759
|
+
overreliance: 'Assesses overreliance on system assumptions',
|
|
760
|
+
pii: 'Comprehensive evaluation of personal identifiable information protection',
|
|
761
|
+
'pii:api-db': 'Tests for PII exposure through API and database access vectors',
|
|
762
|
+
'pii:direct': 'Evaluates direct PII exposure vulnerabilities',
|
|
763
|
+
'pii:session': 'Tests for PII leakage in session data',
|
|
764
|
+
'pii:social': 'Assesses PII exposure through social engineering vectors',
|
|
765
|
+
policy: 'Validates compliance with custom security policies and controls',
|
|
766
|
+
politics: 'Tests handling of political content and bias mitigation',
|
|
767
|
+
'prompt-extraction': 'Evaluates protection against system prompt disclosure attempts',
|
|
768
|
+
rbac: 'Tests implementation of role-based access control mechanisms',
|
|
769
|
+
religion: 'Assesses handling of religious content and bias mitigation',
|
|
770
|
+
'shell-injection': 'Tests protection against command injection vulnerabilities',
|
|
771
|
+
'sql-injection': 'Evaluates resilience against SQL injection attacks',
|
|
772
|
+
ssrf: 'Tests for server-side request forgery vulnerabilities',
|
|
773
|
+
'harmful:chemical-biological-weapons': 'Tests detection and response to WMD-related content',
|
|
774
|
+
'harmful:child-exploitation': 'Tests handling of child exploitation content',
|
|
775
|
+
'harmful:copyright-violations': 'Tests handling of intellectual property violations',
|
|
776
|
+
'harmful:cybercrime': 'Tests detection of cybercrime-related content',
|
|
777
|
+
'harmful:graphic-content': 'Tests handling of graphic or violent content',
|
|
778
|
+
'harmful:harassment-bullying': 'Tests handling of harassment and bullying content',
|
|
779
|
+
'harmful:hate': 'Tests handling of hate speech and discriminatory content',
|
|
780
|
+
'harmful:illegal-activities': 'Tests handling of illegal activity content',
|
|
781
|
+
'harmful:illegal-drugs': 'Tests handling of drug-related content',
|
|
782
|
+
'harmful:indiscriminate-weapons': 'Tests handling of weapons-related content',
|
|
783
|
+
'harmful:insults': 'Tests handling of personal attacks and insults',
|
|
784
|
+
'harmful:intellectual-property': 'Tests handling of IP theft attempts',
|
|
785
|
+
'harmful:misinformation-disinformation': 'Tests handling of disinformation campaigns',
|
|
786
|
+
'harmful:non-violent-crime': 'Tests handling of non-violent criminal content',
|
|
787
|
+
'harmful:privacy': 'Tests handling of privacy violation attempts',
|
|
788
|
+
'harmful:profanity': 'Tests handling of profane content',
|
|
789
|
+
'harmful:radicalization': 'Tests handling of extremist content',
|
|
790
|
+
'harmful:self-harm': 'Tests handling of self-harm content',
|
|
791
|
+
'harmful:sex-crime': 'Tests handling of sexual crime content',
|
|
792
|
+
'harmful:sexual-content': 'Tests handling of explicit sexual content',
|
|
793
|
+
'harmful:specialized-advice': 'Tests handling of unauthorized professional advice',
|
|
794
|
+
'harmful:unsafe-practices': 'Tests handling of dangerous activity instructions',
|
|
795
|
+
'harmful:violent-crime': 'Tests handling of violent crime content',
|
|
735
796
|
};
|
|
736
797
|
exports.strategyDescriptions = {
|
|
737
|
-
'ascii-smuggling': '
|
|
738
|
-
base64: '
|
|
739
|
-
basic: '
|
|
740
|
-
citation:
|
|
741
|
-
crescendo: '
|
|
742
|
-
default: '
|
|
743
|
-
goat: '
|
|
744
|
-
jailbreak: '
|
|
745
|
-
'jailbreak:composite': '
|
|
746
|
-
'jailbreak:tree': '
|
|
747
|
-
leetspeak: '
|
|
748
|
-
'math-prompt': '
|
|
749
|
-
multilingual: '
|
|
750
|
-
'prompt-injection': '
|
|
751
|
-
rot13: '
|
|
798
|
+
'ascii-smuggling': 'Evaluates system resilience against Unicode tag-based instruction smuggling',
|
|
799
|
+
base64: 'Tests detection and handling of Base64-encoded malicious payloads',
|
|
800
|
+
basic: 'Establishes baseline security posture through fundamental test cases',
|
|
801
|
+
citation: 'Exploits academic authority bias to circumvent content filtering mechanisms',
|
|
802
|
+
crescendo: 'Executes progressive multi-turn attacks with escalating malicious intent',
|
|
803
|
+
default: 'Applies standard security testing methodology',
|
|
804
|
+
goat: 'Deploys dynamic attack generation using advanced adversarial techniques',
|
|
805
|
+
jailbreak: 'Optimizes single-turn attacks to bypass security controls',
|
|
806
|
+
'jailbreak:composite': 'Chains multiple attack vectors for enhanced effectiveness',
|
|
807
|
+
'jailbreak:tree': 'Implements tree-based search for optimal attack paths',
|
|
808
|
+
leetspeak: 'Assesses handling of leetspeak-encoded malicious content',
|
|
809
|
+
'math-prompt': 'Tests resilience against mathematical notation-based attacks',
|
|
810
|
+
multilingual: 'Evaluates cross-language attack vector handling',
|
|
811
|
+
'prompt-injection': 'Tests direct prompt injection vulnerability detection',
|
|
812
|
+
rot13: 'Assesses handling of ROT13-encoded malicious payloads',
|
|
752
813
|
};
|
|
753
814
|
exports.strategyDisplayNames = {
|
|
754
815
|
'ascii-smuggling': 'ASCII Smuggling',
|