agent-threat-rules 0.2.2 → 0.3.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 (125) hide show
  1. package/README.md +152 -642
  2. package/dist/capability-extractor.d.ts +35 -0
  3. package/dist/capability-extractor.d.ts.map +1 -0
  4. package/dist/capability-extractor.js +91 -0
  5. package/dist/capability-extractor.js.map +1 -0
  6. package/dist/cli.js +56 -2
  7. package/dist/cli.js.map +1 -1
  8. package/dist/converters/elastic.d.ts +36 -0
  9. package/dist/converters/elastic.d.ts.map +1 -0
  10. package/dist/converters/elastic.js +125 -0
  11. package/dist/converters/elastic.js.map +1 -0
  12. package/dist/converters/index.d.ts +28 -0
  13. package/dist/converters/index.d.ts.map +1 -0
  14. package/dist/converters/index.js +36 -0
  15. package/dist/converters/index.js.map +1 -0
  16. package/dist/converters/splunk.d.ts +19 -0
  17. package/dist/converters/splunk.d.ts.map +1 -0
  18. package/dist/converters/splunk.js +148 -0
  19. package/dist/converters/splunk.js.map +1 -0
  20. package/dist/embedding/build-corpus.d.ts +15 -0
  21. package/dist/embedding/build-corpus.d.ts.map +1 -0
  22. package/dist/embedding/build-corpus.js +105 -0
  23. package/dist/embedding/build-corpus.js.map +1 -0
  24. package/dist/embedding/model-loader.d.ts +41 -0
  25. package/dist/embedding/model-loader.d.ts.map +1 -0
  26. package/dist/embedding/model-loader.js +90 -0
  27. package/dist/embedding/model-loader.js.map +1 -0
  28. package/dist/embedding/vector-store.d.ts +41 -0
  29. package/dist/embedding/vector-store.d.ts.map +1 -0
  30. package/dist/embedding/vector-store.js +70 -0
  31. package/dist/embedding/vector-store.js.map +1 -0
  32. package/dist/engine.d.ts +23 -20
  33. package/dist/engine.d.ts.map +1 -1
  34. package/dist/engine.js +173 -24
  35. package/dist/engine.js.map +1 -1
  36. package/dist/eval/corpus.d.ts +42 -0
  37. package/dist/eval/corpus.d.ts.map +1 -0
  38. package/dist/eval/corpus.js +427 -0
  39. package/dist/eval/corpus.js.map +1 -0
  40. package/dist/eval/eval-harness.d.ts +44 -0
  41. package/dist/eval/eval-harness.d.ts.map +1 -0
  42. package/dist/eval/eval-harness.js +296 -0
  43. package/dist/eval/eval-harness.js.map +1 -0
  44. package/dist/eval/index.d.ts +13 -0
  45. package/dist/eval/index.d.ts.map +1 -0
  46. package/dist/eval/index.js +9 -0
  47. package/dist/eval/index.js.map +1 -0
  48. package/dist/eval/metrics.d.ts +74 -0
  49. package/dist/eval/metrics.d.ts.map +1 -0
  50. package/dist/eval/metrics.js +108 -0
  51. package/dist/eval/metrics.js.map +1 -0
  52. package/dist/eval/pint-corpus.d.ts +34 -0
  53. package/dist/eval/pint-corpus.d.ts.map +1 -0
  54. package/dist/eval/pint-corpus.js +109 -0
  55. package/dist/eval/pint-corpus.js.map +1 -0
  56. package/dist/eval/rule-corpus.d.ts +9 -0
  57. package/dist/eval/rule-corpus.d.ts.map +1 -0
  58. package/dist/eval/rule-corpus.js +4780 -0
  59. package/dist/eval/rule-corpus.js.map +1 -0
  60. package/dist/eval/rule-metrics.d.ts +34 -0
  61. package/dist/eval/rule-metrics.d.ts.map +1 -0
  62. package/dist/eval/rule-metrics.js +92 -0
  63. package/dist/eval/rule-metrics.js.map +1 -0
  64. package/dist/eval/run-eval.d.ts +7 -0
  65. package/dist/eval/run-eval.d.ts.map +1 -0
  66. package/dist/eval/run-eval.js +11 -0
  67. package/dist/eval/run-eval.js.map +1 -0
  68. package/dist/eval/run-pint-benchmark.d.ts +18 -0
  69. package/dist/eval/run-pint-benchmark.d.ts.map +1 -0
  70. package/dist/eval/run-pint-benchmark.js +157 -0
  71. package/dist/eval/run-pint-benchmark.js.map +1 -0
  72. package/dist/flywheel.d.ts +54 -0
  73. package/dist/flywheel.d.ts.map +1 -0
  74. package/dist/flywheel.js +121 -0
  75. package/dist/flywheel.js.map +1 -0
  76. package/dist/index.d.ts +21 -1
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +19 -2
  79. package/dist/index.js.map +1 -1
  80. package/dist/modules/embedding.d.ts +71 -0
  81. package/dist/modules/embedding.d.ts.map +1 -0
  82. package/dist/modules/embedding.js +141 -0
  83. package/dist/modules/embedding.js.map +1 -0
  84. package/dist/modules/semantic.d.ts +1 -0
  85. package/dist/modules/semantic.d.ts.map +1 -1
  86. package/dist/modules/semantic.js +77 -1
  87. package/dist/modules/semantic.js.map +1 -1
  88. package/dist/rule-scaffolder.d.ts +14 -0
  89. package/dist/rule-scaffolder.d.ts.map +1 -1
  90. package/dist/rule-scaffolder.js +123 -6
  91. package/dist/rule-scaffolder.js.map +1 -1
  92. package/dist/session-tracker.d.ts +2 -0
  93. package/dist/session-tracker.d.ts.map +1 -1
  94. package/dist/session-tracker.js +1 -0
  95. package/dist/session-tracker.js.map +1 -1
  96. package/dist/shadow-evaluator.d.ts +48 -0
  97. package/dist/shadow-evaluator.d.ts.map +1 -0
  98. package/dist/shadow-evaluator.js +128 -0
  99. package/dist/shadow-evaluator.js.map +1 -0
  100. package/dist/skill-fingerprint.d.ts.map +1 -1
  101. package/dist/skill-fingerprint.js +10 -52
  102. package/dist/skill-fingerprint.js.map +1 -1
  103. package/dist/tier0-invariant.d.ts +49 -0
  104. package/dist/tier0-invariant.d.ts.map +1 -0
  105. package/dist/tier0-invariant.js +184 -0
  106. package/dist/tier0-invariant.js.map +1 -0
  107. package/dist/tier1-blacklist.d.ts +48 -0
  108. package/dist/tier1-blacklist.d.ts.map +1 -0
  109. package/dist/tier1-blacklist.js +91 -0
  110. package/dist/tier1-blacklist.js.map +1 -0
  111. package/package.json +7 -1
  112. package/rules/agent-manipulation/ATR-2026-108-consensus-sybil-attack.yaml +103 -0
  113. package/rules/context-exfiltration/ATR-2026-102-disguised-analytics-exfiltration.yaml +69 -0
  114. package/rules/privilege-escalation/ATR-2026-107-delayed-execution-bypass.yaml +67 -0
  115. package/rules/prompt-injection/ATR-2026-001-direct-prompt-injection.yaml +181 -94
  116. package/rules/prompt-injection/ATR-2026-003-jailbreak-attempt.yaml +23 -12
  117. package/rules/prompt-injection/ATR-2026-004-system-prompt-override.yaml +3 -3
  118. package/rules/prompt-injection/ATR-2026-081-semantic-multi-turn.yaml +2 -2
  119. package/rules/prompt-injection/ATR-2026-093-gradual-escalation.yaml +1 -1
  120. package/rules/prompt-injection/ATR-2026-104-persona-hijacking.yaml +72 -0
  121. package/rules/tool-poisoning/ATR-2026-100-consent-bypass-instruction.yaml +80 -0
  122. package/rules/tool-poisoning/ATR-2026-101-trust-escalation-override.yaml +66 -0
  123. package/rules/tool-poisoning/ATR-2026-103-hidden-safety-bypass-instruction.yaml +71 -0
  124. package/rules/tool-poisoning/ATR-2026-105-silent-action-concealment.yaml +67 -0
  125. package/rules/tool-poisoning/ATR-2026-106-schema-description-contradiction.yaml +66 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-corpus.js","sourceRoot":"","sources":["../../src/eval/rule-corpus.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Per-Rule Quality Metrics -- computes TP, FP, precision, recall,
