agent-threat-rules 0.3.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +190 -54
- package/package.json +3 -1
- package/rules/agent-manipulation/{ATR-2026-030-cross-agent-attack.yaml → ATR-2026-00030-cross-agent-attack.yaml} +3 -1
- package/rules/agent-manipulation/{ATR-2026-032-goal-hijacking.yaml → ATR-2026-00032-goal-hijacking.yaml} +3 -1
- package/rules/agent-manipulation/{ATR-2026-074-cross-agent-privilege-escalation.yaml → ATR-2026-00074-cross-agent-privilege-escalation.yaml} +3 -1
- package/rules/agent-manipulation/{ATR-2026-076-inter-agent-message-spoofing.yaml → ATR-2026-00076-inter-agent-message-spoofing.yaml} +3 -1
- package/rules/agent-manipulation/{ATR-2026-077-human-trust-exploitation.yaml → ATR-2026-00077-human-trust-exploitation.yaml} +3 -1
- package/rules/agent-manipulation/{ATR-2026-108-consensus-sybil-attack.yaml → ATR-2026-00108-consensus-sybil-attack.yaml} +3 -1
- package/rules/agent-manipulation/ATR-2026-00116-a2a-message-validation.yaml +92 -0
- package/rules/agent-manipulation/ATR-2026-00117-agent-identity-spoofing.yaml +92 -0
- package/rules/agent-manipulation/ATR-2026-00118-approval-fatigue.yaml +89 -0
- package/rules/agent-manipulation/ATR-2026-00119-social-engineering-via-agent.yaml +89 -0
- package/rules/agent-manipulation/ATR-2026-00132-casual-authority-escalation.yaml +105 -0
- package/rules/agent-manipulation/ATR-2026-00139-casual-authority-redirect.yaml +53 -0
- package/rules/context-exfiltration/{ATR-2026-020-system-prompt-leak.yaml → ATR-2026-00020-system-prompt-leak.yaml} +3 -1
- package/rules/context-exfiltration/{ATR-2026-021-api-key-exposure.yaml → ATR-2026-00021-api-key-exposure.yaml} +3 -1
- package/rules/context-exfiltration/{ATR-2026-075-agent-memory-manipulation.yaml → ATR-2026-00075-agent-memory-manipulation.yaml} +3 -1
- package/rules/context-exfiltration/{ATR-2026-102-disguised-analytics-exfiltration.yaml → ATR-2026-00102-disguised-analytics-exfiltration.yaml} +3 -1
- package/rules/context-exfiltration/ATR-2026-00113-credential-theft.yaml +89 -0
- package/rules/context-exfiltration/ATR-2026-00114-oauth-token-abuse.yaml +89 -0
- package/rules/context-exfiltration/ATR-2026-00115-env-var-harvesting.yaml +90 -0
- package/rules/context-exfiltration/ATR-2026-00136-tool-response-data-piggyback.yaml +100 -0
- package/rules/context-exfiltration/ATR-2026-00141-example-format-key-leak.yaml +52 -0
- package/rules/context-exfiltration/ATR-2026-00142-piggyback-transition-words.yaml +55 -0
- package/rules/context-exfiltration/ATR-2026-00145-obfuscated-key-disclosure.yaml +49 -0
- package/rules/context-exfiltration/ATR-2026-00146-env-var-existence-probe.yaml +49 -0
- package/rules/data-poisoning/{ATR-2026-070-data-poisoning.yaml → ATR-2026-00070-data-poisoning.yaml} +3 -1
- package/rules/excessive-autonomy/{ATR-2026-050-runaway-agent-loop.yaml → ATR-2026-00050-runaway-agent-loop.yaml} +3 -1
- package/rules/excessive-autonomy/{ATR-2026-051-resource-exhaustion.yaml → ATR-2026-00051-resource-exhaustion.yaml} +3 -1
- package/rules/excessive-autonomy/{ATR-2026-052-cascading-failure.yaml → ATR-2026-00052-cascading-failure.yaml} +3 -1
- package/rules/excessive-autonomy/{ATR-2026-098-unauthorized-financial-action.yaml → ATR-2026-00098-unauthorized-financial-action.yaml} +3 -1
- package/rules/excessive-autonomy/{ATR-2026-099-high-risk-tool-gate.yaml → ATR-2026-00099-high-risk-tool-gate.yaml} +4 -2
- package/rules/model-security/{ATR-2026-072-model-behavior-extraction.yaml → ATR-2026-00072-model-behavior-extraction.yaml} +3 -1
- package/rules/model-security/{ATR-2026-073-malicious-finetuning-data.yaml → ATR-2026-00073-malicious-finetuning-data.yaml} +3 -1
- package/rules/privilege-escalation/{ATR-2026-040-privilege-escalation.yaml → ATR-2026-00040-privilege-escalation.yaml} +3 -1
- package/rules/privilege-escalation/{ATR-2026-041-scope-creep.yaml → ATR-2026-00041-scope-creep.yaml} +3 -1
- package/rules/privilege-escalation/{ATR-2026-107-delayed-execution-bypass.yaml → ATR-2026-00107-delayed-execution-bypass.yaml} +3 -1
- package/rules/privilege-escalation/ATR-2026-00110-eval-injection.yaml +92 -0
- package/rules/privilege-escalation/ATR-2026-00111-shell-escape.yaml +93 -0
- package/rules/privilege-escalation/ATR-2026-00112-dynamic-import-exploitation.yaml +89 -0
- package/rules/privilege-escalation/ATR-2026-00143-casual-privilege-escalation.yaml +53 -0
- package/rules/privilege-escalation/ATR-2026-00144-rationalized-safety-bypass.yaml +49 -0
- package/rules/prompt-injection/{ATR-2026-001-direct-prompt-injection.yaml → ATR-2026-00001-direct-prompt-injection.yaml} +121 -11
- package/rules/prompt-injection/{ATR-2026-002-indirect-prompt-injection.yaml → ATR-2026-00002-indirect-prompt-injection.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-003-jailbreak-attempt.yaml → ATR-2026-00003-jailbreak-attempt.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-004-system-prompt-override.yaml → ATR-2026-00004-system-prompt-override.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-005-multi-turn-injection.yaml → ATR-2026-00005-multi-turn-injection.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-080-encoding-evasion.yaml → ATR-2026-00080-encoding-evasion.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-081-semantic-multi-turn.yaml → ATR-2026-00081-semantic-multi-turn.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-082-fingerprint-evasion.yaml → ATR-2026-00082-fingerprint-evasion.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-083-indirect-tool-injection.yaml → ATR-2026-00083-indirect-tool-injection.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-084-structured-data-injection.yaml → ATR-2026-00084-structured-data-injection.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-085-audit-evasion.yaml → ATR-2026-00085-audit-evasion.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-086-visual-spoofing.yaml → ATR-2026-00086-visual-spoofing.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-087-rule-probing.yaml → ATR-2026-00087-rule-probing.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-088-adaptive-countermeasure.yaml → ATR-2026-00088-adaptive-countermeasure.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-089-polymorphic-skill.yaml → ATR-2026-00089-polymorphic-skill.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-090-threat-intel-exfil.yaml → ATR-2026-00090-threat-intel-exfil.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-091-nested-payload.yaml → ATR-2026-00091-nested-payload.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-092-consensus-poisoning.yaml → ATR-2026-00092-consensus-poisoning.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-093-gradual-escalation.yaml → ATR-2026-00093-gradual-escalation.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-094-audit-bypass.yaml → ATR-2026-00094-audit-bypass.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-097-cjk-injection-patterns.yaml → ATR-2026-00097-cjk-injection-patterns.yaml} +18 -1
- package/rules/prompt-injection/{ATR-2026-104-persona-hijacking.yaml → ATR-2026-00104-persona-hijacking.yaml} +3 -1
- package/rules/prompt-injection/ATR-2026-00130-indirect-authority-claim.yaml +103 -0
- package/rules/prompt-injection/ATR-2026-00131-fictional-academic-framing.yaml +99 -0
- package/rules/prompt-injection/ATR-2026-00133-paraphrase-injection.yaml +117 -0
- package/rules/prompt-injection/ATR-2026-00137-authority-claim-injection.yaml +52 -0
- package/rules/prompt-injection/ATR-2026-00138-fictional-framing-bypass.yaml +51 -0
- package/rules/prompt-injection/ATR-2026-00140-indirect-reference-reversal.yaml +52 -0
- package/rules/prompt-injection/ATR-2026-00148-language-switch-injection.yaml +71 -0
- package/rules/skill-compromise/{ATR-2026-060-skill-impersonation.yaml → ATR-2026-00060-skill-impersonation.yaml} +3 -1
- package/rules/skill-compromise/{ATR-2026-061-description-behavior-mismatch.yaml → ATR-2026-00061-description-behavior-mismatch.yaml} +4 -2
- package/rules/skill-compromise/{ATR-2026-062-hidden-capability.yaml → ATR-2026-00062-hidden-capability.yaml} +3 -1
- package/rules/skill-compromise/{ATR-2026-063-skill-chain-attack.yaml → ATR-2026-00063-skill-chain-attack.yaml} +5 -2
- package/rules/skill-compromise/{ATR-2026-064-over-permissioned-skill.yaml → ATR-2026-00064-over-permissioned-skill.yaml} +3 -1
- package/rules/skill-compromise/{ATR-2026-065-skill-update-attack.yaml → ATR-2026-00065-skill-update-attack.yaml} +3 -1
- package/rules/skill-compromise/{ATR-2026-066-parameter-injection.yaml → ATR-2026-00066-parameter-injection.yaml} +3 -1
- package/rules/skill-compromise/ATR-2026-00120-skill-instruction-injection.yaml +121 -0
- package/rules/skill-compromise/ATR-2026-00121-skill-dangerous-script.yaml +165 -0
- package/rules/skill-compromise/ATR-2026-00122-skill-weaponized-instruction.yaml +114 -0
- package/rules/skill-compromise/ATR-2026-00123-skill-overreach-permissions.yaml +118 -0
- package/rules/skill-compromise/ATR-2026-00124-skill-name-squatting.yaml +98 -0
- package/rules/skill-compromise/ATR-2026-00125-context-poisoning-compaction.yaml +93 -0
- package/rules/skill-compromise/ATR-2026-00126-skill-rug-pull-setup.yaml +99 -0
- package/rules/skill-compromise/ATR-2026-00127-subcommand-overflow.yaml +74 -0
- package/rules/skill-compromise/ATR-2026-00128-html-comment-hidden-payload.yaml +79 -0
- package/rules/skill-compromise/ATR-2026-00129-unicode-smuggling.yaml +73 -0
- package/rules/skill-compromise/ATR-2026-00134-fork-claim-impersonation.yaml +93 -0
- package/rules/skill-compromise/ATR-2026-00135-exfil-url-in-instructions.yaml +82 -0
- package/rules/skill-compromise/ATR-2026-00147-fork-impersonation.yaml +48 -0
- package/rules/tool-poisoning/{ATR-2026-010-mcp-malicious-response.yaml → ATR-2026-00010-mcp-malicious-response.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-011-tool-output-injection.yaml → ATR-2026-00011-tool-output-injection.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-012-unauthorized-tool-call.yaml → ATR-2026-00012-unauthorized-tool-call.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-013-tool-ssrf.yaml → ATR-2026-00013-tool-ssrf.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-095-supply-chain-poisoning.yaml → ATR-2026-00095-supply-chain-poisoning.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-096-registry-poisoning.yaml → ATR-2026-00096-registry-poisoning.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-100-consent-bypass-instruction.yaml → ATR-2026-00100-consent-bypass-instruction.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-101-trust-escalation-override.yaml → ATR-2026-00101-trust-escalation-override.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-103-hidden-safety-bypass-instruction.yaml → ATR-2026-00103-hidden-safety-bypass-instruction.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-105-silent-action-concealment.yaml → ATR-2026-00105-silent-action-concealment.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-106-schema-description-contradiction.yaml → ATR-2026-00106-schema-description-contradiction.yaml} +3 -1
- package/spec/atr-schema.yaml +32 -3
- package/dist/action-executor.d.ts +0 -44
- package/dist/action-executor.d.ts.map +0 -1
- package/dist/action-executor.js +0 -130
- package/dist/action-executor.js.map +0 -1
- package/dist/adapters/default-adapter.d.ts +0 -24
- package/dist/adapters/default-adapter.d.ts.map +0 -1
- package/dist/adapters/default-adapter.js +0 -51
- package/dist/adapters/default-adapter.js.map +0 -1
- package/dist/adapters/stdio-adapter.d.ts +0 -30
- package/dist/adapters/stdio-adapter.d.ts.map +0 -1
- package/dist/adapters/stdio-adapter.js +0 -128
- package/dist/adapters/stdio-adapter.js.map +0 -1
- package/dist/capability-extractor.d.ts +0 -35
- package/dist/capability-extractor.d.ts.map +0 -1
- package/dist/capability-extractor.js +0 -91
- package/dist/capability-extractor.js.map +0 -1
- package/dist/cli.d.ts +0 -12
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -820
- package/dist/cli.js.map +0 -1
- package/dist/converters/elastic.d.ts +0 -36
- package/dist/converters/elastic.d.ts.map +0 -1
- package/dist/converters/elastic.js +0 -125
- package/dist/converters/elastic.js.map +0 -1
- package/dist/converters/index.d.ts +0 -28
- package/dist/converters/index.d.ts.map +0 -1
- package/dist/converters/index.js +0 -36
- package/dist/converters/index.js.map +0 -1
- package/dist/converters/splunk.d.ts +0 -19
- package/dist/converters/splunk.d.ts.map +0 -1
- package/dist/converters/splunk.js +0 -148
- package/dist/converters/splunk.js.map +0 -1
- package/dist/coverage-analyzer.d.ts +0 -43
- package/dist/coverage-analyzer.d.ts.map +0 -1
- package/dist/coverage-analyzer.js +0 -329
- package/dist/coverage-analyzer.js.map +0 -1
- package/dist/embedding/build-corpus.d.ts +0 -15
- package/dist/embedding/build-corpus.d.ts.map +0 -1
- package/dist/embedding/build-corpus.js +0 -105
- package/dist/embedding/build-corpus.js.map +0 -1
- package/dist/embedding/model-loader.d.ts +0 -41
- package/dist/embedding/model-loader.d.ts.map +0 -1
- package/dist/embedding/model-loader.js +0 -90
- package/dist/embedding/model-loader.js.map +0 -1
- package/dist/embedding/vector-store.d.ts +0 -41
- package/dist/embedding/vector-store.d.ts.map +0 -1
- package/dist/embedding/vector-store.js +0 -70
- package/dist/embedding/vector-store.js.map +0 -1
- package/dist/engine.d.ts +0 -163
- package/dist/engine.d.ts.map +0 -1
- package/dist/engine.js +0 -869
- package/dist/engine.js.map +0 -1
- package/dist/eval/corpus.d.ts +0 -42
- package/dist/eval/corpus.d.ts.map +0 -1
- package/dist/eval/corpus.js +0 -427
- package/dist/eval/corpus.js.map +0 -1
- package/dist/eval/eval-harness.d.ts +0 -44
- package/dist/eval/eval-harness.d.ts.map +0 -1
- package/dist/eval/eval-harness.js +0 -296
- package/dist/eval/eval-harness.js.map +0 -1
- package/dist/eval/index.d.ts +0 -13
- package/dist/eval/index.d.ts.map +0 -1
- package/dist/eval/index.js +0 -9
- package/dist/eval/index.js.map +0 -1
- package/dist/eval/metrics.d.ts +0 -74
- package/dist/eval/metrics.d.ts.map +0 -1
- package/dist/eval/metrics.js +0 -108
- package/dist/eval/metrics.js.map +0 -1
- package/dist/eval/pint-corpus.d.ts +0 -34
- package/dist/eval/pint-corpus.d.ts.map +0 -1
- package/dist/eval/pint-corpus.js +0 -109
- package/dist/eval/pint-corpus.js.map +0 -1
- package/dist/eval/rule-corpus.d.ts +0 -9
- package/dist/eval/rule-corpus.d.ts.map +0 -1
- package/dist/eval/rule-corpus.js +0 -4780
- package/dist/eval/rule-corpus.js.map +0 -1
- package/dist/eval/rule-metrics.d.ts +0 -34
- package/dist/eval/rule-metrics.d.ts.map +0 -1
- package/dist/eval/rule-metrics.js +0 -92
- package/dist/eval/rule-metrics.js.map +0 -1
- package/dist/eval/run-eval.d.ts +0 -7
- package/dist/eval/run-eval.d.ts.map +0 -1
- package/dist/eval/run-eval.js +0 -11
- package/dist/eval/run-eval.js.map +0 -1
- package/dist/eval/run-pint-benchmark.d.ts +0 -18
- package/dist/eval/run-pint-benchmark.d.ts.map +0 -1
- package/dist/eval/run-pint-benchmark.js +0 -157
- package/dist/eval/run-pint-benchmark.js.map +0 -1
- package/dist/flywheel.d.ts +0 -54
- package/dist/flywheel.d.ts.map +0 -1
- package/dist/flywheel.js +0 -121
- package/dist/flywheel.js.map +0 -1
- package/dist/hook-handler.d.ts +0 -61
- package/dist/hook-handler.d.ts.map +0 -1
- package/dist/hook-handler.js +0 -178
- package/dist/hook-handler.js.map +0 -1
- package/dist/index.d.ts +0 -62
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -54
- package/dist/index.js.map +0 -1
- package/dist/layer-integration.d.ts +0 -55
- package/dist/layer-integration.d.ts.map +0 -1
- package/dist/layer-integration.js +0 -185
- package/dist/layer-integration.js.map +0 -1
- package/dist/loader.d.ts +0 -21
- package/dist/loader.d.ts.map +0 -1
- package/dist/loader.js +0 -124
- package/dist/loader.js.map +0 -1
- package/dist/mcp-server.d.ts +0 -13
- package/dist/mcp-server.d.ts.map +0 -1
- package/dist/mcp-server.js +0 -220
- package/dist/mcp-server.js.map +0 -1
- package/dist/mcp-tools/coverage-gaps.d.ts +0 -13
- package/dist/mcp-tools/coverage-gaps.d.ts.map +0 -1
- package/dist/mcp-tools/coverage-gaps.js +0 -55
- package/dist/mcp-tools/coverage-gaps.js.map +0 -1
- package/dist/mcp-tools/list-rules.d.ts +0 -17
- package/dist/mcp-tools/list-rules.d.ts.map +0 -1
- package/dist/mcp-tools/list-rules.js +0 -45
- package/dist/mcp-tools/list-rules.js.map +0 -1
- package/dist/mcp-tools/scan.d.ts +0 -24
- package/dist/mcp-tools/scan.d.ts.map +0 -1
- package/dist/mcp-tools/scan.js +0 -94
- package/dist/mcp-tools/scan.js.map +0 -1
- package/dist/mcp-tools/submit-proposal.d.ts +0 -12
- package/dist/mcp-tools/submit-proposal.d.ts.map +0 -1
- package/dist/mcp-tools/submit-proposal.js +0 -103
- package/dist/mcp-tools/submit-proposal.js.map +0 -1
- package/dist/mcp-tools/threat-summary.d.ts +0 -12
- package/dist/mcp-tools/threat-summary.d.ts.map +0 -1
- package/dist/mcp-tools/threat-summary.js +0 -74
- package/dist/mcp-tools/threat-summary.js.map +0 -1
- package/dist/mcp-tools/validate.d.ts +0 -15
- package/dist/mcp-tools/validate.d.ts.map +0 -1
- package/dist/mcp-tools/validate.js +0 -45
- package/dist/mcp-tools/validate.js.map +0 -1
- package/dist/modules/embedding.d.ts +0 -71
- package/dist/modules/embedding.d.ts.map +0 -1
- package/dist/modules/embedding.js +0 -141
- package/dist/modules/embedding.js.map +0 -1
- package/dist/modules/index.d.ts +0 -144
- package/dist/modules/index.d.ts.map +0 -1
- package/dist/modules/index.js +0 -82
- package/dist/modules/index.js.map +0 -1
- package/dist/modules/semantic.d.ts +0 -106
- package/dist/modules/semantic.d.ts.map +0 -1
- package/dist/modules/semantic.js +0 -359
- package/dist/modules/semantic.js.map +0 -1
- package/dist/modules/session.d.ts +0 -70
- package/dist/modules/session.d.ts.map +0 -1
- package/dist/modules/session.js +0 -128
- package/dist/modules/session.js.map +0 -1
- package/dist/rule-scaffolder.d.ts +0 -53
- package/dist/rule-scaffolder.d.ts.map +0 -1
- package/dist/rule-scaffolder.js +0 -301
- package/dist/rule-scaffolder.js.map +0 -1
- package/dist/session-tracker.d.ts +0 -58
- package/dist/session-tracker.d.ts.map +0 -1
- package/dist/session-tracker.js +0 -176
- package/dist/session-tracker.js.map +0 -1
- package/dist/shadow-evaluator.d.ts +0 -48
- package/dist/shadow-evaluator.d.ts.map +0 -1
- package/dist/shadow-evaluator.js +0 -128
- package/dist/shadow-evaluator.js.map +0 -1
- package/dist/skill-fingerprint.d.ts +0 -85
- package/dist/skill-fingerprint.d.ts.map +0 -1
- package/dist/skill-fingerprint.js +0 -284
- package/dist/skill-fingerprint.js.map +0 -1
- package/dist/tier0-invariant.d.ts +0 -49
- package/dist/tier0-invariant.d.ts.map +0 -1
- package/dist/tier0-invariant.js +0 -184
- package/dist/tier0-invariant.js.map +0 -1
- package/dist/tier1-blacklist.d.ts +0 -48
- package/dist/tier1-blacklist.d.ts.map +0 -1
- package/dist/tier1-blacklist.js +0 -91
- package/dist/tier1-blacklist.js.map +0 -1
- package/dist/types.d.ts +0 -190
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -6
- package/dist/types.js.map +0 -1
- package/dist/verdict.d.ts +0 -26
- package/dist/verdict.d.ts.map +0 -1
- package/dist/verdict.js +0 -127
- package/dist/verdict.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rule-corpus.js","sourceRoot":"","sources":["../../src/eval/rule-corpus.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,92 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rule-metrics.js","sourceRoot":"","sources":["../../src/eval/rule-metrics.ts"],"names":[],"mappings":"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"}
|
package/dist/eval/run-eval.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-eval.d.ts","sourceRoot":"","sources":["../../src/eval/run-eval.ts"],"names":[],"mappings":";AACA;;;GAGG"}
|
package/dist/eval/run-eval.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-pint-benchmark.d.ts","sourceRoot":"","sources":["../../src/eval/run-pint-benchmark.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG"}
|
|
@@ -1,157 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-pint-benchmark.js","sourceRoot":"","sources":["../../src/eval/run-pint-benchmark.ts"],"names":[],"mappings":"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"}
|
package/dist/flywheel.d.ts
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
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
|
package/dist/flywheel.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|