@claude-flow/aidefence 3.0.2 → 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 +93 -19
- 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,11 +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
|
-
* Prompt injection patterns (50+ patterns from AIMDS)
|
|
16
|
+
* Prompt injection patterns (originally 50+ patterns from AIMDS).
|
|
17
|
+
*
|
|
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.
|
|
21
|
+
*
|
|
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`.
|
|
28
|
+
*/
|
|
29
|
+
/** Verbs that flag a likely override attempt. ADR-118 / #2004. */
|
|
30
|
+
const OVERRIDE_VERBS = ['ignore', 'disregard', 'forget', 'override'].join('|');
|
|
31
|
+
/** Nouns the override targets. `system\s*-?\s*prompts?` matches "system prompt" and "system-prompt". */
|
|
32
|
+
const OVERRIDE_NOUNS = ['instructions?', 'prompts?', 'rules?', 'context', 'system\\s*-?\\s*prompts?'].join('|');
|
|
33
|
+
/**
|
|
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).
|
|
16
38
|
*/
|
|
39
|
+
const OVERRIDE_WINDOW = '(?:\\s+\\S+){0,6}';
|
|
17
40
|
const PROMPT_INJECTION_PATTERNS = [
|
|
18
|
-
//
|
|
41
|
+
// ADR-118 window: override verb → target noun across 0..6 modifier words.
|
|
42
|
+
{
|
|
43
|
+
pattern: new RegExp(`\\b(${OVERRIDE_VERBS})${OVERRIDE_WINDOW}\\s+(${OVERRIDE_NOUNS})\\b`, 'i'),
|
|
44
|
+
type: 'instruction_override',
|
|
45
|
+
severity: 'critical',
|
|
46
|
+
description: 'Override verb followed by a target noun within 0..6 words (ADR-118)',
|
|
47
|
+
baseConfidence: 0.96,
|
|
48
|
+
},
|
|
49
|
+
// Instruction override patterns (narrow; kept for phrasings the window misses)
|
|
19
50
|
{
|
|
20
51
|
pattern: /ignore\s+(all\s+)?(previous\s+)?instructions/i,
|
|
21
52
|
type: 'instruction_override',
|
|
@@ -66,9 +97,17 @@ const PROMPT_INJECTION_PATTERNS = [
|
|
|
66
97
|
description: 'Roleplay instruction that may be legitimate',
|
|
67
98
|
baseConfidence: 0.65,
|
|
68
99
|
},
|
|
100
|
+
{
|
|
101
|
+
// ADR-118: `behave as/like a different|new|another|unrestricted …`.
|
|
102
|
+
pattern: /behave\s+(as|like)\s+(an?\s+)?(different|new|another|unrestricted)/i,
|
|
103
|
+
type: 'role_switching',
|
|
104
|
+
severity: 'high',
|
|
105
|
+
description: 'Behavior-hijack instruction (ADR-118)',
|
|
106
|
+
baseConfidence: 0.78,
|
|
107
|
+
},
|
|
69
108
|
// Jailbreak patterns
|
|
70
109
|
{
|
|
71
|
-
pattern: /\bDAN\b
|
|
110
|
+
pattern: /\bDAN\b[^\n]{0,200}?\bmode\b|\bmode\b[^\n]{0,200}?\bDAN\b/i,
|
|
72
111
|
type: 'jailbreak',
|
|
73
112
|
severity: 'critical',
|
|
74
113
|
description: 'DAN jailbreak attempt',
|
|
@@ -102,6 +141,14 @@ const PROMPT_INJECTION_PATTERNS = [
|
|
|
102
141
|
description: 'Attempt to disable safety filters',
|
|
103
142
|
baseConfidence: 0.96,
|
|
104
143
|
},
|
|
144
|
+
{
|
|
145
|
+
// ADR-118: privileged-mode jailbreaks beyond DAN / developer mode.
|
|
146
|
+
pattern: /\b(god|root|admin|sudo)\s*mode\b/i,
|
|
147
|
+
type: 'jailbreak',
|
|
148
|
+
severity: 'critical',
|
|
149
|
+
description: 'Privileged-mode jailbreak attempt (ADR-118)',
|
|
150
|
+
baseConfidence: 0.94,
|
|
151
|
+
},
|
|
105
152
|
// Context manipulation patterns
|
|
106
153
|
{
|
|
107
154
|
pattern: /system\s*:\s*|<\|system\|>|<system>/i,
|
|
@@ -132,7 +179,7 @@ const PROMPT_INJECTION_PATTERNS = [
|
|
|
132
179
|
baseConfidence: 0.75,
|
|
133
180
|
},
|
|
134
181
|
{
|
|
135
|
-
pattern: /\[\[
|
|
182
|
+
pattern: /\[\[[^\]\n]{0,200}\]\]|<<[^>\n]{0,200}>>|\{\{[^}\n]{0,200}\}\}/,
|
|
136
183
|
type: 'context_manipulation',
|
|
137
184
|
severity: 'medium',
|
|
138
185
|
description: 'Special bracket injection attempt',
|
|
@@ -204,32 +251,35 @@ const PROMPT_INJECTION_PATTERNS = [
|
|
|
204
251
|
*/
|
|
205
252
|
const PII_PATTERNS = [
|
|
206
253
|
{
|
|
207
|
-
|
|
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/,
|
|
208
258
|
type: 'email',
|
|
209
259
|
description: 'Email address',
|
|
210
260
|
},
|
|
211
261
|
{
|
|
212
|
-
pattern: /\b\d{3}-\d{2}-\d{4}\b
|
|
262
|
+
pattern: /\b\d{3}-\d{2}-\d{4}\b/,
|
|
213
263
|
type: 'ssn',
|
|
214
264
|
description: 'Social Security Number',
|
|
215
265
|
},
|
|
216
266
|
{
|
|
217
|
-
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/,
|
|
218
268
|
type: 'credit_card',
|
|
219
269
|
description: 'Credit card number',
|
|
220
270
|
},
|
|
221
271
|
{
|
|
222
|
-
pattern: /\b(sk-[a-zA-Z0-9]{
|
|
272
|
+
pattern: /\b(sk-[a-zA-Z0-9]{20,}|sk-ant-[a-zA-Z0-9-]{20,})\b/,
|
|
223
273
|
type: 'api_key',
|
|
224
274
|
description: 'API key (OpenAI/Anthropic format)',
|
|
225
275
|
},
|
|
226
276
|
{
|
|
227
|
-
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/,
|
|
228
278
|
type: 'api_key',
|
|
229
279
|
description: 'GitHub token',
|
|
230
280
|
},
|
|
231
281
|
{
|
|
232
|
-
pattern: /password\s*[:=]\s*["']?[^"'\s]{4,}["']?/
|
|
282
|
+
pattern: /password\s*[:=]\s*["']?[^"'\s]{4,}["']?/i,
|
|
233
283
|
type: 'password',
|
|
234
284
|
description: 'Hardcoded password',
|
|
235
285
|
},
|
|
@@ -239,10 +289,14 @@ const PII_PATTERNS = [
|
|
|
239
289
|
*/
|
|
240
290
|
export class ThreatDetectionService {
|
|
241
291
|
patterns;
|
|
292
|
+
packDetector;
|
|
242
293
|
detectionCount = 0;
|
|
243
294
|
totalDetectionTimeMs = 0;
|
|
244
|
-
constructor(
|
|
245
|
-
|
|
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);
|
|
246
300
|
}
|
|
247
301
|
/**
|
|
248
302
|
* Detect threats in input text
|
|
@@ -253,12 +307,21 @@ export class ThreatDetectionService {
|
|
|
253
307
|
const threats = [];
|
|
254
308
|
// Normalize input
|
|
255
309
|
const normalizedInput = this.normalizeInput(input);
|
|
256
|
-
// 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 = [];
|
|
257
314
|
for (const pattern of this.patterns) {
|
|
258
315
|
const match = pattern.pattern.exec(normalizedInput);
|
|
259
316
|
if (match) {
|
|
317
|
+
threatIndicatorCount += 1;
|
|
318
|
+
matches.push({ pattern, match });
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
for (const { pattern, match } of matches) {
|
|
322
|
+
{
|
|
260
323
|
// Calculate confidence with context
|
|
261
|
-
const confidence = this.calculateConfidence(pattern, match, normalizedInput);
|
|
324
|
+
const confidence = this.calculateConfidence(pattern, match, normalizedInput, threatIndicatorCount);
|
|
262
325
|
threats.push(createThreat({
|
|
263
326
|
type: pattern.type,
|
|
264
327
|
severity: this.adjustSeverity(pattern.severity, confidence),
|
|
@@ -272,6 +335,12 @@ export class ThreatDetectionService {
|
|
|
272
335
|
}));
|
|
273
336
|
}
|
|
274
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
|
+
}
|
|
275
344
|
// PII detection
|
|
276
345
|
const piiFound = this.detectPII(input);
|
|
277
346
|
const detectionTimeMs = performance.now() - startTime;
|
|
@@ -303,6 +372,12 @@ export class ThreatDetectionService {
|
|
|
303
372
|
}
|
|
304
373
|
}
|
|
305
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
|
+
}
|
|
306
381
|
return { threat: threatFound, confidence: maxConfidence };
|
|
307
382
|
}
|
|
308
383
|
/**
|
|
@@ -343,10 +418,9 @@ export class ThreatDetectionService {
|
|
|
343
418
|
/**
|
|
344
419
|
* Calculate confidence with contextual factors
|
|
345
420
|
*/
|
|
346
|
-
calculateConfidence(pattern, match, input) {
|
|
421
|
+
calculateConfidence(pattern, match, input, threatIndicatorCount) {
|
|
347
422
|
let confidence = pattern.baseConfidence;
|
|
348
|
-
// Boost confidence if multiple threat indicators
|
|
349
|
-
const threatIndicatorCount = this.patterns.filter(p => p.pattern.test(input)).length;
|
|
423
|
+
// Boost confidence if multiple threat indicators (counted once by the caller)
|
|
350
424
|
if (threatIndicatorCount > 1) {
|
|
351
425
|
confidence = Math.min(confidence + 0.05 * (threatIndicatorCount - 1), 0.99);
|
|
352
426
|
}
|
|
@@ -401,7 +475,7 @@ export class ThreatDetectionService {
|
|
|
401
475
|
/**
|
|
402
476
|
* Create a new ThreatDetectionService instance
|
|
403
477
|
*/
|
|
404
|
-
export function createThreatDetectionService(
|
|
405
|
-
return new ThreatDetectionService(
|
|
478
|
+
export function createThreatDetectionService(options) {
|
|
479
|
+
return new ThreatDetectionService(options);
|
|
406
480
|
}
|
|
407
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":"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;AACrH,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAG3G,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,GACf,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,eAAe,EACf,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,kCAAkC,CAAC;AAE1C,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,GACZ,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,8CAA8C,CAAC;AAKtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAC1H,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,+CAA+C;IAC/C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2BAA2B;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEtD;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAElE;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAE/B;;;OAGG;IACH,oBAAoB,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAEnC;;OAEG;IACH,kBAAkB,CAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,CAAC,EAAE;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GACxD,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;OAEG;IACH,gBAAgB,CACd,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,EACvF,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;OAEG;IACH,iBAAiB,CACf,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IAEtC;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvD;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5F;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,eAAe,EAAE,MAAM,CAAC;QACxB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,0BAA0B,EAAE,MAAM,CAAC;KACpC,CAAC,CAAC;CACJ;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAAC,MAAM,GAAE,eAAoB,GAAG,SAAS,CA0EvE;AAOD;;GAEG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAKxC;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAG7C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,yBAGzC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,qBAAqB,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,gBAAgB,EAAE,GAC9B;IACD,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B,CA2CA"}
|
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": "^
|
|
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"
|