3
+ * and confidence stats for each individual rule based on eval results.
4
+ *
5
+ * All functions are pure (no side effects, no mutation).
6
+ *
7
+ * @module agent-threat-rules/eval/rule-metrics
8
+ */
9
+ import type { SampleResult } from './metrics.js';
10
+ export interface RuleQuality {
11
+ readonly ruleId: string;
12
+ readonly matchCount: number;
13
+ readonly tpCount: number;
14
+ readonly fpCount: number;
15
+ readonly categories: readonly string[];
16
+ readonly avgConfidence: number;
17
+ }
18
+ export interface RuleQualityReport {
19
+ readonly totalRulesEvaluated: number;
20
+ readonly rulesFired: number;
21
+ readonly rulesNeverFired: number;
22
+ readonly topRules: readonly RuleQuality[];
23
+ readonly weakRules: readonly RuleQuality[];
24
+ readonly neverFiredRuleIds: readonly string[];
25
+ }
26
+ /**
27
+ * Compute per-rule quality metrics from eval results.
28
+ *
29
+ * @param results - The sample results from an eval run
30
+ * @param loadedRuleIds - All rule IDs that were loaded in the engine
31
+ * @returns A RuleQualityReport with top, weak, and never-fired rules
32
+ */
33
+ export declare function computeRuleQuality(results: readonly SampleResult[], loadedRuleIds: readonly string[]): RuleQualityReport;
34
+ //# sourceMappingURL=rule-metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-metrics.d.ts","sourceRoot":"","sources":["../../src/eval/rule-metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAMjD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,SAAS,WAAW,EAAE,CAAC;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AA8DD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,iBAAiB,CAyCnB"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Per-Rule Quality Metrics -- computes TP, FP, precision, recall,
3
+ * and confidence stats for each individual rule based on eval results.
4
+ *
5
+ * All functions are pure (no side effects, no mutation).
6
+ *
7
+ * @module agent-threat-rules/eval/rule-metrics
8
+ */
9
+ function emptyAccumulator(ruleId) {
10
+ return {
11
+ ruleId,
12
+ tp: 0,
13
+ fp: 0,
14
+ categories: new Set(),
15
+ confidenceSum: 0,
16
+ confidenceCount: 0,
17
+ };
18
+ }
19
+ function addSampleToAccumulator(acc, sample) {
20
+ const isAttack = sample.expectedDetection;
21
+ const newCategories = new Set(acc.categories);
22
+ newCategories.add(sample.category);
23
+ return {
24
+ ruleId: acc.ruleId,
25
+ tp: acc.tp + (isAttack ? 1 : 0),
26
+ fp: acc.fp + (isAttack ? 0 : 1),
27
+ categories: newCategories,
28
+ confidenceSum: acc.confidenceSum + sample.confidence,
29
+ confidenceCount: acc.confidenceCount + 1,
30
+ };
31
+ }
32
+ function accumulatorToQuality(acc) {
33
+ const matchCount = acc.tp + acc.fp;
34
+ return {
35
+ ruleId: acc.ruleId,
36
+ matchCount,
37
+ tpCount: acc.tp,
38
+ fpCount: acc.fp,
39
+ categories: [...acc.categories].sort(),
40
+ avgConfidence: acc.confidenceCount > 0
41
+ ? acc.confidenceSum / acc.confidenceCount
42
+ : 0,
43
+ };
44
+ }
45
+ // ---------------------------------------------------------------------------
46
+ // Core computation
47
+ // ---------------------------------------------------------------------------
48
+ /**
49
+ * Compute per-rule quality metrics from eval results.
50
+ *
51
+ * @param results - The sample results from an eval run
52
+ * @param loadedRuleIds - All rule IDs that were loaded in the engine
53
+ * @returns A RuleQualityReport with top, weak, and never-fired rules
54
+ */
55
+ export function computeRuleQuality(results, loadedRuleIds) {
56
+ // Build per-rule accumulators from results
57
+ const accumulators = new Map();
58
+ for (const sample of results) {
59
+ for (const ruleId of sample.matchedRules) {
60
+ const existing = accumulators.get(ruleId) ?? emptyAccumulator(ruleId);
61
+ accumulators.set(ruleId, addSampleToAccumulator(existing, sample));
62
+ }
63
+ }
64
+ // Convert accumulators to RuleQuality entries
65
+ const allQualities = [...accumulators.values()]
66
+ .map(accumulatorToQuality);
67
+ // Sort by matchCount descending for top rules
68
+ const sortedByMatch = [...allQualities].sort((a, b) => b.matchCount - a.matchCount);
69
+ // Weak rules: have FP > 0, or matchCount <= 1 (very low contribution)
70
+ const weakRules = [...allQualities]
71
+ .filter((r) => r.fpCount > 0 || r.matchCount <= 1)
72
+ .sort((a, b) => {
73
+ // Sort by fpCount desc first, then matchCount asc
74
+ if (b.fpCount !== a.fpCount)
75
+ return b.fpCount - a.fpCount;
76
+ return a.matchCount - b.matchCount;
77
+ });
78
+ // Determine never-fired rules
79
+ const firedRuleIds = new Set(accumulators.keys());
80
+ const neverFiredRuleIds = loadedRuleIds
81
+ .filter((id) => !firedRuleIds.has(id))
82
+ .sort();
83
+ return {
84
+ totalRulesEvaluated: loadedRuleIds.length,
85
+ rulesFired: firedRuleIds.size,
86
+ rulesNeverFired: neverFiredRuleIds.length,
87
+ topRules: sortedByMatch,
88
+ weakRules,
89
+ neverFiredRuleIds,
90
+ };
91
+ }
92
+ //# sourceMappingURL=rule-metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-metrics.js","sourceRoot":"","sources":["../../src/eval/rule-metrics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env npx tsx
2
+ /**
3
+ * CLI entry point for: npx tsx src/eval/run-eval.ts
4
+ * or: npm run eval
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=run-eval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-eval.d.ts","sourceRoot":"","sources":["../../src/eval/run-eval.ts"],"names":[],"mappings":";AACA;;;GAGG"}
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env npx tsx
2
+ /**
3
+ * CLI entry point for: npx tsx src/eval/run-eval.ts
4
+ * or: npm run eval
5
+ */
6
+ import { runEvalCLI } from './eval-harness.js';
7
+ runEvalCLI().catch((err) => {
8
+ console.error('Eval failed:', err);
9
+ process.exitCode = 1;
10
+ });
11
+ //# sourceMappingURL=run-eval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-eval.js","sourceRoot":"","sources":["../../src/eval/run-eval.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACzB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env npx tsx
2
+ /**
3
+ * PINT Benchmark Runner
4
+ *
5
+ * Standalone CLI that loads the PINT corpus (built from publicly available
6
+ * prompt injection datasets) and runs it through the ATR evaluation harness.
7
+ *
8
+ * Usage:
9
+ * npx tsx src/eval/run-pint-benchmark.ts
10
+ * npm run eval:pint
11
+ *
12
+ * The PINT corpus lives at data/pint-benchmark/pint-corpus.json and is
13
+ * converted on-the-fly into CorpusSample[] via loadPintCorpus().
14
+ *
15
+ * @module agent-threat-rules/eval/run-pint-benchmark
16
+ */
17
+ export {};
18
+ //# sourceMappingURL=run-pint-benchmark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-pint-benchmark.d.ts","sourceRoot":"","sources":["../../src/eval/run-pint-benchmark.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG"}
@@ -0,0 +1,157 @@
1
+ #!/usr/bin/env npx tsx
2
+ /**
3
+ * PINT Benchmark Runner
4
+ *
5
+ * Standalone CLI that loads the PINT corpus (built from publicly available
6
+ * prompt injection datasets) and runs it through the ATR evaluation harness.
7
+ *
8
+ * Usage:
9
+ * npx tsx src/eval/run-pint-benchmark.ts
10
+ * npm run eval:pint
11
+ *
12
+ * The PINT corpus lives at data/pint-benchmark/pint-corpus.json and is
13
+ * converted on-the-fly into CorpusSample[] via loadPintCorpus().
14
+ *
15
+ * @module agent-threat-rules/eval/run-pint-benchmark
16
+ */
17
+ import { resolve, join } from 'node:path';
18
+ import { loadPintCorpus, getPintCorpusStats } from './pint-corpus.js';
19
+ import { runEval } from './eval-harness.js';
20
+ // ---------------------------------------------------------------------------
21
+ // Formatting helpers
22
+ // ---------------------------------------------------------------------------
23
+ function formatPercent(n) {
24
+ return `${(n * 100).toFixed(1)}%`;
25
+ }
26
+ function formatMs(n) {
27
+ return `${n.toFixed(2)}ms`;
28
+ }
29
+ // ---------------------------------------------------------------------------
30
+ // Main
31
+ // ---------------------------------------------------------------------------
32
+ async function main() {
33
+ const base = resolve(join(import.meta.dirname ?? '.', '..', '..'));
34
+ const rulesDir = join(base, 'rules');
35
+ const dataPath = join(base, 'data', 'pint-benchmark', 'pint-corpus.json');
36
+ const outputPath = join(base, 'data', 'pint-benchmark', 'pint-eval-report.json');
37
+ console.log('\n=== PINT Benchmark -- ATR Evaluation ===\n');
38
+ console.log(`Corpus: ${dataPath}`);
39
+ console.log(`Rules: ${rulesDir}\n`);
40
+ // Load the PINT corpus
41
+ const corpus = loadPintCorpus(dataPath);
42
+ const stats = getPintCorpusStats(corpus);
43
+ console.log(`Loaded ${stats.total} samples (${stats.attacks} attacks, ${stats.benign} benign)`);
44
+ console.log(`Categories: ${Object.entries(stats.byCategory).map(([k, v]) => `${k}=${v}`).join(', ')}`);
45
+ console.log(`Difficulty: ${Object.entries(stats.byDifficulty).map(([k, v]) => `${k}=${v}`).join(', ')}`);
46
+ console.log(`Languages: ${Object.entries(stats.byLanguage).map(([k, v]) => `${k}=${v}`).join(', ')}`);
47
+ // Use relaxed thresholds for the PINT benchmark since it contains
48
+ // many paraphrased / multilingual attacks that regex-only won't catch.
49
+ // The PINT corpus is an external, adversarial dataset -- low recall is
50
+ // expected and reveals coverage gaps for future rule development.
51
+ const pintThresholds = {
52
+ minRecall: 0.10,
53
+ maxFpRate: 0.15,
54
+ minF1: 0.15,
55
+ maxP95LatencyMs: 100,
56
+ };
57
+ // Run eval with the PINT corpus
58
+ const { report, regression, tiersUsed, ruleQuality } = await runEval({
59
+ rulesDir,
60
+ corpus,
61
+ thresholds: pintThresholds,
62
+ outputPath,
63
+ });
64
+ // Overall metrics
65
+ console.log(`\nTiers: ${tiersUsed.join(' + ')}`);
66
+ console.log(`\n--- Overall ---`);
67
+ console.log(` Precision: ${formatPercent(report.overall.precision)}`);
68
+ console.log(` Recall: ${formatPercent(report.overall.recall)}`);
69
+ console.log(` F1: ${formatPercent(report.overall.f1)}`);
70
+ console.log(` Accuracy: ${formatPercent(report.overall.accuracy)}`);
71
+ console.log(` FP Rate: ${formatPercent(report.overall.fpRate)}`);
72
+ console.log(` Confusion: TP=${report.overall.confusion.tp} FP=${report.overall.confusion.fp} TN=${report.overall.confusion.tn} FN=${report.overall.confusion.fn}`);
73
+ // Latency
74
+ console.log(`\n--- Latency ---`);
75
+ console.log(` P50: ${formatMs(report.latency.p50)}`);
76
+ console.log(` P95: ${formatMs(report.latency.p95)}`);
77
+ console.log(` P99: ${formatMs(report.latency.p99)}`);
78
+ console.log(` Mean: ${formatMs(report.latency.mean)}`);
79
+ console.log(` Max: ${formatMs(report.latency.max)}`);
80
+ // Per category
81
+ console.log(`\n--- By Category ---`);
82
+ for (const cat of report.byCategory) {
83
+ const missed = cat.missedSamples.length;
84
+ const fps = cat.falsePositives.length;
85
+ console.log(` ${cat.category}: recall=${formatPercent(cat.metrics.recall)} ` +
86
+ `precision=${formatPercent(cat.metrics.precision)} ` +
87
+ `f1=${formatPercent(cat.metrics.f1)} ` +
88
+ `(missed=${missed}, FP=${fps})`);
89
+ }
90
+ // Per difficulty
91
+ console.log(`\n--- By Difficulty ---`);
92
+ for (const diff of report.byDifficulty) {
93
+ console.log(` ${diff.difficulty}: recall=${formatPercent(diff.metrics.recall)} ` +
94
+ `precision=${formatPercent(diff.metrics.precision)} ` +
95
+ `f1=${formatPercent(diff.metrics.f1)}`);
96
+ }
97
+ // Missed attacks (show first 20)
98
+ if (report.missedAttacks.length > 0) {
99
+ const showCount = Math.min(report.missedAttacks.length, 20);
100
+ console.log(`\n--- Missed Attacks (${report.missedAttacks.length} total, showing ${showCount}) ---`);
101
+ for (const m of report.missedAttacks.slice(0, showCount)) {
102
+ const lang = corpus.find((c) => c.id === m.id)?.fields?.['language'] ?? '?';
103
+ console.log(` [${m.id}] lang=${lang} ${m.category}/${m.difficulty}`);
104
+ }
105
+ if (report.missedAttacks.length > showCount) {
106
+ console.log(` ... and ${report.missedAttacks.length - showCount} more`);
107
+ }
108
+ }
109
+ // False positives (show first 20)
110
+ if (report.falsePositives.length > 0) {
111
+ const showCount = Math.min(report.falsePositives.length, 20);
112
+ console.log(`\n--- False Positives (${report.falsePositives.length} total, showing ${showCount}) ---`);
113
+ for (const fp of report.falsePositives.slice(0, showCount)) {
114
+ console.log(` [${fp.id}] rules: ${fp.matchedRules.join(', ')}`);
115
+ }
116
+ if (report.falsePositives.length > showCount) {
117
+ console.log(` ... and ${report.falsePositives.length - showCount} more`);
118
+ }
119
+ }
120
+ // Rule quality summary
121
+ console.log(`\n--- Rule Quality ---`);
122
+ console.log(` Total rules loaded: ${ruleQuality.totalRulesEvaluated}`);
123
+ console.log(` Rules fired: ${ruleQuality.rulesFired}`);
124
+ console.log(` Rules never fired: ${ruleQuality.rulesNeverFired}`);
125
+ if (ruleQuality.topRules.length > 0) {
126
+ console.log(`\n Top 10 rules by match count:`);
127
+ for (const rule of ruleQuality.topRules.slice(0, 10)) {
128
+ const precision = rule.matchCount > 0
129
+ ? formatPercent(rule.tpCount / rule.matchCount)
130
+ : 'N/A';
131
+ console.log(` ${rule.ruleId}: matches=${rule.matchCount} ` +
132
+ `TP=${rule.tpCount} FP=${rule.fpCount} ` +
133
+ `precision=${precision}`);
134
+ }
135
+ }
136
+ // Regression
137
+ console.log(`\n--- Regression Check (PINT thresholds) ---`);
138
+ if (regression.passed) {
139
+ console.log(' PASSED');
140
+ }
141
+ else {
142
+ console.log(' FAILED:');
143
+ for (const v of regression.violations) {
144
+ console.log(` - ${v}`);
145
+ }
146
+ }
147
+ console.log(`\nReport saved to: ${outputPath}`);
148
+ console.log('Done.\n');
149
+ if (!regression.passed) {
150
+ process.exitCode = 1;
151
+ }
152
+ }
153
+ main().catch((err) => {
154
+ console.error('PINT benchmark failed:', err);
155
+ process.exitCode = 1;
156
+ });
157
+ //# sourceMappingURL=run-pint-benchmark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-pint-benchmark.js","sourceRoot":"","sources":["../../src/eval/run-pint-benchmark.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Flywheel Manager -- automates the threat detection → rule generation → promotion cycle.
3
+ *
4
+ * Flow:
5
+ * 1. Tier 4 (LLM) detects novel threat → auto-scaffold rule
6
+ * 2. Rule enters shadow mode → ShadowEvaluator tracks FP rate
7
+ * 3. FP < threshold after N evaluations → auto-promote to stable
8
+ * 4. Promoted rule distributes to all users via Threat Cloud
9
+ *
10
+ * Machine speed, not human speed. No manual proposals or voting required.
11
+ *
12
+ * @module agent-threat-rules/flywheel
13
+ */
14
+ import type { ATRRule, ATRMatch, AgentEvent } from './types.js';
15
+ import { type PromotionCandidate } from './shadow-evaluator.js';
16
+ export interface FlywheelConfig {
17
+ /** Max FP rate for auto-promotion (default: 0.001 = 0.1%) */
18
+ readonly maxFPRate?: number;
19
+ /** Minimum shadow evaluations before promotion (default: 1000) */
20
+ readonly minEvaluations?: number;
21
+ /** Callback when a rule is auto-promoted */
22
+ readonly onPromote?: (rule: ATRRule, stats: PromotionCandidate['stats']) => void | Promise<void>;
23
+ /** Callback when a new shadow rule is generated */
24
+ readonly onShadowRule?: (rule: ATRRule) => void | Promise<void>;
25
+ }
26
+ export declare class FlywheelManager {
27
+ private readonly scaffolder;
28
+ private readonly shadow;
29
+ private readonly config;
30
+ private readonly existingIds;
31
+ constructor(config?: FlywheelConfig);
32
+ /**
33
+ * Called when Tier 4 (LLM semantic) detects a novel threat.
34
+ * Auto-generates a shadow rule from the detection.
35
+ */
36
+ onTier4Detection(match: ATRMatch, event: AgentEvent): Promise<ATRRule | null>;
37
+ /**
38
+ * Called for every event -- runs shadow evaluation.
39
+ * Returns shadow matches (for logging only, not verdict).
40
+ */
41
+ evaluateShadow(event: AgentEvent): readonly ATRMatch[];
42
+ /** Record user feedback on a shadow match */
43
+ recordFeedback(ruleId: string, isTruePositive: boolean): void;
44
+ /**
45
+ * Check for rules ready to promote and execute promotion.
46
+ * Call periodically (e.g., every 15 minutes).
47
+ */
48
+ promoteReady(): Promise<readonly PromotionCandidate[]>;
49
+ /** Get shadow evaluator stats */
50
+ getShadowStats(): ReadonlyMap<string, unknown>;
51
+ /** Number of rules in shadow mode */
52
+ shadowRuleCount(): number;
53
+ }
54
+ //# sourceMappingURL=flywheel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flywheel.d.ts","sourceRoot":"","sources":["../src/flywheel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,EAAmB,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,kEAAkE;IAClE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjG,mDAAmD;IACnD,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;gBAErC,MAAM,GAAE,cAAmB;IAWvC;;;OAGG;IACG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAgEnF;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,QAAQ,EAAE;IAItD,6CAA6C;IAC7C,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI;IAI7D;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC;IAe5D,iCAAiC;IACjC,cAAc,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC;IAI9C,qCAAqC;IACrC,eAAe,IAAI,MAAM;CAG1B"}