agent-threat-rules 4.1.5 → 4.2.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 (248) hide show
  1. package/CHANGELOG.md +751 -1
  2. package/README.md +356 -125
  3. package/dist/adapters/openshell-filter.d.ts +10 -3
  4. package/dist/adapters/openshell-filter.d.ts.map +1 -1
  5. package/dist/adapters/openshell-filter.js +10 -3
  6. package/dist/adapters/openshell-filter.js.map +1 -1
  7. package/dist/adapters/stdio-adapter.js +3 -3
  8. package/dist/adapters/stdio-adapter.js.map +1 -1
  9. package/dist/cli/mcp-tools-document.d.ts +40 -0
  10. package/dist/cli/mcp-tools-document.d.ts.map +1 -0
  11. package/dist/cli/mcp-tools-document.js +95 -0
  12. package/dist/cli/mcp-tools-document.js.map +1 -0
  13. package/dist/cli/scan-handler.d.ts +8 -0
  14. package/dist/cli/scan-handler.d.ts.map +1 -1
  15. package/dist/cli/scan-handler.js +126 -34
  16. package/dist/cli/scan-handler.js.map +1 -1
  17. package/dist/cli.d.ts.map +1 -1
  18. package/dist/cli.js +80 -43
  19. package/dist/cli.js.map +1 -1
  20. package/dist/converters/sarif.d.ts +14 -2
  21. package/dist/converters/sarif.d.ts.map +1 -1
  22. package/dist/converters/sarif.js +7 -9
  23. package/dist/converters/sarif.js.map +1 -1
  24. package/dist/corpus-event.d.ts +47 -5
  25. package/dist/corpus-event.d.ts.map +1 -1
  26. package/dist/corpus-event.js +68 -29
  27. package/dist/corpus-event.js.map +1 -1
  28. package/dist/embedding/model-loader.d.ts +2 -0
  29. package/dist/embedding/model-loader.d.ts.map +1 -1
  30. package/dist/embedding/model-loader.js +3 -1
  31. package/dist/embedding/model-loader.js.map +1 -1
  32. package/dist/enforcement.d.ts +8 -0
  33. package/dist/enforcement.d.ts.map +1 -1
  34. package/dist/enforcement.js +10 -0
  35. package/dist/enforcement.js.map +1 -1
  36. package/dist/engine.d.ts +150 -6
  37. package/dist/engine.d.ts.map +1 -1
  38. package/dist/engine.js +337 -76
  39. package/dist/engine.js.map +1 -1
  40. package/dist/eval/embedding-provenance.d.ts +40 -0
  41. package/dist/eval/embedding-provenance.d.ts.map +1 -0
  42. package/dist/eval/embedding-provenance.js +71 -0
  43. package/dist/eval/embedding-provenance.js.map +1 -0
  44. package/dist/eval/eval-harness.d.ts +34 -0
  45. package/dist/eval/eval-harness.d.ts.map +1 -1
  46. package/dist/eval/eval-harness.js +49 -2
  47. package/dist/eval/eval-harness.js.map +1 -1
  48. package/dist/eval/hackaprompt-corpus.d.ts +12 -0
  49. package/dist/eval/hackaprompt-corpus.d.ts.map +1 -1
  50. package/dist/eval/hackaprompt-corpus.js +15 -1
  51. package/dist/eval/hackaprompt-corpus.js.map +1 -1
  52. package/dist/eval/hackaprompt-provenance.d.ts +52 -0
  53. package/dist/eval/hackaprompt-provenance.d.ts.map +1 -0
  54. package/dist/eval/hackaprompt-provenance.js +108 -0
  55. package/dist/eval/hackaprompt-provenance.js.map +1 -0
  56. package/dist/eval/run-hackaprompt-benchmark.d.ts +18 -8
  57. package/dist/eval/run-hackaprompt-benchmark.d.ts.map +1 -1
  58. package/dist/eval/run-hackaprompt-benchmark.js +154 -64
  59. package/dist/eval/run-hackaprompt-benchmark.js.map +1 -1
  60. package/dist/eval/run-pint-benchmark.js +11 -1
  61. package/dist/eval/run-pint-benchmark.js.map +1 -1
  62. package/dist/eval/skill-benchmark.d.ts +26 -6
  63. package/dist/eval/skill-benchmark.d.ts.map +1 -1
  64. package/dist/eval/skill-benchmark.js +49 -16
  65. package/dist/eval/skill-benchmark.js.map +1 -1
  66. package/dist/flywheel.d.ts +4 -0
  67. package/dist/flywheel.d.ts.map +1 -1
  68. package/dist/flywheel.js +12 -4
  69. package/dist/flywheel.js.map +1 -1
  70. package/dist/hook-handler.d.ts +11 -1
  71. package/dist/hook-handler.d.ts.map +1 -1
  72. package/dist/hook-handler.js +84 -16
  73. package/dist/hook-handler.js.map +1 -1
  74. package/dist/hook-tool-output.d.ts +47 -0
  75. package/dist/hook-tool-output.d.ts.map +1 -0
  76. package/dist/hook-tool-output.js +110 -0
  77. package/dist/hook-tool-output.js.map +1 -0
  78. package/dist/index.d.ts +5 -3
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +3 -2
  81. package/dist/index.js.map +1 -1
  82. package/dist/layer-integration.d.ts +4 -2
  83. package/dist/layer-integration.d.ts.map +1 -1
  84. package/dist/layer-integration.js +6 -2
  85. package/dist/layer-integration.js.map +1 -1
  86. package/dist/mcp-server.d.ts +8 -0
  87. package/dist/mcp-server.d.ts.map +1 -1
  88. package/dist/mcp-server.js +1 -0
  89. package/dist/mcp-server.js.map +1 -1
  90. package/dist/mcp-tools/scan.d.ts.map +1 -1
  91. package/dist/mcp-tools/scan.js +9 -1
  92. package/dist/mcp-tools/scan.js.map +1 -1
  93. package/dist/measurement/enforce-lane.d.ts +66 -0
  94. package/dist/measurement/enforce-lane.d.ts.map +1 -0
  95. package/dist/measurement/enforce-lane.js +89 -0
  96. package/dist/measurement/enforce-lane.js.map +1 -0
  97. package/dist/measurement/from-eval-harness.d.ts +16 -3
  98. package/dist/measurement/from-eval-harness.d.ts.map +1 -1
  99. package/dist/measurement/from-eval-harness.js +15 -5
  100. package/dist/measurement/from-eval-harness.js.map +1 -1
  101. package/dist/measurement/in-sample-ablation.d.ts +29 -0
  102. package/dist/measurement/in-sample-ablation.d.ts.map +1 -0
  103. package/dist/measurement/in-sample-ablation.js +45 -0
  104. package/dist/measurement/in-sample-ablation.js.map +1 -0
  105. package/dist/measurement/schema.d.ts +38 -1
  106. package/dist/measurement/schema.d.ts.map +1 -1
  107. package/dist/measurement/schema.js +43 -1
  108. package/dist/measurement/schema.js.map +1 -1
  109. package/dist/quality/action-eligibility.d.ts +4 -2
  110. package/dist/quality/action-eligibility.d.ts.map +1 -1
  111. package/dist/quality/action-eligibility.js.map +1 -1
  112. package/dist/rule-confidence.d.ts +31 -0
  113. package/dist/rule-confidence.d.ts.map +1 -0
  114. package/dist/rule-confidence.js +49 -0
  115. package/dist/rule-confidence.js.map +1 -0
  116. package/dist/rule-scaffolder.d.ts.map +1 -1
  117. package/dist/rule-scaffolder.js +43 -4
  118. package/dist/rule-scaffolder.js.map +1 -1
  119. package/dist/semantic-evaluator.d.ts.map +1 -1
  120. package/dist/semantic-evaluator.js +15 -13
  121. package/dist/semantic-evaluator.js.map +1 -1
  122. package/dist/shadow-evaluator.d.ts +7 -2
  123. package/dist/shadow-evaluator.d.ts.map +1 -1
  124. package/dist/shadow-evaluator.js +29 -25
  125. package/dist/shadow-evaluator.js.map +1 -1
  126. package/dist/testcase-event.d.ts +82 -1
  127. package/dist/testcase-event.d.ts.map +1 -1
  128. package/dist/testcase-event.js +135 -16
  129. package/dist/testcase-event.js.map +1 -1
  130. package/dist/tier0-invariant.d.ts.map +1 -1
  131. package/dist/tier0-invariant.js +1 -0
  132. package/dist/tier0-invariant.js.map +1 -1
  133. package/dist/tier1-blacklist.d.ts.map +1 -1
  134. package/dist/tier1-blacklist.js +1 -0
  135. package/dist/tier1-blacklist.js.map +1 -1
  136. package/dist/tool-definition-scope.d.ts +45 -0
  137. package/dist/tool-definition-scope.d.ts.map +1 -0
  138. package/dist/tool-definition-scope.js +68 -0
  139. package/dist/tool-definition-scope.js.map +1 -0
  140. package/dist/types.d.ts +42 -2
  141. package/dist/types.d.ts.map +1 -1
  142. package/dist/verdict.d.ts +46 -2
  143. package/dist/verdict.d.ts.map +1 -1
  144. package/dist/verdict.js +99 -14
  145. package/dist/verdict.js.map +1 -1
  146. package/package.json +2 -1
  147. package/rules/agent-manipulation/ATR-2026-00030-cross-agent-attack.yaml +2 -2
  148. package/rules/agent-manipulation/ATR-2026-00139-casual-authority-redirect.yaml +1 -1
  149. package/rules/agent-manipulation/ATR-2026-00328-named-mode-persona-override.yaml +1 -1
  150. package/rules/agent-manipulation/ATR-2026-00330-yoja-allcaps-settings-block-persona.yaml +1 -1
  151. package/rules/agent-manipulation/ATR-2026-00418-weknora-mcp-config-rce.yaml +5 -5
  152. package/rules/agent-manipulation/ATR-2026-00432-superagi-output-handler-eval-rce.yaml +1 -1
  153. package/rules/agent-manipulation/ATR-2026-00440-semantic-kernel-vector-store-eval-rce.yaml +3 -3
  154. package/rules/context-exfiltration/ATR-2026-00426-nl-output-injection-credential-leak.yaml +1 -1
  155. package/rules/context-exfiltration/ATR-2026-00501-data-exfiltration-via-markdown-image-and-link-url-injection.yaml +16 -2
  156. package/rules/context-exfiltration/ATR-2026-00505-system-prompt-extraction-instruction-dump-request.yaml +6 -4
  157. package/rules/context-exfiltration/ATR-2026-00702-ipi-credential-exfil-via-agent-action.yaml +1 -1
  158. package/rules/context-exfiltration/ATR-2026-00707-ipi-file-exfil-with-destroy-or-tamper.yaml +1 -1
  159. package/rules/context-exfiltration/ATR-2026-00851-indirect-pi-financial-payment-exfil.yaml +1 -1
  160. package/rules/context-exfiltration/ATR-2026-01457-sysprompt-completion-clone-attack.yaml +1 -1
  161. package/rules/context-exfiltration/ATR-2026-01462-sysprompt-override-pseudo-admin.yaml +1 -1
  162. package/rules/context-exfiltration/ATR-2026-01463-imend-imsystem-prompt-injection-format.yaml +1 -1
  163. package/rules/context-exfiltration/ATR-2026-01606-ssrf-internal-network-scan.yaml +1 -1
  164. package/rules/context-exfiltration/ATR-2026-02847-policy-justified-exfil-to-email.yaml +1 -1
  165. package/rules/context-exfiltration/ATR-2026-02855-cross-email-exfil-relay.yaml +79 -0
  166. package/rules/context-exfiltration/ATR-2026-02861-exfil-send-email-with-body-directive.yaml +83 -0
  167. package/rules/context-exfiltration/ATR-2026-02866-idna-label-separator-in-fetch-url-host.yaml +104 -0
  168. package/rules/excessive-autonomy/ATR-2026-00500-ssrf-via-agent-url-fetch-instruction.yaml +12 -2
  169. package/rules/excessive-autonomy/ATR-2026-00710-ipi-physical-access-grant.yaml +1 -1
  170. package/rules/model-abuse/ATR-2026-01897-host-sabotage.yaml +2 -2
  171. package/rules/model-security/ATR-2026-00433-modelcache-torch-load-deserialization-rce.yaml +1 -1
  172. package/rules/privilege-escalation/ATR-2026-00040-privilege-escalation.yaml +1 -1
  173. package/rules/privilege-escalation/ATR-2026-00436-enclave-vm-sandbox-escape-rce.yaml +1 -1
  174. package/rules/privilege-escalation/ATR-2026-01601-sql-injection-destructive-ddl.yaml +3 -3
  175. package/rules/privilege-escalation/ATR-2026-01612-debug-mode-privilege-escalation.yaml +1 -1
  176. package/rules/privilege-escalation/ATR-2026-02867-identifier-typed-tool-argument-dot-dot-path-segment.yaml +106 -0
  177. package/rules/prompt-injection/ATR-2026-00004-system-prompt-override.yaml +2 -2
  178. package/rules/prompt-injection/ATR-2026-00080-encoding-evasion.yaml +1 -1
  179. package/rules/prompt-injection/ATR-2026-00086-visual-spoofing.yaml +1 -1
  180. package/rules/prompt-injection/ATR-2026-00203-context-pollution-skill-description.yaml +1 -1
  181. package/rules/prompt-injection/ATR-2026-00228-structured-jailbreak.yaml +2 -2
  182. package/rules/prompt-injection/ATR-2026-00233-structured-jailbreak.yaml +2 -2
  183. package/rules/prompt-injection/ATR-2026-00256-base-n-encoding-jailbreak.yaml +1 -1
  184. package/rules/prompt-injection/ATR-2026-00264-latent-injection-translation.yaml +3 -3
  185. package/rules/prompt-injection/ATR-2026-00265-latent-injection-rag-document.yaml +1 -1
  186. package/rules/prompt-injection/ATR-2026-00282-perez-prompt-injection-hijack.yaml +4 -4
  187. package/rules/prompt-injection/ATR-2026-00321-hyphenated-system-instruction-injection.yaml +1 -1
  188. package/rules/prompt-injection/ATR-2026-00394-backspace-deletion-character-injection.yaml +2 -2
  189. package/rules/prompt-injection/ATR-2026-00446-variable-assignment-payload-injection.yaml +3 -3
  190. package/rules/prompt-injection/ATR-2026-00476-garak-web-injection-javascript-alert-1.yaml +3 -3
  191. package/rules/prompt-injection/ATR-2026-00481-garak-dan-mixedunassigned.yaml +1 -1
  192. package/rules/prompt-injection/ATR-2026-00489-garak-encoding-javascript-alert-1.yaml +3 -3
  193. package/rules/prompt-injection/ATR-2026-00503-fake-error-state-takeover-unrestricted-replacement-bot.yaml +4 -2
  194. package/rules/prompt-injection/ATR-2026-00508-escape-delimiter-wrapped-goal-hijacking-in-user-input-prompt.yaml +3 -3
  195. package/rules/prompt-injection/ATR-2026-00512-rules-file-backdoor-injection.yaml +1 -1
  196. package/rules/prompt-injection/ATR-2026-01005-many-shot-repetition-override.yaml +2 -2
  197. package/rules/prompt-injection/ATR-2026-01006-payload-split-string-concat-injection.yaml +2 -2
  198. package/rules/prompt-injection/ATR-2026-01015-evasion-refusal-suppression.yaml +1 -1
  199. package/rules/prompt-injection/ATR-2026-01016-evasion-response-priming-forced-opener.yaml +1 -1
  200. package/rules/prompt-injection/ATR-2026-01026-evasion-unicode-glitch-token-anomaly.yaml +2 -2
  201. package/rules/prompt-injection/ATR-2026-01304-indirect-injection-carrier-important-override.yaml +1 -1
  202. package/rules/prompt-injection/ATR-2026-01759-dos-new-important-instructions-injection-in-document.yaml +1 -1
  203. package/rules/prompt-injection/ATR-2026-01865-llmail-fake-email-boundary-marker.yaml +1 -1
  204. package/rules/prompt-injection/ATR-2026-02010-emoji-only-payload.yaml +2 -2
  205. package/rules/prompt-injection/ATR-2026-02815-injected-halt-order-canned-reply-dos.yaml +80 -0
  206. package/rules/prompt-injection/ATR-2026-02820-tool-result-orders-agent-to-hide-its-own-action.yaml +106 -0
  207. package/rules/prompt-injection/ATR-2026-02858-context-suppression-directive.yaml +73 -0
  208. package/rules/prompt-injection/ATR-2026-02859-tool-output-agent-role-reassignment.yaml +71 -0
  209. package/rules/prompt-injection/ATR-2026-02860-forged-instruction-boundary-marker.yaml +70 -0
  210. package/rules/prompt-injection/ATR-2026-02862-fake-chat-template-turn-injection.yaml +79 -0
  211. package/rules/skill-compromise/ATR-2026-00060-skill-impersonation.yaml +1 -1
  212. package/rules/skill-compromise/ATR-2026-00063-skill-chain-attack.yaml +2 -2
  213. package/rules/skill-compromise/ATR-2026-00064-over-permissioned-skill.yaml +1 -1
  214. package/rules/skill-compromise/ATR-2026-00066-parameter-injection.yaml +2 -2
  215. package/rules/skill-compromise/ATR-2026-00149-skill-exfil-compound.yaml +6 -6
  216. package/rules/skill-compromise/ATR-2026-00223-reverse-shell-dropper.yaml +2 -2
  217. package/rules/skill-compromise/ATR-2026-01755-backdoor-pot-linguistic-trigger-phrase.yaml +1 -1
  218. package/rules/skill-compromise/ATR-2026-01756-backdoor-pot-symbol-emoticon-trigger.yaml +1 -1
  219. package/rules/skill-compromise/ATR-2026-02261-code-credential-exfil-chain.yaml +1 -1
  220. package/rules/tool-poisoning/ATR-2026-00012-unauthorized-tool-call.yaml +23 -23
  221. package/rules/tool-poisoning/ATR-2026-00013-tool-ssrf.yaml +16 -5
  222. package/rules/tool-poisoning/ATR-2026-00161-important-tag-cross-tool-shadowing.yaml +1 -1
  223. package/rules/tool-poisoning/ATR-2026-00277-echo-template-command-injection.yaml +2 -2
  224. package/rules/tool-poisoning/ATR-2026-00494-garak-exploitation-mixedunassigned.yaml +4 -4
  225. package/rules/tool-poisoning/ATR-2026-00521-shell-command-injection-agent-tool-context.yaml +1 -1
  226. package/rules/tool-poisoning/ATR-2026-00581-mcp-tool-rug-pull-post-approval-redefinition.yaml +1 -1
  227. package/rules/tool-poisoning/ATR-2026-01303-tool-schema-enumeration-social-engineering.yaml +1 -1
  228. package/rules/tool-poisoning/ATR-2026-01307-mcp-dns-rebinding-attack.yaml +2 -2
  229. package/rules/tool-poisoning/ATR-2026-01775-semantic-mcp-tool-manifest-poisoning.yaml +1 -1
  230. package/rules/tool-poisoning/ATR-2026-01932-shadow-undeclared-mcp-server-registration.yaml +1 -1
  231. package/rules/tool-poisoning/ATR-2026-02025-mcp-full-schema-poisoning-nondescription-field.yaml +1 -1
  232. package/rules/tool-poisoning/ATR-2026-02817-untrusted-content-dictates-tool-arguments.yaml +83 -0
  233. package/rules/tool-poisoning/ATR-2026-02864-non-canonical-ipv4-host-in-url-tool-argument.yaml +102 -0
  234. package/rules/tool-poisoning/ATR-2026-02865-read-only-utility-write-flag-in-command-argument.yaml +157 -0
  235. package/rules/tool-poisoning/ATR-2026-02868-ssrf-ipv6-transition-address-embedded-private-ipv4.yaml +107 -0
  236. package/rules/tool-poisoning/ATR-2026-02870-invisible-control-before-directive.yaml +94 -0
  237. package/spec/README.md +6 -3
  238. package/spec/atr-event-v1.0.md +13 -8
  239. package/spec/atr-method-v1.1.md +2 -2
  240. package/spec/category-registry/gemara/README.md +102 -0
  241. package/spec/category-registry/gemara/ai-agent-capability-catalog.yaml +157 -0
  242. package/spec/category-registry/gemara/atr-attack-vector-catalog.yaml +130 -0
  243. package/spec/category-registry/gemara/atr-detection-control-catalog.yaml +327 -0
  244. package/spec/category-registry/gemara/atr-threat-catalog.yaml +246 -0
  245. package/spec/category-registry/gemara/src/editorial.yaml +743 -0
  246. package/spec/mappings/README.md +1 -1
  247. package/spec/mappings/atr-to-nist-csf-2.0.md +5 -4
  248. package/spec/schema/event.schema.json +1 -1
