@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.
Files changed (65) hide show
  1. package/dist/domain/entities/threat.d.ts +4 -1
  2. package/dist/domain/entities/threat.d.ts.map +1 -1
  3. package/dist/domain/entities/threat.js +1 -0
  4. package/dist/domain/entities/threat.js.map +1 -1
  5. package/dist/domain/services/packs/adapter.d.ts +20 -0
  6. package/dist/domain/services/packs/adapter.d.ts.map +1 -0
  7. package/dist/domain/services/packs/adapter.js +56 -0
  8. package/dist/domain/services/packs/adapter.js.map +1 -0
  9. package/dist/domain/services/packs/data/core.d.ts +9 -0
  10. package/dist/domain/services/packs/data/core.d.ts.map +1 -0
  11. package/dist/domain/services/packs/data/core.js +346 -0
  12. package/dist/domain/services/packs/data/core.js.map +1 -0
  13. package/dist/domain/services/packs/data/encoded-instruction.d.ts +9 -0
  14. package/dist/domain/services/packs/data/encoded-instruction.d.ts.map +1 -0
  15. package/dist/domain/services/packs/data/encoded-instruction.js +69 -0
  16. package/dist/domain/services/packs/data/encoded-instruction.js.map +1 -0
  17. package/dist/domain/services/packs/data/exfil-url.d.ts +9 -0
  18. package/dist/domain/services/packs/data/exfil-url.d.ts.map +1 -0
  19. package/dist/domain/services/packs/data/exfil-url.js +97 -0
  20. package/dist/domain/services/packs/data/exfil-url.js.map +1 -0
  21. package/dist/domain/services/packs/data/index.d.ts +7 -0
  22. package/dist/domain/services/packs/data/index.d.ts.map +1 -0
  23. package/dist/domain/services/packs/data/index.js +19 -0
  24. package/dist/domain/services/packs/data/index.js.map +1 -0
  25. package/dist/domain/services/packs/data/instruction-override-i18n.d.ts +9 -0
  26. package/dist/domain/services/packs/data/instruction-override-i18n.d.ts.map +1 -0
  27. package/dist/domain/services/packs/data/instruction-override-i18n.js +81 -0
  28. package/dist/domain/services/packs/data/instruction-override-i18n.js.map +1 -0
  29. package/dist/domain/services/packs/data/slack-markup-forgery.d.ts +9 -0
  30. package/dist/domain/services/packs/data/slack-markup-forgery.d.ts.map +1 -0
  31. package/dist/domain/services/packs/data/slack-markup-forgery.js +81 -0
  32. package/dist/domain/services/packs/data/slack-markup-forgery.js.map +1 -0
  33. package/dist/domain/services/packs/data/tool-invocation.d.ts +9 -0
  34. package/dist/domain/services/packs/data/tool-invocation.d.ts.map +1 -0
  35. package/dist/domain/services/packs/data/tool-invocation.js +125 -0
  36. package/dist/domain/services/packs/data/tool-invocation.js.map +1 -0
  37. package/dist/domain/services/packs/decoders.d.ts +39 -0
  38. package/dist/domain/services/packs/decoders.d.ts.map +1 -0
  39. package/dist/domain/services/packs/decoders.js +121 -0
  40. package/dist/domain/services/packs/decoders.js.map +1 -0
  41. package/dist/domain/services/packs/engine.d.ts +93 -0
  42. package/dist/domain/services/packs/engine.d.ts.map +1 -0
  43. package/dist/domain/services/packs/engine.js +190 -0
  44. package/dist/domain/services/packs/engine.js.map +1 -0
  45. package/dist/domain/services/packs/index.d.ts +18 -0
  46. package/dist/domain/services/packs/index.d.ts.map +1 -0
  47. package/dist/domain/services/packs/index.js +14 -0
  48. package/dist/domain/services/packs/index.js.map +1 -0
  49. package/dist/domain/services/packs/normalize.d.ts +24 -0
  50. package/dist/domain/services/packs/normalize.d.ts.map +1 -0
  51. package/dist/domain/services/packs/normalize.js +118 -0
  52. package/dist/domain/services/packs/normalize.js.map +1 -0
  53. package/dist/domain/services/packs/pattern-loader.d.ts +44 -0
  54. package/dist/domain/services/packs/pattern-loader.d.ts.map +1 -0
  55. package/dist/domain/services/packs/pattern-loader.js +70 -0
  56. package/dist/domain/services/packs/pattern-loader.js.map +1 -0
  57. package/dist/domain/services/threat-detection-service.d.ts +19 -4
  58. package/dist/domain/services/threat-detection-service.d.ts.map +1 -1
  59. package/dist/domain/services/threat-detection-service.js +93 -19
  60. package/dist/domain/services/threat-detection-service.js.map +1 -1
  61. package/dist/index.d.ts +9 -0
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +3 -1
  64. package/dist/index.js.map +1 -1
  65. 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(customPatterns?: ThreatPattern[]);
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(customPatterns?: ThreatPattern[]): ThreatDetectionService;
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;AAG/B;;GAEG;AACH,UAAU,aAAa;IACrB,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;AA0OD;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,oBAAoB,CAAK;gBAErB,cAAc,CAAC,EAAE,aAAa,EAAE;IAI5C;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB;IA4C5C;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAqBjE;;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,cAAc,CAAC,EAAE,aAAa,EAAE,GAC/B,sBAAsB,CAExB"}
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
- // Instruction override patterns
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.*\bmode\b|\bmode\b.*\bDAN\b/i,
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
- pattern: /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g,
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/g,
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/g,
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]{48}|sk-ant-[a-zA-Z0-9-]{90,})\b/g,
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/g,
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,}["']?/gi,
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(customPatterns) {
245
- this.patterns = customPatterns ?? PROMPT_INJECTION_PATTERNS;
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(customPatterns) {
405
- return new ThreatDetectionService(customPatterns);
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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":"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"}
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;AAGrH,mEAAmE;AACnE,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,GACf,MAAM,kCAAkC,CAAC;AAkB1C,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,8CAA8C,CAAC;AAEtD,0BAA0B;AAC1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAmG3F;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,eAAe,CAAC,SAA0B,EAAE;IAC1D,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/E,MAAM,eAAe,GAAG,MAAM,CAAC,cAAc;QAC3C,CAAC,CAAC,2BAA2B,CAAC,MAAM,CAAC,WAAW,CAAC;QACjD,CAAC,CAAC,IAAI,CAAC;IAET,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,KAAa;YACxB,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE9C,wBAAwB;YACxB,IAAI,eAAe,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjD,MAAM,eAAe,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1D,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,SAAS,CAAC,KAAa;YACrB,OAAO,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,CAAC,KAAa;YAClB,OAAO,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QAED,KAAK,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO;YACvC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,eAAe,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;QAED,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ;YAC9C,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;gBACzF,OAAO;YACT,CAAC;YACD,MAAM,eAAe,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpE,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO;YAClD,IAAI,CAAC,eAAe;gBAAE,OAAO;YAC7B,MAAM,eAAe,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxE,CAAC;QAED,KAAK,CAAC,iBAAiB,CAAC,UAAU;YAChC,IAAI,CAAC,eAAe;gBAAE,OAAO,IAAI,CAAC;YAClC,OAAO,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QAED,eAAe,CAAC,SAAS,EAAE,IAAI;YAC7B,eAAe,EAAE,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO;YACpC,MAAM,eAAe,EAAE,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;QAED,KAAK,CAAC,QAAQ;YACZ,MAAM,cAAc,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YACnD,MAAM,aAAa,GAAG,eAAe;gBACnC,CAAC,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE;gBAClC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;YAEzE,OAAO;gBACL,cAAc,EAAE,cAAc,CAAC,cAAc;gBAC7C,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;gBACrD,eAAe,EAAE,aAAa,CAAC,eAAe;gBAC9C,oBAAoB,EAAE,aAAa,CAAC,oBAAoB;gBACxD,0BAA0B,EAAE,aAAa,CAAC,gBAAgB;aAC3D,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,IAAI,eAAe,GAAqB,IAAI,CAAC;AAE7C;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,eAAe,GAAG,eAAe,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,KAAa;IAClC,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAC;IAC/C,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAC;IAC/C,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAYD;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,WAA+B;IAM/B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;IACxE,CAAC;IAED,oBAAoB;IACpB,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvC,GAAG,CAAC;QACJ,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,WAAW;KAC/B,CAAC,CAAC,CAAC;IAEJ,kCAAkC;IAClC,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,MAAM,UAAU,IAAI,UAAU,EAAE,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YACtC,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC;YACjC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;IAE1E,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/D,eAAe;SAChB,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC;QACtB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;IAC/E,CAAC;IAED,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC;QACtB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,WAAW,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;IACjF,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;AAC1E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claude-flow/aidefence",
3
- "version": "3.0.2",
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": "^1.1.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"