@claude-flow/aidefence 3.0.3 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/domain/entities/threat.d.ts +4 -1
- package/dist/domain/entities/threat.d.ts.map +1 -1
- package/dist/domain/entities/threat.js +1 -0
- package/dist/domain/entities/threat.js.map +1 -1
- package/dist/domain/services/packs/adapter.d.ts +20 -0
- package/dist/domain/services/packs/adapter.d.ts.map +1 -0
- package/dist/domain/services/packs/adapter.js +56 -0
- package/dist/domain/services/packs/adapter.js.map +1 -0
- package/dist/domain/services/packs/data/core.d.ts +9 -0
- package/dist/domain/services/packs/data/core.d.ts.map +1 -0
- package/dist/domain/services/packs/data/core.js +346 -0
- package/dist/domain/services/packs/data/core.js.map +1 -0
- package/dist/domain/services/packs/data/encoded-instruction.d.ts +9 -0
- package/dist/domain/services/packs/data/encoded-instruction.d.ts.map +1 -0
- package/dist/domain/services/packs/data/encoded-instruction.js +69 -0
- package/dist/domain/services/packs/data/encoded-instruction.js.map +1 -0
- package/dist/domain/services/packs/data/exfil-url.d.ts +9 -0
- package/dist/domain/services/packs/data/exfil-url.d.ts.map +1 -0
- package/dist/domain/services/packs/data/exfil-url.js +97 -0
- package/dist/domain/services/packs/data/exfil-url.js.map +1 -0
- package/dist/domain/services/packs/data/index.d.ts +7 -0
- package/dist/domain/services/packs/data/index.d.ts.map +1 -0
- package/dist/domain/services/packs/data/index.js +19 -0
- package/dist/domain/services/packs/data/index.js.map +1 -0
- package/dist/domain/services/packs/data/instruction-override-i18n.d.ts +9 -0
- package/dist/domain/services/packs/data/instruction-override-i18n.d.ts.map +1 -0
- package/dist/domain/services/packs/data/instruction-override-i18n.js +81 -0
- package/dist/domain/services/packs/data/instruction-override-i18n.js.map +1 -0
- package/dist/domain/services/packs/data/slack-markup-forgery.d.ts +9 -0
- package/dist/domain/services/packs/data/slack-markup-forgery.d.ts.map +1 -0
- package/dist/domain/services/packs/data/slack-markup-forgery.js +81 -0
- package/dist/domain/services/packs/data/slack-markup-forgery.js.map +1 -0
- package/dist/domain/services/packs/data/tool-invocation.d.ts +9 -0
- package/dist/domain/services/packs/data/tool-invocation.d.ts.map +1 -0
- package/dist/domain/services/packs/data/tool-invocation.js +125 -0
- package/dist/domain/services/packs/data/tool-invocation.js.map +1 -0
- package/dist/domain/services/packs/decoders.d.ts +39 -0
- package/dist/domain/services/packs/decoders.d.ts.map +1 -0
- package/dist/domain/services/packs/decoders.js +121 -0
- package/dist/domain/services/packs/decoders.js.map +1 -0
- package/dist/domain/services/packs/engine.d.ts +93 -0
- package/dist/domain/services/packs/engine.d.ts.map +1 -0
- package/dist/domain/services/packs/engine.js +190 -0
- package/dist/domain/services/packs/engine.js.map +1 -0
- package/dist/domain/services/packs/index.d.ts +18 -0
- package/dist/domain/services/packs/index.d.ts.map +1 -0
- package/dist/domain/services/packs/index.js +14 -0
- package/dist/domain/services/packs/index.js.map +1 -0
- package/dist/domain/services/packs/normalize.d.ts +24 -0
- package/dist/domain/services/packs/normalize.d.ts.map +1 -0
- package/dist/domain/services/packs/normalize.js +118 -0
- package/dist/domain/services/packs/normalize.js.map +1 -0
- package/dist/domain/services/packs/pattern-loader.d.ts +44 -0
- package/dist/domain/services/packs/pattern-loader.d.ts.map +1 -0
- package/dist/domain/services/packs/pattern-loader.js +70 -0
- package/dist/domain/services/packs/pattern-loader.js.map +1 -0
- package/dist/domain/services/threat-detection-service.d.ts +19 -4
- package/dist/domain/services/threat-detection-service.d.ts.map +1 -1
- package/dist/domain/services/threat-detection-service.js +65 -50
- package/dist/domain/services/threat-detection-service.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -4
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vendored from midstream `AIMDS/src/detection/pattern-loader.ts` at commit abe78d6.
|
|
3
|
+
*
|
|
4
|
+
* ruflo changes: the fs-based `loadPacks(dir)` / `loadPackFile` /
|
|
5
|
+
* `defaultPatternDir` are dropped. Packs are embedded as TS modules under
|
|
6
|
+
* `./data/` so they load from the published ESM `dist/` with no path lookup.
|
|
7
|
+
*/
|
|
8
|
+
export type Severity = 'low' | 'medium' | 'high' | 'critical';
|
|
9
|
+
export type ThreatKind = 'prompt_injection' | 'jailbreak' | 'instruction_override' | 'role_switching' | 'context_manipulation' | 'encoding_attack' | 'tool_invocation' | 'data_exfiltration' | 'markup_forgery' | 'unknown';
|
|
10
|
+
export interface PatternSpec {
|
|
11
|
+
readonly id: string;
|
|
12
|
+
readonly pack: string;
|
|
13
|
+
readonly severity: Severity;
|
|
14
|
+
readonly type: ThreatKind;
|
|
15
|
+
readonly regex: string;
|
|
16
|
+
/** Subset of "imsu". The global flag is rejected (it makes RegExp stateful). */
|
|
17
|
+
readonly flags: string;
|
|
18
|
+
readonly description: string;
|
|
19
|
+
readonly examples: readonly string[];
|
|
20
|
+
readonly confidence?: number;
|
|
21
|
+
/** "portable" (default) compiles in Rust's regex crate; "js" needs lookaround/backrefs. */
|
|
22
|
+
readonly engine?: 'portable' | 'js';
|
|
23
|
+
readonly note?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface PatternPack {
|
|
26
|
+
readonly $schema?: string;
|
|
27
|
+
readonly pack: string;
|
|
28
|
+
readonly version: string;
|
|
29
|
+
readonly enabledByDefault: boolean;
|
|
30
|
+
readonly description: string;
|
|
31
|
+
readonly patterns: readonly PatternSpec[];
|
|
32
|
+
}
|
|
33
|
+
export interface CompiledPattern {
|
|
34
|
+
readonly spec: PatternSpec;
|
|
35
|
+
readonly re: RegExp;
|
|
36
|
+
/** Same regex with `\s+`/`\s*` removed, for the whitespace-free text variant. */
|
|
37
|
+
readonly compactRe: RegExp | null;
|
|
38
|
+
}
|
|
39
|
+
export declare const SEVERITIES: readonly Severity[];
|
|
40
|
+
export declare const THREAT_KINDS: readonly ThreatKind[];
|
|
41
|
+
export declare function validatePack(raw: unknown, source?: string): PatternPack;
|
|
42
|
+
export declare function compilePattern(spec: PatternSpec): CompiledPattern;
|
|
43
|
+
export declare function compilePack(pack: PatternPack): CompiledPattern[];
|
|
44
|
+
//# sourceMappingURL=pattern-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern-loader.d.ts","sourceRoot":"","sources":["../../../../src/domain/services/packs/pattern-loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAE9D,MAAM,MAAM,UAAU,GAClB,kBAAkB,GAClB,WAAW,GACX,sBAAsB,GACtB,gBAAgB,GAChB,sBAAsB,GACtB,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,GACnB,gBAAgB,GAChB,SAAS,CAAC;AAEd,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,2FAA2F;IAC3F,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAA0C,CAAC;AACrF,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAG7C,CAAC;AAMF,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,SAAa,GAAG,WAAW,CAgC3E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe,CAYjE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe,EAAE,CAEhE"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vendored from midstream `AIMDS/src/detection/pattern-loader.ts` at commit abe78d6.
|
|
3
|
+
*
|
|
4
|
+
* ruflo changes: the fs-based `loadPacks(dir)` / `loadPackFile` /
|
|
5
|
+
* `defaultPatternDir` are dropped. Packs are embedded as TS modules under
|
|
6
|
+
* `./data/` so they load from the published ESM `dist/` with no path lookup.
|
|
7
|
+
*/
|
|
8
|
+
import { compactSource } from './normalize.js';
|
|
9
|
+
export const SEVERITIES = ['low', 'medium', 'high', 'critical'];
|
|
10
|
+
export const THREAT_KINDS = [
|
|
11
|
+
'prompt_injection', 'jailbreak', 'instruction_override', 'role_switching', 'context_manipulation',
|
|
12
|
+
'encoding_attack', 'tool_invocation', 'data_exfiltration', 'markup_forgery', 'unknown',
|
|
13
|
+
];
|
|
14
|
+
function assert(cond, msg) {
|
|
15
|
+
if (!cond)
|
|
16
|
+
throw new Error(`pattern pack: ${msg}`);
|
|
17
|
+
}
|
|
18
|
+
export function validatePack(raw, source = '<inline>') {
|
|
19
|
+
assert(raw && typeof raw === 'object', `${source}: not an object`);
|
|
20
|
+
const p = raw;
|
|
21
|
+
assert(typeof p.pack === 'string' && /^[a-z0-9_]+$/.test(p.pack), `${source}: bad pack name`);
|
|
22
|
+
assert(typeof p.version === 'string', `${source}: missing version`);
|
|
23
|
+
assert(typeof p.enabledByDefault === 'boolean', `${source}: enabledByDefault must be boolean`);
|
|
24
|
+
assert(Array.isArray(p.patterns) && p.patterns.length > 0, `${source}: patterns must be a non-empty array`);
|
|
25
|
+
const ids = new Set();
|
|
26
|
+
for (const entry of p.patterns) {
|
|
27
|
+
assert(entry && typeof entry === 'object', `${source}: pattern entry not an object`);
|
|
28
|
+
const e = entry;
|
|
29
|
+
assert(typeof e.id === 'string' && e.id.length > 0, `${source}: pattern missing id`);
|
|
30
|
+
assert(!ids.has(e.id), `${source}: duplicate id ${e.id}`);
|
|
31
|
+
ids.add(e.id);
|
|
32
|
+
assert(e.pack === p.pack, `${source}: ${e.id} pack mismatch`);
|
|
33
|
+
assert(SEVERITIES.includes(e.severity), `${source}: ${e.id} bad severity`);
|
|
34
|
+
assert(THREAT_KINDS.includes(e.type), `${source}: ${e.id} bad type ${String(e.type)}`);
|
|
35
|
+
assert(typeof e.regex === 'string' && e.regex.length > 0, `${source}: ${e.id} missing regex`);
|
|
36
|
+
assert(typeof e.flags === 'string' && /^[imsu]*$/.test(e.flags), `${source}: ${e.id} flags must be a subset of "imsu"`);
|
|
37
|
+
assert(typeof e.description === 'string', `${source}: ${e.id} missing description`);
|
|
38
|
+
assert(Array.isArray(e.examples), `${source}: ${e.id} examples must be an array`);
|
|
39
|
+
if (e.confidence !== undefined) {
|
|
40
|
+
assert(typeof e.confidence === 'number' && e.confidence > 0 && e.confidence <= 1, `${source}: ${e.id} confidence out of range`);
|
|
41
|
+
}
|
|
42
|
+
if (e.engine !== undefined)
|
|
43
|
+
assert(e.engine === 'portable' || e.engine === 'js', `${source}: ${e.id} bad engine`);
|
|
44
|
+
try {
|
|
45
|
+
new RegExp(e.regex, e.flags);
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
throw new Error(`pattern pack: ${source}: ${e.id} does not compile: ${err.message}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return raw;
|
|
52
|
+
}
|
|
53
|
+
export function compilePattern(spec) {
|
|
54
|
+
const re = new RegExp(spec.regex, spec.flags);
|
|
55
|
+
let compactRe = null;
|
|
56
|
+
const compact = compactSource(spec.regex);
|
|
57
|
+
if (compact !== spec.regex) {
|
|
58
|
+
try {
|
|
59
|
+
compactRe = new RegExp(compact, spec.flags);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
compactRe = null;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return { spec, re, compactRe };
|
|
66
|
+
}
|
|
67
|
+
export function compilePack(pack) {
|
|
68
|
+
return pack.patterns.map(compilePattern);
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=pattern-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern-loader.js","sourceRoot":"","sources":["../../../../src/domain/services/packs/pattern-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,24 +10,40 @@
|
|
|
10
10
|
* - PII scan: <3ms
|
|
11
11
|
*/
|
|
12
12
|
import { ThreatType, ThreatSeverity, ThreatDetectionResult } from '../entities/threat.js';
|
|
13
|
+
import type { PackSelection } from './packs/engine.js';
|
|
13
14
|
/**
|
|
14
15
|
* Threat pattern definition
|
|
15
16
|
*/
|
|
16
|
-
interface ThreatPattern {
|
|
17
|
+
export interface ThreatPattern {
|
|
17
18
|
readonly pattern: RegExp;
|
|
18
19
|
readonly type: ThreatType;
|
|
19
20
|
readonly severity: ThreatSeverity;
|
|
20
21
|
readonly description: string;
|
|
21
22
|
readonly baseConfidence: number;
|
|
22
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Options for ThreatDetectionService. Passing a bare ThreatPattern[] (the
|
|
26
|
+
* pre-3.1 signature) is still accepted and means `{ patterns }`.
|
|
27
|
+
*/
|
|
28
|
+
export interface ThreatDetectionOptions {
|
|
29
|
+
/** Replaces the built-in regex patterns. */
|
|
30
|
+
readonly patterns?: ThreatPattern[];
|
|
31
|
+
/**
|
|
32
|
+
* AIMDS pattern packs scanned alongside the built-in patterns (3.1.0).
|
|
33
|
+
* Default `true`: every vendored pack. `false` disables them; a list or
|
|
34
|
+
* a record selects packs by name (e.g. `['core', 'exfil_url']`).
|
|
35
|
+
*/
|
|
36
|
+
readonly packs?: PackSelection;
|
|
37
|
+
}
|
|
23
38
|
/**
|
|
24
39
|
* Threat Detection Service
|
|
25
40
|
*/
|
|
26
41
|
export declare class ThreatDetectionService {
|
|
27
42
|
private readonly patterns;
|
|
43
|
+
private readonly packDetector;
|
|
28
44
|
private detectionCount;
|
|
29
45
|
private totalDetectionTimeMs;
|
|
30
|
-
constructor(
|
|
46
|
+
constructor(options?: ThreatPattern[] | ThreatDetectionOptions);
|
|
31
47
|
/**
|
|
32
48
|
* Detect threats in input text
|
|
33
49
|
* Target: <10ms latency
|
|
@@ -76,6 +92,5 @@ export declare class ThreatDetectionService {
|
|
|
76
92
|
/**
|
|
77
93
|
* Create a new ThreatDetectionService instance
|
|
78
94
|
*/
|
|
79
|
-
export declare function createThreatDetectionService(
|
|
80
|
-
export {};
|
|
95
|
+
export declare function createThreatDetectionService(options?: ThreatPattern[] | ThreatDetectionOptions): ThreatDetectionService;
|
|
81
96
|
//# sourceMappingURL=threat-detection-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threat-detection-service.d.ts","sourceRoot":"","sources":["../../../src/domain/services/threat-detection-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAEL,UAAU,EACV,cAAc,EACd,qBAAqB,EAEtB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"threat-detection-service.d.ts","sourceRoot":"","sources":["../../../src/domain/services/threat-detection-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAEL,UAAU,EACV,cAAc,EACd,qBAAqB,EAEtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAG1E;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AA6RD;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;CAChC;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;IACxD,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,oBAAoB,CAAK;gBAErB,OAAO,CAAC,EAAE,aAAa,EAAE,GAAG,sBAAsB;IAO9D;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB;IA4D5C;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IA4BjE;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IASjC;;OAEG;IACH,QAAQ,IAAI;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAA;KAAE;IASlE;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0B3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;OAEG;IACH,OAAO,CAAC,SAAS;CAGlB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,CAAC,EAAE,aAAa,EAAE,GAAG,sBAAsB,GACjD,sBAAsB,CAExB"}
|
|
@@ -11,53 +11,42 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { createThreat } from '../entities/threat.js';
|
|
13
13
|
import { createHash } from 'crypto';
|
|
14
|
+
import { detectPackThreats, resolvePackDetector } from './packs/adapter.js';
|
|
14
15
|
/**
|
|
15
16
|
* Prompt injection patterns (originally 50+ patterns from AIMDS).
|
|
16
17
|
*
|
|
17
|
-
*
|
|
18
|
-
* `aimds-*@0.1.1` (ADR-118,
|
|
18
|
+
* Includes the wider-detection pass ported from upstream `aidefence@2.3.0` /
|
|
19
|
+
* `aimds-*@0.1.1` (ADR-118, #2004). @claude-flow/aidefence 3.0.3 shipped it,
|
|
20
|
+
* but it was published from an uncommitted tree; ADR-516 restores it to source.
|
|
19
21
|
*
|
|
20
|
-
* - A
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* still raise threats with the same `instruction_override` type
|
|
27
|
-
* so callers see a consistent surface.
|
|
28
|
-
* - Role-hijack patterns widened: `you are now …`, `act as …`,
|
|
29
|
-
* `pretend to be …` already covered; added a `behave (as|like) …`
|
|
30
|
-
* variant for the next-most-common phrasing.
|
|
31
|
-
* - Jailbreak markers extended: `god mode` / `root mode` join the
|
|
32
|
-
* pre-existing `DAN mode` / `developer mode` family.
|
|
22
|
+
* - A verb→noun window of 0..6 modifier words catches the
|
|
23
|
+
* "ignore all previous instructions" family in its many phrasings
|
|
24
|
+
* ("disregard every system prompt above", "forget all of the prior rules").
|
|
25
|
+
* The narrow regexes below stay for phrasings the window misses.
|
|
26
|
+
* - Role hijack adds `behave (as|like) …`.
|
|
27
|
+
* - Jailbreak markers add `god|root|admin|sudo mode`.
|
|
33
28
|
*/
|
|
34
29
|
/** Verbs that flag a likely override attempt. ADR-118 / #2004. */
|
|
35
30
|
const OVERRIDE_VERBS = ['ignore', 'disregard', 'forget', 'override'].join('|');
|
|
36
|
-
/** Nouns the override
|
|
31
|
+
/** Nouns the override targets. `system\s*-?\s*prompts?` matches "system prompt" and "system-prompt". */
|
|
37
32
|
const OVERRIDE_NOUNS = ['instructions?', 'prompts?', 'rules?', 'context', 'system\\s*-?\\s*prompts?'].join('|');
|
|
38
33
|
/**
|
|
39
|
-
* 0..6 modifier words between verb and noun
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* and that case must not slip through. False-positive risk stays
|
|
44
|
-
* low because the verb→noun structural constraint is the discriminator.
|
|
34
|
+
* 0..6 modifier words between verb and noun. ADR-118 specified 0..4; "forget
|
|
35
|
+
* every single one of the previous prompts" needs 6. `\s+` and `\S+` are
|
|
36
|
+
* disjoint, so each repetition has exactly one split point and the window
|
|
37
|
+
* stays linear (timed in threat-detection.test.ts).
|
|
45
38
|
*/
|
|
46
|
-
const OVERRIDE_WINDOW =
|
|
39
|
+
const OVERRIDE_WINDOW = '(?:\\s+\\S+){0,6}';
|
|
47
40
|
const PROMPT_INJECTION_PATTERNS = [
|
|
48
|
-
//
|
|
49
|
-
// instructions" + family across 0..4 modifier words). This is the
|
|
50
|
-
// single highest-leverage pattern from the 2.3.0 upgrade.
|
|
41
|
+
// ADR-118 window: override verb → target noun across 0..6 modifier words.
|
|
51
42
|
{
|
|
52
43
|
pattern: new RegExp(`\\b(${OVERRIDE_VERBS})${OVERRIDE_WINDOW}\\s+(${OVERRIDE_NOUNS})\\b`, 'i'),
|
|
53
44
|
type: 'instruction_override',
|
|
54
45
|
severity: 'critical',
|
|
55
|
-
description: 'Override
|
|
46
|
+
description: 'Override verb followed by a target noun within 0..6 words (ADR-118)',
|
|
56
47
|
baseConfidence: 0.96,
|
|
57
48
|
},
|
|
58
|
-
// Instruction override patterns (narrow
|
|
59
|
-
// belt-and-suspenders for phrasings the window above doesn't
|
|
60
|
-
// structure-match, and so threat descriptions stay precise).
|
|
49
|
+
// Instruction override patterns (narrow; kept for phrasings the window misses)
|
|
61
50
|
{
|
|
62
51
|
pattern: /ignore\s+(all\s+)?(previous\s+)?instructions/i,
|
|
63
52
|
type: 'instruction_override',
|
|
@@ -108,9 +97,8 @@ const PROMPT_INJECTION_PATTERNS = [
|
|
|
108
97
|
description: 'Roleplay instruction that may be legitimate',
|
|
109
98
|
baseConfidence: 0.65,
|
|
110
99
|
},
|
|
111
|
-
// ADR-118 / #2004 — `behave (as|like) …` widening of role-hijack surface.
|
|
112
|
-
// Accepts `a` or `an` articles (so "behave as an unrestricted ..." hits).
|
|
113
100
|
{
|
|
101
|
+
// ADR-118: `behave as/like a different|new|another|unrestricted …`.
|
|
114
102
|
pattern: /behave\s+(as|like)\s+(an?\s+)?(different|new|another|unrestricted)/i,
|
|
115
103
|
type: 'role_switching',
|
|
116
104
|
severity: 'high',
|
|
@@ -119,7 +107,7 @@ const PROMPT_INJECTION_PATTERNS = [
|
|
|
119
107
|
},
|
|
120
108
|
// Jailbreak patterns
|
|
121
109
|
{
|
|
122
|
-
pattern: /\bDAN\b
|
|
110
|
+
pattern: /\bDAN\b[^\n]{0,200}?\bmode\b|\bmode\b[^\n]{0,200}?\bDAN\b/i,
|
|
123
111
|
type: 'jailbreak',
|
|
124
112
|
severity: 'critical',
|
|
125
113
|
description: 'DAN jailbreak attempt',
|
|
@@ -153,8 +141,8 @@ const PROMPT_INJECTION_PATTERNS = [
|
|
|
153
141
|
description: 'Attempt to disable safety filters',
|
|
154
142
|
baseConfidence: 0.96,
|
|
155
143
|
},
|
|
156
|
-
// ADR-118 / #2004 — extend the jailbreak-mode family beyond DAN/dev.
|
|
157
144
|
{
|
|
145
|
+
// ADR-118: privileged-mode jailbreaks beyond DAN / developer mode.
|
|
158
146
|
pattern: /\b(god|root|admin|sudo)\s*mode\b/i,
|
|
159
147
|
type: 'jailbreak',
|
|
160
148
|
severity: 'critical',
|
|
@@ -191,7 +179,7 @@ const PROMPT_INJECTION_PATTERNS = [
|
|
|
191
179
|
baseConfidence: 0.75,
|
|
192
180
|
},
|
|
193
181
|
{
|
|
194
|
-
pattern: /\[\[
|
|
182
|
+
pattern: /\[\[[^\]\n]{0,200}\]\]|<<[^>\n]{0,200}>>|\{\{[^}\n]{0,200}\}\}/,
|
|
195
183
|
type: 'context_manipulation',
|
|
196
184
|
severity: 'medium',
|
|
197
185
|
description: 'Special bracket injection attempt',
|
|
@@ -263,32 +251,35 @@ const PROMPT_INJECTION_PATTERNS = [
|
|
|
263
251
|
*/
|
|
264
252
|
const PII_PATTERNS = [
|
|
265
253
|
{
|
|
266
|
-
|
|
254
|
+
// Bounded per RFC 5321 (local part ≤ 64, domain ≤ 253): the unbounded `+`
|
|
255
|
+
// quantifiers were quadratic on inputs like `a.a.a…` (3.8 s / 100 KB),
|
|
256
|
+
// and `detect()` runs PII detection on every scan.
|
|
257
|
+
pattern: /\b[A-Za-z0-9._%+-]{1,64}@[A-Za-z0-9.-]{1,253}\.[A-Za-z]{2,24}\b/,
|
|
267
258
|
type: 'email',
|
|
268
259
|
description: 'Email address',
|
|
269
260
|
},
|
|
270
261
|
{
|
|
271
|
-
pattern: /\b\d{3}-\d{2}-\d{4}\b
|
|
262
|
+
pattern: /\b\d{3}-\d{2}-\d{4}\b/,
|
|
272
263
|
type: 'ssn',
|
|
273
264
|
description: 'Social Security Number',
|
|
274
265
|
},
|
|
275
266
|
{
|
|
276
|
-
pattern: /\b\d{4}[-\s]?\d{4}[-\s]?\d{4}[-\s]?\d{4}\b
|
|
267
|
+
pattern: /\b\d{4}[-\s]?\d{4}[-\s]?\d{4}[-\s]?\d{4}\b/,
|
|
277
268
|
type: 'credit_card',
|
|
278
269
|
description: 'Credit card number',
|
|
279
270
|
},
|
|
280
271
|
{
|
|
281
|
-
pattern: /\b(sk-[a-zA-Z0-9]{20,}|sk-ant-[a-zA-Z0-9-]{20,})\b
|
|
272
|
+
pattern: /\b(sk-[a-zA-Z0-9]{20,}|sk-ant-[a-zA-Z0-9-]{20,})\b/,
|
|
282
273
|
type: 'api_key',
|
|
283
274
|
description: 'API key (OpenAI/Anthropic format)',
|
|
284
275
|
},
|
|
285
276
|
{
|
|
286
|
-
pattern: /\b(ghp_[a-zA-Z0-9]{36}|github_pat_[a-zA-Z0-9_]{82})\b
|
|
277
|
+
pattern: /\b(ghp_[a-zA-Z0-9]{36}|github_pat_[a-zA-Z0-9_]{82})\b/,
|
|
287
278
|
type: 'api_key',
|
|
288
279
|
description: 'GitHub token',
|
|
289
280
|
},
|
|
290
281
|
{
|
|
291
|
-
pattern: /password\s*[:=]\s*["']?[^"'\s]{4,}["']?/
|
|
282
|
+
pattern: /password\s*[:=]\s*["']?[^"'\s]{4,}["']?/i,
|
|
292
283
|
type: 'password',
|
|
293
284
|
description: 'Hardcoded password',
|
|
294
285
|
},
|
|
@@ -298,10 +289,14 @@ const PII_PATTERNS = [
|
|
|
298
289
|
*/
|
|
299
290
|
export class ThreatDetectionService {
|
|
300
291
|
patterns;
|
|
292
|
+
packDetector;
|
|
301
293
|
detectionCount = 0;
|
|
302
294
|
totalDetectionTimeMs = 0;
|
|
303
|
-
constructor(
|
|
304
|
-
|
|
295
|
+
constructor(options) {
|
|
296
|
+
const opts = Array.isArray(options) ? { patterns: options } : options ?? {};
|
|
297
|
+
this.patterns = opts.patterns ?? PROMPT_INJECTION_PATTERNS;
|
|
298
|
+
// Packs are compiled once per process; this only selects a detector.
|
|
299
|
+
this.packDetector = resolvePackDetector(opts.packs);
|
|
305
300
|
}
|
|
306
301
|
/**
|
|
307
302
|
* Detect threats in input text
|
|
@@ -312,12 +307,21 @@ export class ThreatDetectionService {
|
|
|
312
307
|
const threats = [];
|
|
313
308
|
// Normalize input
|
|
314
309
|
const normalizedInput = this.normalizeInput(input);
|
|
315
|
-
// Pattern matching
|
|
310
|
+
// Pattern matching. The indicator count is computed once per input,
|
|
311
|
+
// not once per match (it was O(P^2) per detect).
|
|
312
|
+
let threatIndicatorCount = 0;
|
|
313
|
+
const matches = [];
|
|
316
314
|
for (const pattern of this.patterns) {
|
|
317
315
|
const match = pattern.pattern.exec(normalizedInput);
|
|
318
316
|
if (match) {
|
|
317
|
+
threatIndicatorCount += 1;
|
|
318
|
+
matches.push({ pattern, match });
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
for (const { pattern, match } of matches) {
|
|
322
|
+
{
|
|
319
323
|
// Calculate confidence with context
|
|
320
|
-
const confidence = this.calculateConfidence(pattern, match, normalizedInput);
|
|
324
|
+
const confidence = this.calculateConfidence(pattern, match, normalizedInput, threatIndicatorCount);
|
|
321
325
|
threats.push(createThreat({
|
|
322
326
|
type: pattern.type,
|
|
323
327
|
severity: this.adjustSeverity(pattern.severity, confidence),
|
|
@@ -331,6 +335,12 @@ export class ThreatDetectionService {
|
|
|
331
335
|
}));
|
|
332
336
|
}
|
|
333
337
|
}
|
|
338
|
+
// AIMDS pattern packs: a separate pass over the RAW input (the pack
|
|
339
|
+
// normaliser keeps newlines, which some pack regexes rely on). Pack hits
|
|
340
|
+
// do not feed threatIndicatorCount, so built-in confidences are unchanged.
|
|
341
|
+
if (this.packDetector) {
|
|
342
|
+
threats.push(...detectPackThreats(this.packDetector, input));
|
|
343
|
+
}
|
|
334
344
|
// PII detection
|
|
335
345
|
const piiFound = this.detectPII(input);
|
|
336
346
|
const detectionTimeMs = performance.now() - startTime;
|
|
@@ -362,6 +372,12 @@ export class ThreatDetectionService {
|
|
|
362
372
|
}
|
|
363
373
|
}
|
|
364
374
|
}
|
|
375
|
+
if (this.packDetector) {
|
|
376
|
+
for (const t of this.packDetector.detect(input).threats) {
|
|
377
|
+
threatFound = true;
|
|
378
|
+
maxConfidence = Math.max(maxConfidence, t.confidence);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
365
381
|
return { threat: threatFound, confidence: maxConfidence };
|
|
366
382
|
}
|
|
367
383
|
/**
|
|
@@ -402,10 +418,9 @@ export class ThreatDetectionService {
|
|
|
402
418
|
/**
|
|
403
419
|
* Calculate confidence with contextual factors
|
|
404
420
|
*/
|
|
405
|
-
calculateConfidence(pattern, match, input) {
|
|
421
|
+
calculateConfidence(pattern, match, input, threatIndicatorCount) {
|
|
406
422
|
let confidence = pattern.baseConfidence;
|
|
407
|
-
// Boost confidence if multiple threat indicators
|
|
408
|
-
const threatIndicatorCount = this.patterns.filter(p => p.pattern.test(input)).length;
|
|
423
|
+
// Boost confidence if multiple threat indicators (counted once by the caller)
|
|
409
424
|
if (threatIndicatorCount > 1) {
|
|
410
425
|
confidence = Math.min(confidence + 0.05 * (threatIndicatorCount - 1), 0.99);
|
|
411
426
|
}
|
|
@@ -460,7 +475,7 @@ export class ThreatDetectionService {
|
|
|
460
475
|
/**
|
|
461
476
|
* Create a new ThreatDetectionService instance
|
|
462
477
|
*/
|
|
463
|
-
export function createThreatDetectionService(
|
|
464
|
-
return new ThreatDetectionService(
|
|
478
|
+
export function createThreatDetectionService(options) {
|
|
479
|
+
return new ThreatDetectionService(options);
|
|
465
480
|
}
|
|
466
481
|
//# sourceMappingURL=threat-detection-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threat-detection-service.js","sourceRoot":"","sources":["../../../src/domain/services/threat-detection-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"threat-detection-service.js","sourceRoot":"","sources":["../../../src/domain/services/threat-detection-service.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -30,10 +30,14 @@
|
|
|
30
30
|
export type { Threat, ThreatType, ThreatSeverity, ThreatDetectionResult, BehavioralAnalysisResult, PolicyVerificationResult, } from './domain/entities/threat.js';
|
|
31
31
|
export { createThreat } from './domain/entities/threat.js';
|
|
32
32
|
export { ThreatDetectionService, createThreatDetectionService } from './domain/services/threat-detection-service.js';
|
|
33
|
+
export type { ThreatDetectionOptions, ThreatPattern } from './domain/services/threat-detection-service.js';
|
|
34
|
+
export { InjectionDetector, createInjectionDetector, getInjectionDetector, EMBEDDED_PACKS, } from './domain/services/packs/index.js';
|
|
35
|
+
export type { InjectionDetectorConfig, InjectionReport, InjectionThreat, PackName, PackSelection, PatternPack, PatternSpec, } from './domain/services/packs/index.js';
|
|
33
36
|
export type { LearnedThreatPattern, MitigationStrategy, LearningTrajectory, VectorStore, } from './domain/services/threat-learning-service.js';
|
|
34
37
|
export { ThreatLearningService, createThreatLearningService, InMemoryVectorStore, } from './domain/services/threat-learning-service.js';
|
|
35
38
|
import type { ThreatDetectionResult, ThreatType, Threat } from './domain/entities/threat.js';
|
|
36
39
|
import type { LearnedThreatPattern, MitigationStrategy, VectorStore } from './domain/services/threat-learning-service.js';
|
|
40
|
+
import type { PackSelection } from './domain/services/packs/index.js';
|
|
37
41
|
/**
|
|
38
42
|
* Configuration for AIDefence
|
|
39
43
|
*/
|
|
@@ -46,6 +50,11 @@ export interface AIDefenceConfig {
|
|
|
46
50
|
confidenceThreshold?: number;
|
|
47
51
|
/** Enable PII detection */
|
|
48
52
|
enablePIIDetection?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* AIMDS pattern packs scanned alongside the built-in patterns. Default
|
|
55
|
+
* `true` (all vendored packs); `false` restores built-ins-only detection.
|
|
56
|
+
*/
|
|
57
|
+
packs?: PackSelection;
|
|
49
58
|
}
|
|
50
59
|
/**
|
|
51
60
|
* AIDefence - Unified threat detection and learning facade
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,YAAY,EACV,MAAM,EACN,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAG3D,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -30,6 +30,8 @@
|
|
|
30
30
|
export { createThreat } from './domain/entities/threat.js';
|
|
31
31
|
// Domain services
|
|
32
32
|
export { ThreatDetectionService, createThreatDetectionService } from './domain/services/threat-detection-service.js';
|
|
33
|
+
// AIMDS pattern packs (3.1.0): the pack engine, usable on its own.
|
|
34
|
+
export { InjectionDetector, createInjectionDetector, getInjectionDetector, EMBEDDED_PACKS, } from './domain/services/packs/index.js';
|
|
33
35
|
export { ThreatLearningService, createThreatLearningService, InMemoryVectorStore, } from './domain/services/threat-learning-service.js';
|
|
34
36
|
// Import for internal use
|
|
35
37
|
import { createThreatDetectionService } from './domain/services/threat-detection-service.js';
|
|
@@ -55,7 +57,7 @@ import { createThreatLearningService } from './domain/services/threat-learning-s
|
|
|
55
57
|
* ```
|
|
56
58
|
*/
|
|
57
59
|
export function createAIDefence(config = {}) {
|
|
58
|
-
const detectionService = createThreatDetectionService();
|
|
60
|
+
const detectionService = createThreatDetectionService({ packs: config.packs });
|
|
59
61
|
const learningService = config.enableLearning
|
|
60
62
|
? createThreatLearningService(config.vectorStore)
|
|
61
63
|
: null;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAYH,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,kBAAkB;AAClB,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@claude-flow/aidefence",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "AI Manipulation Defense System (AIMDS) with self-learning, prompt injection detection, and vector search integration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/node": "^20.10.0",
|
|
43
43
|
"typescript": "^5.3.3",
|
|
44
|
-
"vitest": "^4.0
|
|
44
|
+
"vitest": "^4.1.0"
|
|
45
45
|
},
|
|
46
46
|
"keywords": [
|
|
47
47
|
"ai-security",
|
|
@@ -67,8 +67,7 @@
|
|
|
67
67
|
},
|
|
68
68
|
"homepage": "https://github.com/ruvnet/claude-flow/tree/main/v3/@claude-flow/aidefence#readme",
|
|
69
69
|
"publishConfig": {
|
|
70
|
-
"access": "public"
|
|
71
|
-
"tag": "alpha"
|
|
70
|
+
"access": "public"
|
|
72
71
|
},
|
|
73
72
|
"engines": {
|
|
74
73
|
"node": ">=18.0.0"
|