@@ -1,3 +1,18 @@
1
+ import { RUNTIME_SOURCE_TYPE } from "./engine.js";
2
+ /**
3
+ * The tool name a tool event carries when its test case names no tool.
4
+ *
5
+ * A host's tool call reaches the engine through src/hook-handler.ts, which
6
+ * fills tool_name from the host's payload. An empty string did not stand in for
7
+ * that: src/engine.ts resolveField reads a field only when it is truthy, and on
8
+ * a tool_call event it then falls back to event.content, so a tool_name
9
+ * condition read the case's payload as if it were the tool's name. A name no
10
+ * rule is written for fills the field, as the hook does, and keeps the case's
11
+ * text out of it. A case whose rule keys on the tool names the tool. (The MCP
12
+ * scan tool, src/mcp-tools/scan.ts, builds an event of the type its caller
13
+ * names and sets no tool_name, so the fallback still applies there.)
14
+ */
15
+ export const UNNAMED_TOOL = 'atr-test-tool';
1
16
  /**
2
17
  * Build the AgentEvent a declared test case describes.
3
18
  *
@@ -19,7 +34,7 @@
19
34
  *
20
35
  * One builder, two callers. A second copy drifts the moment either is edited.
21
36
  */
22
- export function buildEventFromTestCase(tc, rule) {
37
+ export function buildEventFromTestCase(tc, rule, options = {}) {
23
38
  // Stringify any object values
24
39
  const str = (v) => {
25
40
  if (v === undefined || v === null)
@@ -91,13 +106,14 @@ export function buildEventFromTestCase(tc, rule) {
91
106
  mcp_exchange: 'tool_response',
92
107
  agent_behavior: 'agent_behavior',
93
108
  multi_agent_comm: 'multi_agent_message',
94
- context_window: 'llm_input',
95
- memory_access: 'llm_input',
96
- skill_lifecycle: 'tool_call',
97
- skill_permission: 'tool_call',
98
- skill_chain: 'tool_call',
99
109
  };
100
- let type = SOURCE_TO_EVENT[sourceType] ?? 'llm_input';
110
+ // An extended type (context_window, skill_lifecycle, ...) is built as an event
111
+ // of the base type the engine admits it on (RUNTIME_SOURCE_TYPE).
112
+ const baseSourceType = Object.hasOwn(RUNTIME_SOURCE_TYPE, sourceType)
113
+ ? RUNTIME_SOURCE_TYPE[sourceType]
114
+ : sourceType;
115
+ const type = options.type ?? SOURCE_TO_EVENT[baseSourceType] ?? 'llm_input';
116
+ const toolEvent = type === 'tool_call' || type === 'tool_response';
101
117
  // NOTE: previously, a tool_call rule with a plain-string TP was downgraded to
102
118
  // an llm_input event. That mis-tested tool_call-native rules: a shell command or
103
119
  // SQL string IS a tool invocation, and evaluating it as llm_input made the engine
@@ -105,9 +121,9 @@ export function buildEventFromTestCase(tc, rule) {
105
121
  // so the rule's own documented attack tested as not_triggered (false failure that
106
122
  // silently left broken rules in the enforce lane). We now keep the native
107
123
  // tool_call type — the string flows in via `content` (below), and tool_name is
108
- // pinned to "" (below) so the engine's tool_name fallback never treats the
109
- // content as a tool name. Plain-string TPs of tool_call rules therefore test in
110
- // their real (native) context.
124
+ // pinned to UNNAMED_TOOL (below) so the engine's tool_name fallback never
125
+ // treats the content as a tool name. Plain-string TPs of tool_call rules
126
+ // therefore test in their real (native) context.
111
127
  // Determine the primary content based on what the rule conditions check
112
128
  // Problem 2 & 3: For rules that check tool_response, the tool_response
113
129
  // should be the primary content when the event type resolves tool_response from content
@@ -131,9 +147,10 @@ export function buildEventFromTestCase(tc, rule) {
131
147
  fields['agent_message'] = agentMessage;
132
148
  if (toolDescription)
133
149
  fields['tool_description'] = toolDescription;
134
- // Always set tool_name (even empty) to prevent engine fallback
135
- // from using event.content as tool_name for tool_call events
136
- fields['tool_name'] = toolName;
150
+ // A tool event always names its tool (UNNAMED_TOOL when the case does not).
151
+ // The empty string this used to set did not prevent the engine's fallback
152
+ // from reading event.content as the tool_name of a tool_call event.
153
+ fields['tool_name'] = toolName || (toolEvent ? UNNAMED_TOOL : '');
137
154
  // Production ALWAYS populates tool_args: src/hook-handler.ts builds
138
155
  // `tool_args: JSON.stringify(toolInput)` for BOTH the PreToolUse (tool_call)
139
156
  // and the PostToolUse (tool_response) event. The engine resolves this field as
@@ -155,9 +172,11 @@ export function buildEventFromTestCase(tc, rule) {
155
172
  const toolArgsValue = toolArgs || input;
156
173
  if (toolArgsValue)
157
174
  fields['tool_args'] = toolArgsValue;
158
- // For content-based rules, set content and agent_message fields
175
+ // For content-based rules, set content and agent_message fields. A case that
176
+ // names its own agent_message keeps it: copying the content over it ran such a
177
+ // case on its input there.
159
178
  fields['content'] = content;
160
- fields['agent_message'] = content;
179
+ fields['agent_message'] = agentMessage || content;
161
180
  // v1.1 trace-method rules evaluate over a span DAG (OpenInference), not text.
162
181
  // When the rule declares method: trace and the test input is a JSON trace
163
182
  // ({"spans":[...]}), parse it into event.trace so the engine's trace
@@ -184,10 +203,110 @@ export function buildEventFromTestCase(tc, rule) {
184
203
  type,
185
204
  timestamp: new Date().toISOString(),
186
205
  content,
187
- fields,
206
+ fields: options.fields === 'runtime'
207
+ ? runtimeFields({ type, toolEvent, content, input, toolName, toolArgs, toolResponse, agentOutput, agentMessage, toolDescription })
208
+ : fields,
188
209
  sessionId: 'test-session',
189
210
  agentId: 'test-agent',
190
211
  ...(trace ? { trace } : {}),
191
212
  };
192
213
  }
214
+ /**
215
+ * The "runtime" field set (TestCaseFields): content; each field the case names,
216
+ * with the value it names; the input as user_input on an llm_input event, and on
217
+ * no other, since `user_input:` in a case is the input's alias; and for a tool
218
+ * event, a tool name and tool arguments, which src/hook-handler.ts fills on
219
+ * PreToolUse and PostToolUse alike (the case's own, or UNNAMED_TOOL and the input).
220
+ */
221
+ function runtimeFields(v) {
222
+ const entries = [
223
+ ['content', v.content],
224
+ ['user_input', v.type === 'llm_input' ? v.input : ''],
225
+ ['tool_response', v.toolResponse],
226
+ ['agent_output', v.agentOutput],
227
+ ['agent_message', v.agentMessage],
228
+ ['tool_description', v.toolDescription],
229
+ ['tool_name', v.toolName || (v.toolEvent ? UNNAMED_TOOL : '')],
230
+ ['tool_args', v.toolArgs || (v.toolEvent ? v.input : '')],
231
+ ];
232
+ return Object.fromEntries(entries.filter(([, value]) => value !== ''));
233
+ }
234
+ /**
235
+ * Every type an AgentEvent can have. The engine's source filter decides which of
236
+ * them a rule runs on: an llm_io rule also runs on tool_response events, an
237
+ * mcp_exchange rule on tool_call events, and every rule on an mcp_exchange event
238
+ * (src/cli/scan-handler.ts builds those), whose type maps to no source. An
239
+ * extended agent_source type runs where its base type does (RUNTIME_SOURCE_TYPE
240
+ * in src/engine.ts), and one the engine withholds (WITHHELD_SOURCE_TYPES) on an
241
+ * mcp_exchange event alone.
242
+ */
243
+ const EVENT_TYPES = [
244
+ 'llm_input',
245
+ 'llm_output',
246
+ 'tool_call',
247
+ 'tool_response',
248
+ 'agent_behavior',
249
+ 'multi_agent_message',
250
+ 'mcp_exchange',
251
+ ];
252
+ /**
253
+ * The rule as `atr test` puts it in the engine: status experimental, so a draft
254
+ * or deprecated rule is not skipped. Its agent_source.type stays as declared:
255
+ * the engine maps an extended type itself (RUNTIME_SOURCE_TYPE in
256
+ * src/engine.ts), and atr test reports a rule of a type the engine withholds
257
+ * (WITHHELD_SOURCE_TYPES) as unevaluable rather than running its cases.
258
+ */
259
+ export function asTestedRule(rule) {
260
+ return { ...rule, status: 'experimental' };
261
+ }
262
+ /**
263
+ * `atr test`'s verdict on one case: the wide event the case describes through
264
+ * evaluate(), or the case's text through scanSkill(). The engine holds the rule;
265
+ * the rule passed here routes the event.
266
+ */
267
+ export function caseMatches(engine, rule, tc) {
268
+ const document = String(tc['input'] ?? tc['tool_response'] ?? tc['agent_output'] ?? '');
269
+ return firesOn(engine, rule, buildEventFromTestCase(tc, rule)) || skillMatches(engine, rule, document);
270
+ }
271
+ /**
272
+ * Whether a case matches an event shaped the way this repository's producers
273
+ * shape one: for every event type, the runtime field set (a tool event as the
274
+ * hook builds it, any other with the content, each with the fields the case
275
+ * names), or the case's text as a skill document, user_input included as the
276
+ * input's alias. A true positive that passes caseMatches and not this matches
277
+ * only through a value the wide event copies into a field. Not modelled: the
278
+ * MCP scan tool's copy of its content into user_input, agent_output and
279
+ * tool_response on any type, and an events file src/cli/scan-handler.ts passes
280
+ * on as written.
281
+ */
282
+ export function caseMatchesAtRuntime(engine, rule, tc) {
283
+ const document = String(tc['input'] ?? tc['user_input'] ?? tc['tool_response'] ?? tc['agent_output'] ?? '');
284
+ return (EVENT_TYPES.some((type) => firesOn(engine, rule, buildEventFromTestCase(tc, rule, { fields: 'runtime', type }))) ||
285
+ skillMatches(engine, rule, document));
286
+ }
287
+ function firesOn(engine, rule, event) {
288
+ return engine.evaluate(event).some((m) => m.rule.id === rule.id);
289
+ }
290
+ function skillMatches(engine, rule, document) {
291
+ return document !== '' && engine.scanSkill(document).some((m) => m.rule.id === rule.id);
292
+ }
293
+ /** The fields a report names a case by, in the order it looks for one. */
294
+ const LABEL_FIELDS = [
295
+ 'input',
296
+ 'user_input',
297
+ 'tool_args',
298
+ 'tool_response',
299
+ 'agent_output',
300
+ 'tool_description',
301
+ 'agent_message',
302
+ 'content',
303
+ 'tool_call',
304
+ ];
305
+ /** The payload a report shows for a case: the first it declares, an object as JSON. */
306
+ export function caseLabel(tc) {
307
+ const value = LABEL_FIELDS.map((key) => tc[key]).find((v) => v !== undefined && v !== null && v !== '');
308
+ if (value === undefined)
309
+ return '';
310
+ return typeof value === 'string' ? value : JSON.stringify(value);
311
+ }
193
312
  //# sourceMappingURL=testcase-event.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testcase-event.js","sourceRoot":"","sources":["../src/testcase-event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testcase-event.js","sourceRoot":"","sources":["../src/testcase-event.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tier0-invariant.d.ts","sourceRoot":"","sources":["../src/tier0-invariant.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAwB,MAAM,YAAY,CAAC;AA6B7E,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAC5C;AAED,MAAM,MAAM,sBAAsB,GAC9B,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,eAAe,GACf,qBAAqB,GACrB,eAAe,CAAC;AAEpB,2CAA2C;AAC3C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAMD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;gBAEnD,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,aAAa,EAAE;IAY3E;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,kBAAkB,EAAE;IAsGvD,6DAA6D;IAC7D,cAAc,CAAC,SAAS,EAAE,kBAAkB,GAAG,QAAQ;IAgCvD,2CAA2C;IAC3C,OAAO,CAAC,cAAc;CAKvB"}
1
+ {"version":3,"file":"tier0-invariant.d.ts","sourceRoot":"","sources":["../src/tier0-invariant.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAwB,MAAM,YAAY,CAAC;AA6B7E,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAC5C;AAED,MAAM,MAAM,sBAAsB,GAC9B,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,eAAe,GACf,qBAAqB,GACrB,eAAe,CAAC;AAEpB,2CAA2C;AAC3C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAMD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;gBAEnD,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,aAAa,EAAE;IAY3E;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,kBAAkB,EAAE;IAsGvD,6DAA6D;IAC7D,cAAc,CAAC,SAAS,EAAE,kBAAkB,GAAG,QAAQ;IAiCvD,2CAA2C;IAC3C,OAAO,CAAC,cAAc;CAKvB"}
@@ -172,6 +172,7 @@ export class InvariantChecker {
172
172
  confidence: 1.0,
173
173
  timestamp: new Date().toISOString(),
174
174
  scan_context: 'native',
175
+ decidedBy: 'invariant',
175
176
  };
176
177
  }
177
178
  /** Resolve skill ID from event metadata */
@@ -1 +1 @@
1
- {"version":3,"file":"tier0-invariant.js","sourceRoot":"","sources":["../src/tier0-invariant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tier0-invariant.js","sourceRoot":"","sources":["../src/tier0-invariant.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,2EAA2E;AAC3E,SAAS,eAAe,CAAC,KAAa,EAAE,OAAe;IACrD,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACrD,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAEnC,yDAAyD;IACzD,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC;SACpC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC;SAChC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;SACvB,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAElC,IAAI,CAAC;QACH,OAAO,IAAI,MAAM,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAkCD,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,OAAO,gBAAgB;IACV,SAAS,CAAqC;IAE/D,YAAY,SAA+D;QACzE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAyB,CAAC;QAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAiB;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC,CAAC,gEAAgE;QAE1F,MAAM,OAAO,GAAG;YACd,KAAK,CAAC,OAAO,IAAI,EAAE;YACnB,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE;YAC7B,KAAK,CAAC,MAAM,EAAE,aAAa,IAAI,EAAE;SAClC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEZ,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAyB,EAAE,CAAC;QAE5C,yBAAyB;QACzB,IAAI,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACrD,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAC/B,CAAC;gBACF,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,UAAU,CAAC,IAAI,CAAC;wBACd,OAAO;wBACP,aAAa,EAAE,YAAY;wBAC3B,WAAW,EAAE,UAAU,OAAO,oBAAoB,IAAI,yBAAyB;wBAC/E,aAAa,EAAE,IAAI;wBACnB,aAAa,EAAE,QAAQ,CAAC,YAAY;qBACrC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,IAAI,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CACxC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,OAAO,KAAK,GAAG,CACjF,CAAC;gBACF,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,UAAU,CAAC,IAAI,CAAC;wBACd,OAAO;wBACP,aAAa,EAAE,YAAY;wBAC3B,WAAW,EAAE,UAAU,OAAO,qBAAqB,IAAI,yBAAyB;wBAChF,aAAa,EAAE,IAAI;wBACnB,aAAa,EAAE,QAAQ,CAAC,YAAY;qBACrC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,IAAI,QAAQ,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3D,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAC1C,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACtG,CAAC;gBACF,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,UAAU,CAAC,IAAI,CAAC;wBACd,OAAO;wBACP,aAAa,EAAE,WAAW;wBAC1B,WAAW,EAAE,UAAU,OAAO,uBAAuB,MAAM,yBAAyB;wBACpF,aAAa,EAAE,MAAM;wBACrB,aAAa,EAAE,QAAQ,CAAC,cAAc;qBACvC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,IAAI,QAAQ,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,CAC3C,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC,CAC9D,CAAC;gBACF,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,UAAU,CAAC,IAAI,CAAC;wBACd,OAAO;wBACP,aAAa,EAAE,eAAe;wBAC9B,WAAW,EAAE,UAAU,OAAO,uBAAuB,GAAG,yBAAyB;wBACjF,aAAa,EAAE,GAAG;wBAClB,aAAa,EAAE,QAAQ,CAAC,eAAe;qBACxC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,QAAQ,CAAC,uBAAuB,KAAK,KAAK,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3E,UAAU,CAAC,IAAI,CAAC;gBACd,OAAO;gBACP,aAAa,EAAE,qBAAqB;gBACpC,WAAW,EAAE,UAAU,OAAO,iDAAiD;gBAC/E,aAAa,EAAE,6BAA6B;gBAC5C,aAAa,EAAE,CAAC,MAAM,CAAC;aACxB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,6DAA6D;IAC7D,cAAc,CAAC,SAA6B;QAC1C,MAAM,aAAa,GAAY;YAC7B,KAAK,EAAE,wBAAwB,SAAS,CAAC,aAAa,EAAE;YACxD,EAAE,EAAE,mBAAmB,SAAS,CAAC,aAAa,EAAE;YAChD,MAAM,EAAE,QAAiB;YACzB,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC3C,QAAQ,EAAE,UAAyB;YACnC,IAAI,EAAE;gBACJ,QAAQ,EAAE,sBAAsB;gBAChC,WAAW,EAAE,SAAS,CAAC,aAAa;gBACpC,UAAU,EAAE,MAAe;aAC5B;YACD,YAAY,EAAE,EAAE,IAAI,EAAE,kBAA2B,EAAE;YACnD,SAAS,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE;YAC3D,QAAQ,EAAE;gBACR,OAAO,EAAE,CAAC,aAAsB,EAAE,OAAgB,EAAE,UAAmB,CAAC;gBACxE,gBAAgB,EAAE,SAAS,CAAC,WAAW;aACxC;SACF,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,iBAAiB,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC;YAC5C,eAAe,EAAE,CAAC,GAAG,SAAS,CAAC,aAAa,YAAY,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YAC9F,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,YAAY,EAAE,QAAiB;YAC/B,SAAS,EAAE,WAAoB;SAChC,CAAC;IACJ,CAAC;IAED,2CAA2C;IACnC,cAAc,CAAC,KAAiB;QACtC,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC7C,IAAI,OAAO,YAAY,KAAK,QAAQ;YAAE,OAAO,YAAY,CAAC;QAC1D,OAAO,KAAK,CAAC,MAAM,EAAE,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI,SAAS,CAAC;IACxE,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"tier1-blacklist.d.ts","sourceRoot":"","sources":["../src/tier1-blacklist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAW,WAAW,EAAE,MAAM,YAAY,CAAC;AAMjE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IACpD,wCAAwC;IACxC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,2BAA2B;IAC3B,IAAI,IAAI,MAAM,CAAC;CAChB;AAMD,qBAAa,iBAAkB,YAAW,iBAAiB;IACzD,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,MAAM,CAA8B;gBAEhC,OAAO,CAAC,EAAE,SAAS,cAAc,EAAE;IAW/C,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAK7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,IAAI,IAAI,MAAM;IAId,6CAA6C;IAC7C,WAAW,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,GAAG,iBAAiB;CAGnE;AAMD,sDAAsD;AACtD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,GAAG,QAAQ,CA8BnE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAYjI"}
1
+ {"version":3,"file":"tier1-blacklist.d.ts","sourceRoot":"","sources":["../src/tier1-blacklist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAW,WAAW,EAAE,MAAM,YAAY,CAAC;AAMjE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IACpD,wCAAwC;IACxC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,2BAA2B;IAC3B,IAAI,IAAI,MAAM,CAAC;CAChB;AAMD,qBAAa,iBAAkB,YAAW,iBAAiB;IACzD,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,MAAM,CAA8B;gBAEhC,OAAO,CAAC,EAAE,SAAS,cAAc,EAAE;IAW/C,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAK7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,IAAI,IAAI,MAAM;IAId,6CAA6C;IAC7C,WAAW,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,GAAG,iBAAiB;CAGnE;AAMD,sDAAsD;AACtD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,GAAG,QAAQ,CA+BnE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAYjI"}
@@ -71,6 +71,7 @@ export function buildBlacklistMatch(entry) {
71
71
  confidence: 1.0,
72
72
  timestamp: new Date().toISOString(),
73
73
  scan_context: 'native',
74
+ decidedBy: 'blacklist',
74
75
  };
75
76
  }
76
77
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tier1-blacklist.js","sourceRoot":"","sources":["../src/tier1-blacklist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tier1-blacklist.js","sourceRoot":"","sources":["../src/tier1-blacklist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAyBH,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAA8B;IACpC,MAAM,CAA8B;IAE5C,YAAY,OAAmC;QAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAe;QACpB,0CAA0C;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,OAAO;QACX,sEAAsE;IACxE,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,6CAA6C;IAC7C,WAAW,CAAC,OAAkC;QAC5C,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;CACF;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,sDAAsD;AACtD,MAAM,UAAU,mBAAmB,CAAC,KAAqB;IACvD,MAAM,aAAa,GAAY;QAC7B,KAAK,EAAE,sBAAsB,KAAK,CAAC,SAAS,EAAE;QAC9C,EAAE,EAAE,mBAAmB,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QACpD,MAAM,EAAE,QAAiB;QACzB,WAAW,EAAE,UAAU,KAAK,CAAC,SAAS,oCAAoC,KAAK,CAAC,MAAM,iBAAiB,KAAK,CAAC,WAAW,SAAS;QACjI,MAAM,EAAE,4BAA4B;QACpC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC3C,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE;YACJ,QAAQ,EAAE,kBAAkB;YAC5B,WAAW,EAAE,aAAa;YAC1B,UAAU,EAAE,MAAe;SAC5B;QACD,YAAY,EAAE,EAAE,IAAI,EAAE,iBAA0B,EAAE;QAClD,SAAS,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,uBAAuB,EAAE;QACjE,QAAQ,EAAE;YACR,OAAO,EAAE,CAAC,YAAqB,EAAE,OAAgB,CAAC;YAClD,gBAAgB,EAAE,aAAa,KAAK,CAAC,SAAS,iCAAiC,KAAK,CAAC,WAAW,qBAAqB;SACtH;KACF,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;QACvD,eAAe,EAAE,CAAC,QAAQ,KAAK,CAAC,SAAS,EAAE,EAAE,QAAQ,KAAK,CAAC,SAAS,EAAE,CAAC;QACvE,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,YAAY,EAAE,QAAiB;QAC/B,SAAS,EAAE,WAAoB;KAChC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAA8E;IAC3G,OAAO,CACJ,KAAK,CAAC,QAAQ,EAAE,SAAoB;QACpC,KAAK,CAAC,QAAQ,EAAE,WAAsB;QACtC,KAAK,CAAC,QAAQ,EAAE,OAAkB;QACnC,KAAK,CAAC,MAAM,EAAE,UAAU;QACxB,KAAK,CAAC,MAAM,EAAE,YAAY;QAC1B,KAAK,CAAC,MAAM,EAAE,UAAU;QACxB,KAAK,CAAC,MAAM,EAAE,QAAQ;QACtB,KAAK,CAAC,MAAM,EAAE,SAAS;QACvB,SAAS,CACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Which rules apply to an MCP tool definition.
3
+ *
4
+ * A `tools/list` document defines tools; it calls none. `atr scan` turns each definition into an
5
+ * mcp_exchange event (src/cli/mcp-tools-document.ts), and an mcp_exchange event is filtered against
6
+ * no source type, so without a scope every rule runs on it, including the rules written for a tool
7
+ * being called: they read the called tool's name, arguments or output and ask whether that call is
8
+ * dangerous. On a definition the name is the defined tool's name and the content is its schema, so
9
+ * those rules flag every definition whose name contains delete, exec, upload, ... Measured on 710
10
+ * benign definitions from 45 official and vendor MCP servers (data/measurements/mcp-tools-list-benign/):
11
+ * 54 of the 58 hunt-lane flags came from such rules.
12
+ *
13
+ * The scope, applied when an engine is constructed with `toolDefinitions: true` (ATREngineConfig):
14
+ * - a rule whose agent_source.type is not `tool_call` runs as before. That covers the mcp_exchange
15
+ * rules (tool poisoning, full-schema poisoning, written for MCP content) and the llm_io rules
16
+ * (text that reaches the model), and the extended types (skill_*, context_window, ...), which
17
+ * describe what a rule reads rather than a call;
18
+ * - a `tool_call` rule runs only if one of its conditions reads `tool_description`: the description
19
+ * is part of the definition, so such a rule was written for what a definition carries. The test is
20
+ * per rule: the rule is then evaluated whole, its other conditions included (ATR-2026-00441 also
21
+ * reads tool_name and tool_args);
22
+ * - a `tool_call` rule in TOOL_IDENTITY_RULES runs: its subject is the tool's identity (its name and
23
+ * what it claims to be), a property of the definition, not of a call. Listed by id because its
24
+ * fields (tool_name, content) are the same fields the call rules read; the reason is given per rule.
25
+ * Every other `tool_call` rule (the ones that read tool_name, tool_args or content to judge a call)
26
+ * does not run. The scope is derived from each rule's own agent_source and conditions; no rule file
27
+ * changes, and an engine without `toolDefinitions` is unaffected. It is reference-engine scan-context
28
+ * behaviour, set only by `atr scan` for a tools/list document (docs/ARCHITECTURE.md §3.2).
29
+ *
30
+ * @module agent-threat-rules/tool-definition-scope
31
+ */
32
+ import type { ATRRule } from './types.js';
33
+ /**
34
+ * tool_call rules whose subject is the identity of the tool, kept in the tool-definition scope. One
35
+ * entry per rule, with the reason; add a rule here only when its conditions judge what the tool is,
36
+ * never what a call does.
37
+ */
38
+ export declare const TOOL_IDENTITY_RULES: Readonly<Record<string, string>>;
39
+ type RuleShape = Partial<Pick<ATRRule, 'id' | 'agent_source' | 'detection'>>;
40
+ /** The fields a rule's conditions read, in either condition format (array or named map, incl. sequence steps). */
41
+ export declare function fieldsReadBy(rule: RuleShape): ReadonlySet<string>;
42
+ /** Whether `rule` runs on an MCP tool definition (see the module comment for the criterion). */
43
+ export declare function appliesToToolDefinition(rule: RuleShape): boolean;
44
+ export {};
45
+ //# sourceMappingURL=tool-definition-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-definition-scope.d.ts","sourceRoot":"","sources":["../src/tool-definition-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAI/D,CAAC;AAEH,KAAK,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC;AAE7E,kHAAkH;AAClH,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAYjE;AAED,gGAAgG;AAChG,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAIhE"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Which rules apply to an MCP tool definition.
3
+ *
4
+ * A `tools/list` document defines tools; it calls none. `atr scan` turns each definition into an
5
+ * mcp_exchange event (src/cli/mcp-tools-document.ts), and an mcp_exchange event is filtered against
6
+ * no source type, so without a scope every rule runs on it, including the rules written for a tool
7
+ * being called: they read the called tool's name, arguments or output and ask whether that call is
8
+ * dangerous. On a definition the name is the defined tool's name and the content is its schema, so
9
+ * those rules flag every definition whose name contains delete, exec, upload, ... Measured on 710
10
+ * benign definitions from 45 official and vendor MCP servers (data/measurements/mcp-tools-list-benign/):
11
+ * 54 of the 58 hunt-lane flags came from such rules.
12
+ *
13
+ * The scope, applied when an engine is constructed with `toolDefinitions: true` (ATREngineConfig):
14
+ * - a rule whose agent_source.type is not `tool_call` runs as before. That covers the mcp_exchange
15
+ * rules (tool poisoning, full-schema poisoning, written for MCP content) and the llm_io rules
16
+ * (text that reaches the model), and the extended types (skill_*, context_window, ...), which
17
+ * describe what a rule reads rather than a call;
18
+ * - a `tool_call` rule runs only if one of its conditions reads `tool_description`: the description
19
+ * is part of the definition, so such a rule was written for what a definition carries. The test is
20
+ * per rule: the rule is then evaluated whole, its other conditions included (ATR-2026-00441 also
21
+ * reads tool_name and tool_args);
22
+ * - a `tool_call` rule in TOOL_IDENTITY_RULES runs: its subject is the tool's identity (its name and
23
+ * what it claims to be), a property of the definition, not of a call. Listed by id because its
24
+ * fields (tool_name, content) are the same fields the call rules read; the reason is given per rule.
25
+ * Every other `tool_call` rule (the ones that read tool_name, tool_args or content to judge a call)
26
+ * does not run. The scope is derived from each rule's own agent_source and conditions; no rule file
27
+ * changes, and an engine without `toolDefinitions` is unaffected. It is reference-engine scan-context
28
+ * behaviour, set only by `atr scan` for a tools/list document (docs/ARCHITECTURE.md §3.2).
29
+ *
30
+ * @module agent-threat-rules/tool-definition-scope
31
+ */
32
+ /**
33
+ * tool_call rules whose subject is the identity of the tool, kept in the tool-definition scope. One
34
+ * entry per rule, with the reason; add a rule here only when its conditions judge what the tool is,
35
+ * never what a call does.
36
+ */
37
+ export const TOOL_IDENTITY_RULES = Object.freeze({
38
+ 'ATR-2026-00060': 'Skill impersonation: typosquatted, trust-prefixed or version-spoofed tool names, and descriptions ' +
39
+ 'that claim to replace the original tool. Both are properties of a tool definition.',
40
+ });
41
+ /** The fields a rule's conditions read, in either condition format (array or named map, incl. sequence steps). */
42
+ export function fieldsReadBy(rule) {
43
+ const fields = new Set();
44
+ const conditions = rule.detection?.conditions;
45
+ const visit = (c) => {
46
+ if (!c || typeof c !== 'object')
47
+ return;
48
+ const rec = c;
49
+ if (typeof rec['field'] === 'string')
50
+ fields.add(rec['field']);
51
+ if (Array.isArray(rec['steps']))
52
+ rec['steps'].forEach(visit);
53
+ };
54
+ if (Array.isArray(conditions))
55
+ conditions.forEach(visit);
56
+ else if (conditions && typeof conditions === 'object')
57
+ Object.values(conditions).forEach(visit);
58
+ return fields;
59
+ }
60
+ /** Whether `rule` runs on an MCP tool definition (see the module comment for the criterion). */
61
+ export function appliesToToolDefinition(rule) {
62
+ if (rule.agent_source?.type !== 'tool_call')
63
+ return true;
64
+ if (fieldsReadBy(rule).has('tool_description'))
65
+ return true;
66
+ return typeof rule.id === 'string' && Object.hasOwn(TOOL_IDENTITY_RULES, rule.id);
67
+ }
68
+ //# sourceMappingURL=tool-definition-scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-definition-scope.js","sourceRoot":"","sources":["../src/tool-definition-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAqC,MAAM,CAAC,MAAM,CAAC;IACjF,gBAAgB,EACd,oGAAoG;QACpG,oFAAoF;CACvF,CAAC,CAAC;AAIH,kHAAkH;AAClH,MAAM,UAAU,YAAY,CAAC,IAAe;IAC1C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,UAAqB,CAAC;IACzD,MAAM,KAAK,GAAG,CAAC,CAAU,EAAQ,EAAE;QACjC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO;QACxC,MAAM,GAAG,GAAG,CAA4B,CAAC;QACzC,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAAE,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC,CAAC;IACF,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACpD,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChG,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,uBAAuB,CAAC,IAAe;IACrD,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACzD,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,OAAO,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;AACpF,CAAC"}
package/dist/types.d.ts CHANGED
@@ -304,6 +304,14 @@ export type ATRSemanticJudge = (args: {
304
304
  }) => Promise<ATRSemanticJudgeResult>;
305
305
  /** Result when an ATR rule matches an event */
306
306
  export type ScanContextType = "native" | "cross-context";
307
+ /**
308
+ * What decided a match. `semantic-judge` (a semantic rule's injected judge),
309
+ * `embedding` (the Tier 2.5 similarity signal) and `semantic-layer` (the Layer 3
310
+ * module) are decisions a model made. The rest are deterministic logic: a rule's
311
+ * (a semantic rule's pattern fallback, `semantic-fallback`, included), an
312
+ * invariant's, the blacklist's or a skill fingerprint's.
313
+ */
314
+ export type ATRMatchDecider = "pattern" | "signature" | "trace" | "semantic-fallback" | "semantic-judge" | "embedding" | "semantic-layer" | "invariant" | "blacklist" | "fingerprint";
307
315
  export interface ATRMatch {
308
316
  rule: ATRRule;
309
317
  matchedConditions: string[];
@@ -313,6 +321,11 @@ export interface ATRMatch {
313
321
  /** Whether this match is native (rule designed for this scan path) or cross-context
314
322
  * (e.g., MCP rule firing on SKILL.md content with confidence downweight). */
315
323
  scan_context: ScanContextType;
324
+ /**
325
+ * What decided the match. Every match the engine builds sets it. A match built
326
+ * elsewhere without it is read as a rule's deterministic decision.
327
+ */
328
+ decidedBy?: ATRMatchDecider;
316
329
  }
317
330
  /** Verdict outcome from evaluating matched rules */
318
331
  export type VerdictOutcome = "allow" | "ask" | "deny";
@@ -325,6 +338,16 @@ export interface ATRVerdict {
325
338
  readonly highestConfidence: number;
326
339
  readonly actions: readonly ATRAction[];
327
340
  readonly matches: readonly ATRMatch[];
341
+ /**
342
+ * Matches a model decided that did not take part in the outcome, and whose
343
+ * actions above the observe tier were not dispatched (computeVerdict's
344
+ * default, modelDecisions: 'advisory'). They are also in `matches`. Present
345
+ * only when there is at least one; `highestSeverity` and `highestConfidence`
346
+ * describe the other matches, the ones the outcome came from.
347
+ */
348
+ readonly advisory?: readonly ATRMatch[];
349
+ /** The highest severity among `advisory`, present with it, for reporting. */
350
+ readonly advisorySeverity?: ATRSeverity;
328
351
  readonly timestamp: string;
329
352
  }
330
353
  /** Result of executing a single action */
@@ -363,6 +386,8 @@ export interface PlatformAdapter {
363
386
  reducePermissions(ctx: ExecutionContext): Promise<ActionResult>;
364
387
  killAgent(ctx: ExecutionContext): Promise<ActionResult>;
365
388
  }
389
+ /** The hook events the guard answers. */
390
+ export type HookEventName = "PreToolUse" | "PostToolUse" | "PostToolUseFailure";
366
391
  /**
367
392
  * Hook input from Claude Code / agent host.
368
393
  *
@@ -375,10 +400,25 @@ export interface PlatformAdapter {
375
400
  * `hookEventOf` is the single reader.
376
401
  */
377
402
  export interface HookInput {
378
- readonly hook?: "PreToolUse" | "PostToolUse";
379
- readonly hook_event_name?: "PreToolUse" | "PostToolUse";
403
+ readonly hook?: HookEventName;
404
+ readonly hook_event_name?: HookEventName;
380
405
  readonly tool_name: string;
381
406
  readonly tool_input: Readonly<Record<string, unknown>>;
407
+ /**
408
+ * The tool's output, on PostToolUse. Claude Code sends it here, at the top
409
+ * level, as the tool's own output object (its shape depends on the tool);
410
+ * src/hook-tool-output.ts reads its text.
411
+ */
412
+ readonly tool_response?: unknown;
413
+ /**
414
+ * Why the tool call failed, on PostToolUseFailure, which Claude Code sends in
415
+ * place of PostToolUse when a call fails. Claude Code 2.1.280 sends a string:
416
+ * for a shell command, an `Exit code N` line, its abort note when it aborted
417
+ * the command, then the command's stderr and stdout, trimmed and cut to about
418
+ * 10,000 characters.
419
+ */
420
+ readonly error?: unknown;
421
+ readonly is_interrupt?: boolean;
382
422
  readonly session_id?: string;
383
423
  readonly timestamp?: string;
384
424
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}