@claude-flow/aidefence 3.0.3 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +65 -50
  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 +4 -5
@@ -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;AAuSD;;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,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
- * Ported wider-detection pass from upstream `aidefence@2.3.0` /
18
- * `aimds-*@0.1.1` (ADR-118, ruvnet/ruflo#2004 announce):
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 generalized **verb→noun window** of 0..4 modifier words now
21
- * catches the canonical "ignore all previous instructions" family
22
- * plus its many phrasings (e.g. "disregard every system prompt
23
- * above", "forget all of the prior rules"). The narrow regexes
24
- * below stay as belt-and-suspenders for cases the window misses
25
- * (verb-only phrasings without an explicit noun, etc.) — they
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 is targeting. `system\s*-?\s*prompt` matches `system prompt` and `system-prompt`. */
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 (e.g. "all", "previous",
40
- * "every single one of the previous"). Upstream ADR-118 specified
41
- * 0..4; we widen to 0..6 because the canonical hostile phrasing
42
- * "forget every single one of the previous prompts" uses 6 words
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 = `(?:\\s+\\S+){0,6}`;
39
+ const OVERRIDE_WINDOW = '(?:\\s+\\S+){0,6}';
47
40
  const PROMPT_INJECTION_PATTERNS = [
48
- // ── ADR-118 wider window pattern (catches "ignore all previous
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-verb → noun within 0..4-modifier window (ADR-118)',
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 legacy regexes — kept as
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.*\bmode\b|\bmode\b.*\bDAN\b/i,
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
- 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/,
267
258
  type: 'email',
268
259
  description: 'Email address',
269
260
  },
270
261
  {
271
- pattern: /\b\d{3}-\d{2}-\d{4}\b/g,
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/g,
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/g,
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/g,
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,}["']?/gi,
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(customPatterns) {
304
- 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);
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(customPatterns) {
464
- return new ThreatDetectionService(customPatterns);
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
@@ -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":"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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",
3
+ "version": "3.1.1",
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",
@@ -31,7 +31,7 @@
31
31
  "typecheck": "tsc --noEmit"
32
32
  },
33
33
  "peerDependencies": {
34
- "agentdb": ">=2.0.0-alpha.1"
34
+ "agentdb": "^3.6.0"
35
35
  },
36
36
  "peerDependenciesMeta": {
37
37
  "agentdb": {
@@ -41,7 +41,7 @@
41
41
  "devDependencies": {
42
42
  "@types/node": "^20.10.0",
43
43
  "typescript": "^5.3.3",
44
- "vitest": "^4.0.16"
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"