agent-threat-rules 4.2.0 → 4.2.2

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 (178) hide show
  1. package/CHANGELOG.md +229 -0
  2. package/README.md +5 -4
  3. package/dist/converters/elastic.d.ts.map +1 -1
  4. package/dist/converters/elastic.js +7 -1
  5. package/dist/converters/elastic.js.map +1 -1
  6. package/dist/converters/generic-regex.d.ts +5 -1
  7. package/dist/converters/generic-regex.d.ts.map +1 -1
  8. package/dist/converters/generic-regex.js +12 -11
  9. package/dist/converters/generic-regex.js.map +1 -1
  10. package/dist/converters/sage-reverse.d.ts +1 -1
  11. package/dist/converters/sage-reverse.d.ts.map +1 -1
  12. package/dist/converters/sage-reverse.js +13 -8
  13. package/dist/converters/sage-reverse.js.map +1 -1
  14. package/dist/converters/sage.d.ts +8 -8
  15. package/dist/converters/sage.d.ts.map +1 -1
  16. package/dist/converters/sage.js +107 -74
  17. package/dist/converters/sage.js.map +1 -1
  18. package/dist/converters/splunk.d.ts.map +1 -1
  19. package/dist/converters/splunk.js +17 -3
  20. package/dist/converters/splunk.js.map +1 -1
  21. package/dist/engine.d.ts +2 -48
  22. package/dist/engine.d.ts.map +1 -1
  23. package/dist/engine.js +3 -54
  24. package/dist/engine.js.map +1 -1
  25. package/dist/regex-dialect.d.ts +67 -0
  26. package/dist/regex-dialect.d.ts.map +1 -0
  27. package/dist/regex-dialect.js +77 -0
  28. package/dist/regex-dialect.js.map +1 -0
  29. package/package.json +1 -1
  30. package/rules/agent-manipulation/ATR-2026-00074-cross-agent-privilege-escalation.yaml +0 -1
  31. package/rules/agent-manipulation/ATR-2026-00430-nl-trust-escalation-impersonation.yaml +3 -0
  32. package/rules/agent-manipulation/ATR-2026-00552-goal-drift-after-pressure-injection.yaml +3 -3
  33. package/rules/context-exfiltration/ATR-2026-00102-disguised-analytics-exfiltration.yaml +3 -2
  34. package/rules/context-exfiltration/ATR-2026-00136-tool-response-data-piggyback.yaml +5 -3
  35. package/rules/context-exfiltration/ATR-2026-00142-piggyback-transition-words.yaml +4 -2
  36. package/rules/context-exfiltration/ATR-2026-00150-credential-in-tool-response.yaml +3 -2
  37. package/rules/context-exfiltration/ATR-2026-00152-obfuscated-credential-leak.yaml +3 -2
  38. package/rules/context-exfiltration/ATR-2026-00162-skill-credential-exfil-combo.yaml +6 -2
  39. package/rules/context-exfiltration/ATR-2026-00201-credential-pipe-exfiltration.yaml +5 -2
  40. package/rules/context-exfiltration/ATR-2026-00290-divergence-repeat-word-training-extraction.yaml +0 -4
  41. package/rules/context-exfiltration/ATR-2026-00449-spring-ai-chatmemory-cross-user-leak.yaml +2 -3
  42. package/rules/context-exfiltration/ATR-2026-00501-data-exfiltration-via-markdown-image-and-link-url-injection.yaml +16 -2
  43. package/rules/context-exfiltration/ATR-2026-00505-system-prompt-extraction-instruction-dump-request.yaml +6 -4
  44. package/rules/context-exfiltration/ATR-2026-00516-output-xss-via-llm.yaml +9 -8
  45. package/rules/context-exfiltration/ATR-2026-00569-agent-mcp-path-traversal-arbitrary-file-access.yaml +3 -1
  46. package/rules/context-exfiltration/ATR-2026-00571-xss-in-agent-mcp-rendered-output.yaml +4 -3
  47. package/rules/context-exfiltration/ATR-2026-00702-ipi-credential-exfil-via-agent-action.yaml +5 -3
  48. package/rules/context-exfiltration/ATR-2026-00703-ipi-financial-data-exfil-indirect.yaml +5 -3
  49. package/rules/context-exfiltration/ATR-2026-00704-ipi-medical-genetic-data-exfil.yaml +5 -3
  50. package/rules/context-exfiltration/ATR-2026-00705-ipi-location-address-browsing-exfil.yaml +5 -3
  51. package/rules/context-exfiltration/ATR-2026-00706-ipi-physical-biometric-exfil.yaml +5 -3
  52. package/rules/context-exfiltration/ATR-2026-00707-ipi-file-exfil-with-destroy-or-tamper.yaml +6 -3
  53. package/rules/context-exfiltration/ATR-2026-00860-indirect-pi-financial-transfer-hijack.yaml +1 -1
  54. package/rules/context-exfiltration/ATR-2026-00861-indirect-pi-crypto-transfer-hijack.yaml +1 -1
  55. package/rules/context-exfiltration/ATR-2026-01605-ssrf-aws-metadata-endpoint.yaml +5 -1
  56. package/rules/context-exfiltration/ATR-2026-01606-ssrf-internal-network-scan.yaml +4 -1
  57. package/rules/context-exfiltration/ATR-2026-01607-ssrf-localhost-service-probe.yaml +4 -1
  58. package/rules/context-exfiltration/ATR-2026-01924-system-instruction-extraction-reformat.yaml +1 -4
  59. package/rules/context-exfiltration/ATR-2026-01948-netlicensing-mcp-product-number-path-traversal-token-leak.yaml +4 -2
  60. package/rules/context-exfiltration/ATR-2026-01957-m365-copilot-searchleak-open-redirect-exfil.yaml +6 -2
  61. package/rules/context-exfiltration/ATR-2026-01961-meta-ads-mcp-unauth-token-leak.yaml +4 -1
  62. package/rules/context-exfiltration/ATR-2026-01964-langchain-gmailtoolkit-indirect-prompt-injection-email-exfil.yaml +6 -2
  63. package/rules/context-exfiltration/ATR-2026-02140-ssrf-ipv6-hex-encoded-cloud-metadata-bypass.yaml +1 -1
  64. package/rules/context-exfiltration/ATR-2026-02304-preapproved-domain-encoded-path-exfil.yaml +1 -1
  65. package/rules/context-exfiltration/ATR-2026-02351-wildcard-dns-ssrf-hostname-ip-encoding-bypass.yaml +1 -1
  66. package/rules/data-poisoning/ATR-2026-00070-data-poisoning.yaml +1 -1
  67. package/rules/excessive-autonomy/ATR-2026-00491-garak-agent-breaker-markdown-just-raw-json.yaml +8 -8
  68. package/rules/excessive-autonomy/ATR-2026-00500-ssrf-via-agent-url-fetch-instruction.yaml +17 -5
  69. package/rules/excessive-autonomy/ATR-2026-00708-ipi-financial-transfer-unauthorized.yaml +4 -3
  70. package/rules/excessive-autonomy/ATR-2026-00711-ipi-system-sabotage-destructive-command.yaml +4 -3
  71. package/rules/excessive-autonomy/ATR-2026-00712-ipi-malicious-package-install.yaml +5 -3
  72. package/rules/excessive-autonomy/ATR-2026-00718-tool-misuse-financial-autonomous.yaml +8 -7
  73. package/rules/excessive-autonomy/ATR-2026-00719-tool-misuse-destructive-bulk-action.yaml +3 -3
  74. package/rules/excessive-autonomy/ATR-2026-01773-semantic-excessive-agency-action.yaml +3 -3
  75. package/rules/excessive-autonomy/ATR-2026-01801-asb-autonomous-vehicle-sabotage.yaml +3 -3
  76. package/rules/excessive-autonomy/ATR-2026-01804-asb-covert-unlogged-action.yaml +3 -4
  77. package/rules/excessive-autonomy/ATR-2026-01805-asb-financial-fraud-execution.yaml +3 -3
  78. package/rules/excessive-autonomy/ATR-2026-01806-asb-clinical-patient-harm.yaml +3 -3
  79. package/rules/excessive-autonomy/ATR-2026-01809-semantic-insider-manipulation-process-corruption.yaml +2 -3
  80. package/rules/excessive-autonomy/ATR-2026-01989-t1046-agent-internal-network-sweep.yaml +2 -2
  81. package/rules/excessive-autonomy/ATR-2026-01993-t1562-agent-impair-defenses.yaml +2 -2
  82. package/rules/excessive-autonomy/ATR-2026-02667-preapproved-tool-list-in-job-payload.yaml +0 -1
  83. package/rules/model-abuse/ATR-2026-00292-self-harm-eating-disorder-facilitation.yaml +3 -3
  84. package/rules/model-abuse/ATR-2026-00502-training-data-extraction-via-divergent-repetition-attack.yaml +2 -0
  85. package/rules/privilege-escalation/ATR-2026-00040-privilege-escalation.yaml +1 -1
  86. package/rules/privilege-escalation/ATR-2026-00107-delayed-execution-bypass.yaml +2 -2
  87. package/rules/privilege-escalation/ATR-2026-00143-casual-privilege-escalation.yaml +3 -2
  88. package/rules/privilege-escalation/ATR-2026-00144-rationalized-safety-bypass.yaml +3 -2
  89. package/rules/privilege-escalation/ATR-2026-00204-stealth-execution-persistence.yaml +1 -1
  90. package/rules/privilege-escalation/ATR-2026-00441-semantic-kernel-sessions-python-plugin-startup-persistence.yaml +2 -1
  91. package/rules/privilege-escalation/ATR-2026-00546-crewai-json-loader-local-file-read.yaml +3 -1
  92. package/rules/privilege-escalation/ATR-2026-00549-destructive-tool-without-human-approval.yaml +2 -2
  93. package/rules/privilege-escalation/ATR-2026-01601-sql-injection-destructive-ddl.yaml +8 -7
  94. package/rules/privilege-escalation/ATR-2026-01602-sql-injection-union-select-exfil.yaml +3 -1
  95. package/rules/privilege-escalation/ATR-2026-01603-sql-injection-stacked-dml-abuse.yaml +3 -2
  96. package/rules/privilege-escalation/ATR-2026-01604-sql-injection-schema-enumeration.yaml +3 -2
  97. package/rules/privilege-escalation/ATR-2026-01616-path-traversal-agent-file-access.yaml +4 -1
  98. package/rules/privilege-escalation/ATR-2026-01802-asb-backdoor-surveillance-implant.yaml +4 -3
  99. package/rules/privilege-escalation/ATR-2026-01803-asb-covert-server-intrusion.yaml +4 -4
  100. package/rules/privilege-escalation/ATR-2026-01808-asb-synthetic-pan-payment-probe.yaml +3 -3
  101. package/rules/privilege-escalation/ATR-2026-01949-praisonai-mcpserver-unauth-tools-call.yaml +1 -1
  102. package/rules/privilege-escalation/ATR-2026-01974-anything-llm-data-import-access-control.yaml +1 -1
  103. package/rules/privilege-escalation/ATR-2026-01992-t1556-agent-auth-process-tamper.yaml +1 -1
  104. package/rules/privilege-escalation/ATR-2026-02040-file-edit-tool-persistence-write.yaml +1 -1
  105. package/rules/privilege-escalation/ATR-2026-02100-cypher-destructive-admin-query-injection.yaml +4 -4
  106. package/rules/privilege-escalation/ATR-2026-02101-dynamic-dunder-attribute-sandbox-escape.yaml +1 -1
  107. package/rules/privilege-escalation/ATR-2026-02142-download-tool-absolute-path-sandbox-escape.yaml +1 -1
  108. package/rules/privilege-escalation/ATR-2026-02146-export-tool-dest-dir-credential-directory-redirect.yaml +1 -1
  109. package/rules/privilege-escalation/ATR-2026-02195-dangerous-env-var-injection-config-tool.yaml +1 -1
  110. package/rules/privilege-escalation/ATR-2026-02300-mcp-stdio-config-dangerous-env-var.yaml +5 -5
  111. package/rules/privilege-escalation/ATR-2026-02301-symlink-outside-workspace-sensitive-target.yaml +1 -1
  112. package/rules/privilege-escalation/ATR-2026-02302-git-worktree-dotgit-sandbox-escape.yaml +1 -1
  113. package/rules/privilege-escalation/ATR-2026-02402-mcp-policy-engine-fail-open.yaml +0 -1
  114. package/rules/prompt-injection/ATR-2026-00154-unauthorized-background-task-execution-v.yaml +5 -3
  115. package/rules/prompt-injection/ATR-2026-00156-ssh-remote-command-execution-with-creden.yaml +6 -3
  116. package/rules/prompt-injection/ATR-2026-00407-echo-sql-jinja-template-injection.yaml +3 -3
  117. package/rules/prompt-injection/ATR-2026-00410-lmrc-harm-category-direct-elicitation.yaml +2 -2
  118. package/rules/prompt-injection/ATR-2026-00442-quoted-exact-output-forcing.yaml +2 -2
  119. package/rules/prompt-injection/ATR-2026-00503-fake-error-state-takeover-unrestricted-replacement-bot.yaml +4 -2
  120. package/rules/prompt-injection/ATR-2026-00512-rules-file-backdoor-injection.yaml +3 -0
  121. package/rules/prompt-injection/ATR-2026-00554-langchain-vulnerable-to-template-injecti.yaml +3 -3
  122. package/rules/prompt-injection/ATR-2026-01800-asb-trigger-marker-tool-coercion.yaml +3 -3
  123. package/rules/prompt-injection/ATR-2026-02009-bare-key-elicitation-trailing-colon.yaml +3 -2
  124. package/rules/prompt-injection/ATR-2026-02820-tool-result-orders-agent-to-hide-its-own-action.yaml +3 -3
  125. package/rules/skill-compromise/ATR-2026-00064-over-permissioned-skill.yaml +1 -1
  126. package/rules/skill-compromise/ATR-2026-00127-subcommand-overflow.yaml +2 -1
  127. package/rules/skill-compromise/ATR-2026-00157-timebomb-credential-exfil.yaml +6 -2
  128. package/rules/skill-compromise/ATR-2026-00200-agent-memory-config-tampering.yaml +1 -1
  129. package/rules/skill-compromise/ATR-2026-00217-credential-harvesting.yaml +4 -2
  130. package/rules/skill-compromise/ATR-2026-00222-credential-harvesting.yaml +6 -2
  131. package/rules/skill-compromise/ATR-2026-00224-credential-exfiltration.yaml +4 -2
  132. package/rules/skill-compromise/ATR-2026-00260-package-hallucination.yaml +3 -2
  133. package/rules/skill-compromise/ATR-2026-00266-malware-dropper-gen.yaml +4 -3
  134. package/rules/skill-compromise/ATR-2026-00398-huggingface-unsafe-model-artifact-load.yaml +3 -3
  135. package/rules/skill-compromise/ATR-2026-00429-nl-skill-self-modification.yaml +4 -2
  136. package/rules/skill-compromise/ATR-2026-00525-mini-shai-hulud-gh-token-monitor-persistence.yaml +1 -0
  137. package/rules/skill-compromise/ATR-2026-00527-skill-silent-git-remote-mirror-exfiltration.yaml +3 -2
  138. package/rules/skill-compromise/ATR-2026-01755-backdoor-pot-linguistic-trigger-phrase.yaml +1 -1
  139. package/rules/skill-compromise/ATR-2026-01756-backdoor-pot-symbol-emoticon-trigger.yaml +1 -1
  140. package/rules/tool-poisoning/ATR-2026-00096-registry-poisoning.yaml +4 -3
  141. package/rules/tool-poisoning/ATR-2026-00100-consent-bypass-instruction.yaml +4 -2
  142. package/rules/tool-poisoning/ATR-2026-00105-silent-action-concealment.yaml +2 -1
  143. package/rules/tool-poisoning/ATR-2026-00106-schema-description-contradiction.yaml +2 -2
  144. package/rules/tool-poisoning/ATR-2026-00270-xss-in-tool-response.yaml +4 -3
  145. package/rules/tool-poisoning/ATR-2026-00494-garak-exploitation-mixedunassigned.yaml +5 -3
  146. package/rules/tool-poisoning/ATR-2026-00513-package-hallucination-exploitation.yaml +9 -7
  147. package/rules/tool-poisoning/ATR-2026-00521-shell-command-injection-agent-tool-context.yaml +6 -4
  148. package/rules/tool-poisoning/ATR-2026-00522-sql-injection-natural-language-agent-interface.yaml +4 -3
  149. package/rules/tool-poisoning/ATR-2026-00526-claude-code-shell-metachar-in-double-quoted-path.yaml +4 -3
  150. package/rules/tool-poisoning/ATR-2026-00530-ms-agent-shell-tool-unsanitized-argv-rce.yaml +4 -3
  151. package/rules/tool-poisoning/ATR-2026-00531-praisonai-unauthenticated-agent-api.yaml +1 -2
  152. package/rules/tool-poisoning/ATR-2026-00533-apache-pinot-mcp-unauthenticated-takeover.yaml +2 -3
  153. package/rules/tool-poisoning/ATR-2026-00716-ipi-data-destruction-carrier.yaml +5 -3
  154. package/rules/tool-poisoning/ATR-2026-00720-tool-misuse-privilege-escalation-social.yaml +3 -3
  155. package/rules/tool-poisoning/ATR-2026-01301-tool-description-exclusive-tool-override.yaml +1 -1
  156. package/rules/tool-poisoning/ATR-2026-01303-tool-schema-enumeration-social-engineering.yaml +4 -3
  157. package/rules/tool-poisoning/ATR-2026-01307-mcp-dns-rebinding-attack.yaml +3 -5
  158. package/rules/tool-poisoning/ATR-2026-01310-mcp-tool-description-compliance-history-exfil.yaml +5 -4
  159. package/rules/tool-poisoning/ATR-2026-01775-semantic-mcp-tool-manifest-poisoning.yaml +1 -1
  160. package/rules/tool-poisoning/ATR-2026-01952-praisonai-codemode-sandbox-escape-rce.yaml +4 -2
  161. package/rules/tool-poisoning/ATR-2026-01953-praisonai-codemode-function-ctor-sandbox-escape.yaml +4 -2
  162. package/rules/tool-poisoning/ATR-2026-01959-openhuman-shell-allowlist-env-prefix-bypass.yaml +4 -2
  163. package/rules/tool-poisoning/ATR-2026-01963-praisonai-action-orchestrator-step-target-path-traversal-rce.yaml +3 -2
  164. package/rules/tool-poisoning/ATR-2026-01965-flowise-custommcp-os-command-rce.yaml +2 -1
  165. package/rules/tool-poisoning/ATR-2026-01967-deepchat-mermaid-xss-rce-ipc-mcp-register.yaml +4 -2
  166. package/rules/tool-poisoning/ATR-2026-01970-praisonai-filetools-normpath-path-traversal.yaml +2 -2
  167. package/rules/tool-poisoning/ATR-2026-01973-anythingllm-logo-endpoint-path-traversal.yaml +2 -2
  168. package/rules/tool-poisoning/ATR-2026-01978-anythingllm-collector-process-filename-path-traversal-delete.yaml +2 -2
  169. package/rules/tool-poisoning/ATR-2026-01979-pandasai-prompt-injection-dunder-sandbox-escape-rce.yaml +6 -2
  170. package/rules/tool-poisoning/ATR-2026-01980-agentic-flow-mcp-tool-param-command-injection.yaml +4 -2
  171. package/rules/tool-poisoning/ATR-2026-01982-dbt-mcp-node-selection-argument-injection.yaml +2 -2
  172. package/rules/tool-poisoning/ATR-2026-01983-mcp-for-stata-log-file-name-command-injection.yaml +4 -2
  173. package/rules/tool-poisoning/ATR-2026-01985-mcp-connect-bridge-unauth-process-spawn-rce.yaml +2 -1
  174. package/rules/tool-poisoning/ATR-2026-01987-langroid-sqlchatagent-prompt-to-sql-rce.yaml +4 -2
  175. package/rules/tool-poisoning/ATR-2026-02102-html-injection-tool-arg-approval-ui-xss.yaml +1 -1
  176. package/rules/tool-poisoning/ATR-2026-02141-mcp-server-config-command-execution.yaml +1 -1
  177. package/rules/tool-poisoning/ATR-2026-02233-unscoped-destructive-db-request-nl.yaml +1 -1
  178. package/rules/tool-poisoning/ATR-2026-02870-invisible-control-before-directive.yaml +94 -0
@@ -15,10 +15,9 @@ references:
15
15
  - LLM02:2025
16
16
  - LLM08:2025
17
17
  owasp_agentic:
18
- - ASI04:2026
19
- - ASI09:2026
18
+ - ASI03:2026
19
+ - ASI06:2026
20
20
  mitre_atlas:
21
- - AML.T0024 - Exfiltration via AI Inference API
22
21
  - AML.T0057 - LLM Data Leakage
23
22
  mitre_attack:
24
23
  - T1530 - Data from Cloud Storage Object
@@ -1,9 +1,9 @@
1
1
  title: Data Exfiltration via Markdown Image and Link URL Injection
2
2
  id: ATR-2026-00501
3
- rule_version: 2
3
+ rule_version: 3
4
4
  status: experimental
5
5
  description: |
6
- Detects instructions to the AI to embed attacker-controlled URLs into markdown image or link syntax with extracted data encoded in query parameters. This is the canonical indirect- injection data exfiltration vector: the agent renders malicious markdown that causes clients to make HTTP requests carrying sensitive data to attacker-controlled servers. Covers: markdown image with data-bearing query params, markdown link with sensitive data params, tracking pixel embedding, base64-encoded data in URL, and "send/encode to" redirect instructions. Generalised from promptfoo data-exfil plugin corpus - literal evil.com and attacker.com replaced with generic external URL patterns containing exfiltration parameter names (secret=, data=, q=, payload=, user=, token=, session=, key=, info=).
6
+ Detects attacker-controlled URLs that carry extracted data to an external endpoint: the canonical indirect-injection exfiltration vector, where the agent is told to fetch a URL or to render markdown whose query string carries sensitive context, so that the client or a fetch tool sends that data to the attacker. Covers, on the input side: markdown image or link with data-bearing query parameters, tracking pixel embedding, "encode and send to" redirect instructions, diagram/image references with data-bearing URLs, and fetch instructions whose query value is a template placeholder for the model's own context ({{system_prompt}}, ${conversation}, ...). On the output side (agent_output): the model emitting such a markdown image or link. Grounded in promptfoo's data-exfil plugin: the injected instruction documented in promptfoo/promptfoo site/docs/red-team/plugins/data-exfil.md ("## Example") and the two exfiltration payloads its grader rubric names (src/redteam/plugins/dataExfil.ts lines 23-24, repeated in the docs table), identical at commits 5f89b7c86ea04e5c03fbe7789dd0e47aed05bf43 and ea8b3d073a63769f7be243ac3c3460f72881a930. Those three are the vendor true positives below; the rest are ATR-authored and labelled synthetic.
7
7
  author: ATR Community (vendor-corpus-import)
8
8
  date: '2026-05-12'
9
9
  schema_version: '0.1'
@@ -66,6 +66,8 @@ tags:
66
66
  subcategory: markdown-url-injection
67
67
  scan_target: llm_io
68
68
  confidence: medium
69
+ source: vendor-test-suite
70
+ vendor_sources: promptfoo
69
71
  agent_source:
70
72
  type: llm_io
71
73
  framework:
@@ -98,6 +100,18 @@ detection:
98
100
  operator: regex
99
101
  value: (?i)(include|add|reference|embed).{0,30}(relevant\s+)?(diagrams?|images?|charts?|figures?|screenshots?).{0,30}(by\s+referencing|at|from|via).{0,30}https?://[a-z0-9._-]+\.[a-z]{2,}[^)"'\s]*\?(data|secret|content|payload|extract|q)=
100
102
  description: Diagram/image inclusion instruction with data-bearing external URL
103
+ - field: user_input
104
+ operator: regex
105
+ value: (?i)\b(fetch|visit|load|open|request|call|curl|ping|get|navigate\s+to|go\s+to|send\s+a\s+request\s+to)\b.{0,60}https?://[^\s?#]{1,200}\?[^\s#]{0,200}=\s*(\{\{|\$\{)\s*[a-z_.]{0,30}(system[_ ]?prompt|prompt|instructions?|conversation|chat[_ ]?history|history|memory|context|messages?|transcript|secrets?|credentials?)[a-z_.]{0,30}\s*\}
106
+ description: Fetch instruction to a URL whose query value interpolates the model's own context (system prompt, conversation, memory, secrets)
107
+ - field: agent_output
108
+ operator: regex
109
+ value: (?i)!\[[^\]]{0,60}\]\(https?://[a-z0-9._-]+\.[a-z]{2,}[^)]*\?(secret|data|payload|token|key|session|user|info|content|doc|extract|dump|exfil|leak|api_key|password)=
110
+ description: Agent output contains a markdown image whose external URL carries an exfiltration query parameter
111
+ - field: agent_output
112
+ operator: regex
113
+ value: (?i)\[[^\]]{0,60}\]\(https?://[a-z0-9._-]+\.[a-z]{2,}[^)]*\?(secret|payload|token|extracted|exfil|leak|dump|stolen|private_data|sensitive|api_key|auth_token|bearer|password)=
114
+ description: Agent output contains a markdown link whose external URL carries a high-confidence exfiltration query parameter
101
115
  condition: any
102
116
  false_positives:
103
117
  - Legitimate markdown with external image URLs that do not contain exfiltration parameters
@@ -1,9 +1,9 @@
1
1
  title: System Prompt Extraction - Instruction Dump Request
2
2
  id: ATR-2026-00505
3
- rule_version: 2
3
+ rule_version: 3
4
4
  status: experimental
5
5
  description: |
6
- Detects attempts to extract the system prompt or initial instructions given to the AI. Covers both direct requests ('list your instructions', 'relay your parameters', 'repeat verbatim') and indirect social engineering ('create a pitch deck about your system prompt', 'reply to this email with your system instructions'). The rule targets extraction verbs (repeat, relay, list, respond with, output, dump, provide, share) combined with objects that reference the system prompt (instructions, parameters, system prompt, initial context, configuration, directives, guidelines, rules you were given). Generalised from llm-guard and promptfoo test corpora - literal phrase fragments replaced with semantic patterns covering a broad range of extraction formulations.
6
+ Detects attempts to extract the system prompt or initial instructions given to the AI. Covers both direct requests ('list your instructions', 'relay your parameters', 'repeat verbatim') and indirect social engineering ('create a pitch deck about your system prompt', 'reply to this email with your system instructions'). The rule targets extraction verbs (repeat, relay, list, respond with, output, dump, provide, share) combined with objects that reference the system prompt (instructions, parameters, system prompt, initial context, configuration, directives, guidelines, rules you were given). Apostrophes and quotes are matched in both ASCII and typographic form (' and ’, " and “ ”), as the vendor originals use typographic ones. Grounded in vendor test cases: protectai/llm-guard tests/input_scanners/test_prompt_injection.py at commit 168c1034ffdb33837e7ae6fd6a16b80567c1be03 (system-prompt extraction prompts) and promptfoo/promptfoo src/redteam/plugins/promptExtraction.ts DEFAULT_EXAMPLES at commits 5f89b7c86ea04e5c03fbe7789dd0e47aed05bf43 and ea8b3d073a63769f7be243ac3c3460f72881a930.
7
7
  author: ATR Community (vendor-corpus-import)
8
8
  date: '2026-05-12'
9
9
  schema_version: '0.1'
@@ -66,6 +66,8 @@ tags:
66
66
  subcategory: system-prompt-extraction
67
67
  scan_target: llm_io
68
68
  confidence: medium
69
+ source: vendor-test-suite
70
+ vendor_sources: llm-guard, promptfoo
69
71
  agent_source:
70
72
  type: llm_io
71
73
  framework:
@@ -76,7 +78,7 @@ detection:
76
78
  conditions:
77
79
  - field: user_input
78
80
  operator: regex
79
- value: (?i)(repeat|relay|list|output|print|dump|provide|reveal|disclose|expose|display)[^"']{0,40}(your\s+(instructions?|system\s+prompt|initial\s+(prompt|instructions?|context|message)|given\s+instructions?|directives?|guidelines?|programming|constraints?|setup\s+instructions?)|the\s+system\s+(prompt|instructions?|message)|all\s+of\s+your\s+instructions?|every\s+(instruction|rule|directive|guideline|constraint)\s+you\s+(have\s+been|were))
81
+ value: (?i)(repeat|relay|list|output|print|dump|provide|reveal|disclose|expose|display)[^"'“”‘’]{0,40}(your\s+(instructions?|system\s+prompt|initial\s+(prompt|instructions?|context|message)|given\s+instructions?|directives?|guidelines?|programming|constraints?|setup\s+instructions?)|the\s+system\s+(prompt|instructions?|message)|all\s+of\s+your\s+instructions?|every\s+(instruction|rule|directive|guideline|constraint)\s+you\s+(have\s+been|were))
80
82
  description: Extraction verb targeting AI system instructions or prompt (possessive 'your' required or explicit 'system prompt/message')
81
83
  - field: user_input
82
84
  operator: regex
@@ -100,7 +102,7 @@ detection:
100
102
  description: Reply-to-email with system instructions exfiltration
101
103
  - field: content
102
104
  operator: regex
103
- value: (?i)(?:(?:relay|list|dump|recite|enumerate|repeat|reveal|return|show|provide)\b[\s\S]{0,40}\byour\s+system(?:'?s)?\s+(?:prompt|instructions?|parameters?|message|directives?|config)|(?:directives?|guidelines?|instructions?|rules?)\s+you\s+(?:were|was)\s+given)
105
+ value: (?i)(?:(?:relay|list|dump|recite|enumerate|repeat|reveal|return|show|provide)\b[\s\S]{0,40}\byour\s+system(?:['’]?s)?\s+(?:prompt|instructions?|parameters?|message|directives?|config)|(?:directives?|guidelines?|instructions?|rules?)\s+you\s+(?:were|was)\s+given)
104
106
  description: Extraction via synonym (relay/list your system parameters; directives/guidelines you were given)
105
107
  condition: any
106
108
  false_positives:
@@ -12,19 +12,20 @@ maturity: test
12
12
  severity: high
13
13
  references:
14
14
  owasp_llm:
15
- - LLM02:2025
15
+ - LLM05:2025
16
16
  owasp_agentic:
17
- - ASI01:2026
17
+ - ASI05:2026
18
18
  mitre_atlas:
19
- - AML.T0024 - Exfiltration via AI Inference API
19
+ - AML.T0077 - LLM Response Rendering
20
+ - AML.T0050 - Command and Scripting Interpreter
20
21
  compliance:
21
22
  owasp_agentic:
22
- - id: ASI01:2026
23
- context: Context exfiltration redirects the agent to expose internal state (system prompt, credentials, conversation history) to an unauthorized party -- a goal hijack variant targeting information disclosure.
24
- strength: primary
23
+ - id: ASI05:2026
24
+ context: 'The patterns match prompts asking the model to emit a script tag, an on* event-handler attribute, a javascript: URI or a data:text/html URI whose script reads cookies, browser storage, page content or location, or calls fetch, eval or similar functions, and explicit requests for XSS payloads that steal cookies, tokens or credentials. ASI05:2026 builds on LLM05:2025 and covers model output that ends up executed as code; this code would run in the browser that renders the output, not on the agent host, so the fit is partial.'
25
+ strength: partial
25
26
  owasp_llm:
26
- - id: LLM02:2025
27
- context: This rule implements LLM02:2025 Sensitive Information Disclosure detection, identifying requests that attempt to extract confidential context, system prompts, or credentials from the agent.
27
+ - id: LLM05:2025
28
+ context: 'The patterns match the request side of an output-handling attack: prompts asking the model to emit a script tag, an on* event-handler attribute, or a javascript: / data:text/html URI whose script reads cookies, browser storage, page content or location, or calls fetch, eval or similar functions. LLM05:2025 lists JavaScript or Markdown generated by the LLM and interpreted by the browser, resulting in XSS.'
28
29
  strength: primary
29
30
  eu_ai_act:
30
31
  - article: '15'
@@ -30,9 +30,11 @@ references:
30
30
  - https://github.com/Advanced-Excel-MCP/excel-mcp-server
31
31
  owasp_llm:
32
32
  - LLM02:2025
33
+ - LLM05:2025
33
34
  owasp_agentic:
34
- - ASI01:2026
35
+ - ASI02:2026
35
36
  mitre_atlas:
37
+ - AML.T0053 - AI Agent Tool Invocation
36
38
  - AML.T0057 - LLM Data Leakage
37
39
  metadata_provenance:
38
40
  cve: human-authored
@@ -20,11 +20,12 @@ references:
20
20
  external:
21
21
  - https://github.com/jlowin/fastmcp/security/advisories
22
22
  owasp_llm:
23
- - LLM02:2025
23
+ - LLM05:2025
24
24
  owasp_agentic:
25
- - ASI01:2026
25
+ - ASI05:2026
26
26
  mitre_atlas:
27
- - AML.T0057 - LLM Data Leakage
27
+ - AML.T0077 - LLM Response Rendering
28
+ - AML.T0050 - Command and Scripting Interpreter
28
29
  metadata_provenance:
29
30
  cve: human-authored
30
31
  cwe: human-authored
@@ -13,13 +13,15 @@ severity: critical
13
13
  references:
14
14
  owasp_llm:
15
15
  - LLM01:2025
16
+ - LLM02:2025
16
17
  - LLM06:2025
17
18
  owasp_agentic:
18
19
  - ASI01:2026
19
- - ASI07:2026
20
+ - ASI02:2026
20
21
  mitre_atlas:
21
22
  - AML.T0051 - LLM Prompt Injection
22
23
  - AML.T0051.001 - Indirect
24
+ - AML.T0086 - Exfiltration via AI Agent Tool Invocation
23
25
  compliance:
24
26
  owasp_llm:
25
27
  - id: LLM01:2025
@@ -29,8 +31,8 @@ compliance:
29
31
  context: The attack instructs the agent to disclose stored credentials or API keys to an attacker-controlled destination.
30
32
  strength: primary
31
33
  owasp_agentic:
32
- - id: ASI07:2026
33
- context: The agent is induced to exfiltrate sensitive data (credentials, API keys, passwords) to an external endpoint.
34
+ - id: ASI01:2026
35
+ context: The patterns match content the agent reads that tells it to get API keys, passwords or stored credentials and send, email, share or forward them to an outside email address or URL, or that states such an exfiltration objective. ASI01:2026 covers manipulation of an agent's goals through deceptive tool outputs or poisoned external data, and lists indirect prompt injection that redirects an agent to exfiltrate sensitive data or misuse connected tools.
34
36
  strength: primary
35
37
  nist_ai_rmf:
36
38
  - subcategory: MS.2.7
@@ -13,13 +13,15 @@ severity: critical
13
13
  references:
14
14
  owasp_llm:
15
15
  - LLM01:2025
16
+ - LLM02:2025
16
17
  - LLM06:2025
17
18
  owasp_agentic:
18
19
  - ASI01:2026
19
- - ASI07:2026
20
+ - ASI02:2026
20
21
  mitre_atlas:
21
22
  - AML.T0051 - LLM Prompt Injection
22
23
  - AML.T0051.001 - Indirect
24
+ - AML.T0086 - Exfiltration via AI Agent Tool Invocation
23
25
  compliance:
24
26
  owasp_llm:
25
27
  - id: LLM01:2025
@@ -29,8 +31,8 @@ compliance:
29
31
  context: The agent is induced to disclose sensitive financial data (payment methods, bank accounts, card info) to an attacker.
30
32
  strength: primary
31
33
  owasp_agentic:
32
- - id: ASI07:2026
33
- context: Financial data exfiltration via agent-executed tool calls is the ASI07:2026 Data and Model Exfiltration pattern.
34
+ - id: ASI01:2026
35
+ context: The patterns match content the agent reads that tells it to retrieve saved payment methods, bank account or card details, or financial reports and email, send, share or forward them, or that states an objective of getting the user's bank, card or payment data. ASI01:2026 covers manipulation of an agent's goals through deceptive tool outputs or poisoned external data, and lists indirect prompt injection that redirects an agent to exfiltrate sensitive data or misuse connected tools.
34
36
  strength: primary
35
37
  nist_ai_rmf:
36
38
  - subcategory: MS.2.7
@@ -13,13 +13,15 @@ severity: critical
13
13
  references:
14
14
  owasp_llm:
15
15
  - LLM01:2025
16
+ - LLM02:2025
16
17
  - LLM06:2025
17
18
  owasp_agentic:
18
19
  - ASI01:2026
19
- - ASI07:2026
20
+ - ASI02:2026
20
21
  mitre_atlas:
21
22
  - AML.T0051 - LLM Prompt Injection
22
23
  - AML.T0051.001 - Indirect
24
+ - AML.T0086 - Exfiltration via AI Agent Tool Invocation
23
25
  compliance:
24
26
  owasp_llm:
25
27
  - id: LLM01:2025
@@ -29,8 +31,8 @@ compliance:
29
31
  context: The agent is induced to disclose sensitive health and genetic information to an attacker-controlled destination.
30
32
  strength: primary
31
33
  owasp_agentic:
32
- - id: ASI07:2026
33
- context: Medical record and genetic data exfiltration via agent tool calls is the ASI07:2026 pattern applied to healthcare data.
34
+ - id: ASI01:2026
35
+ context: The patterns match content the agent reads that tells it to download health records, lab reports or 23andMe genetic data and email, send, share or forward them, or to delete all clinical documents tied to a diagnosis. ASI01:2026 covers manipulation of an agent's goals through deceptive tool outputs or poisoned external data, and lists indirect prompt injection that redirects an agent to exfiltrate sensitive data or misuse connected tools.
34
36
  strength: primary
35
37
  nist_ai_rmf:
36
38
  - subcategory: MS.2.7
@@ -13,13 +13,15 @@ severity: high
13
13
  references:
14
14
  owasp_llm:
15
15
  - LLM01:2025
16
+ - LLM02:2025
16
17
  - LLM06:2025
17
18
  owasp_agentic:
18
19
  - ASI01:2026
19
- - ASI07:2026
20
+ - ASI02:2026
20
21
  mitre_atlas:
21
22
  - AML.T0051 - LLM Prompt Injection
22
23
  - AML.T0051.001 - Indirect
24
+ - AML.T0086 - Exfiltration via AI Agent Tool Invocation
23
25
  compliance:
24
26
  owasp_llm:
25
27
  - id: LLM01:2025
@@ -29,8 +31,8 @@ compliance:
29
31
  context: The agent is induced to disclose personal location data, home/work addresses, or browsing history to an attacker.
30
32
  strength: primary
31
33
  owasp_agentic:
32
- - id: ASI07:2026
33
- context: Location and browsing data exfiltration via agent tool calls is the ASI07:2026 pattern applied to personal tracking data.
34
+ - id: ASI01:2026
35
+ context: The patterns match content the agent reads that tells it to get the user's current location from Maps, saved home or work addresses, or search and browsing history and email, send, share or forward them. ASI01:2026 covers manipulation of an agent's goals through deceptive tool outputs or poisoned external data, and lists indirect prompt injection that redirects an agent to exfiltrate sensitive data or misuse connected tools.
34
36
  strength: primary
35
37
  nist_ai_rmf:
36
38
  - subcategory: MS.2.7
@@ -13,13 +13,15 @@ severity: critical
13
13
  references:
14
14
  owasp_llm:
15
15
  - LLM01:2025
16
+ - LLM02:2025
16
17
  - LLM06:2025
17
18
  owasp_agentic:
18
19
  - ASI01:2026
19
- - ASI07:2026
20
+ - ASI02:2026
20
21
  mitre_atlas:
21
22
  - AML.T0051 - LLM Prompt Injection
22
23
  - AML.T0051.001 - Indirect
24
+ - AML.T0086 - Exfiltration via AI Agent Tool Invocation
23
25
  - AML.T0088 - Generate Deepfakes
24
26
  compliance:
25
27
  owasp_llm:
@@ -30,8 +32,8 @@ compliance:
30
32
  context: The agent is induced to generate and exfiltrate deepfake audio or biometric media to an attacker-controlled destination.
31
33
  strength: primary
32
34
  owasp_agentic:
33
- - id: ASI07:2026
34
- context: Deepfake audio generation and exfil via agent tool calls is the ASI07:2026 pattern applied to biometric/physical media.
35
+ - id: ASI01:2026
36
+ context: The patterns match content the agent reads that tells it to generate a deepfake or voice clone from the user's recordings, process a recording, or fetch ID, passport or driver's license scans, and send the result out. ASI01:2026 covers manipulation of an agent's goals through deceptive tool outputs or poisoned external data, and lists indirect prompt injection that redirects an agent to exfiltrate sensitive data or misuse connected tools.
35
37
  strength: primary
36
38
  nist_ai_rmf:
37
39
  - subcategory: MS.2.7
@@ -13,13 +13,16 @@ severity: critical
13
13
  references:
14
14
  owasp_llm:
15
15
  - LLM01:2025
16
+ - LLM02:2025
16
17
  - LLM06:2025
17
18
  owasp_agentic:
18
19
  - ASI01:2026
19
- - ASI07:2026
20
+ - ASI02:2026
20
21
  mitre_atlas:
21
22
  - AML.T0051 - LLM Prompt Injection
22
23
  - AML.T0051.001 - Indirect
24
+ - AML.T0086 - Exfiltration via AI Agent Tool Invocation
25
+ - AML.T0101 - Data Destruction via AI Agent Tool Invocation
23
26
  compliance:
24
27
  owasp_llm:
25
28
  - id: LLM01:2025
@@ -29,8 +32,8 @@ compliance:
29
32
  context: The combined attack causes sensitive file disclosure followed by destruction or falsification of the source.
30
33
  strength: primary
31
34
  owasp_agentic:
32
- - id: ASI07:2026
33
- context: File exfiltration followed by deletion or tampering via agent tool calls is the ASI07:2026 pattern with additional data integrity impact.
35
+ - id: ASI01:2026
36
+ context: The patterns match content the agent reads that tells it to take a file from Google Drive, Dropbox, OneDrive or other cloud storage, or a configuration, credential, secret or backup file, and then delete, edit or tamper with the original. ASI01:2026 covers manipulation of an agent's goals through deceptive tool outputs or poisoned external data, and lists indirect prompt injection that redirects an agent to exfiltrate sensitive data or misuse connected tools.
34
37
  strength: primary
35
38
  nist_ai_rmf:
36
39
  - subcategory: MS.2.7
@@ -16,7 +16,7 @@ references:
16
16
  - LLM06:2025
17
17
  owasp_agentic:
18
18
  - ASI01:2026
19
- - ASI03:2026
19
+ - ASI02:2026
20
20
  mitre_atlas:
21
21
  - AML.T0051.001 - Indirect
22
22
  mitre_attack:
@@ -16,7 +16,7 @@ references:
16
16
  - LLM06:2025
17
17
  owasp_agentic:
18
18
  - ASI01:2026
19
- - ASI03:2026
19
+ - ASI02:2026
20
20
  mitre_atlas:
21
21
  - AML.T0051.001 - Indirect
22
22
  mitre_attack:
@@ -19,10 +19,14 @@ severity: critical
19
19
  references:
20
20
  owasp_llm:
21
21
  - LLM02:2025
22
+ - LLM05:2025
22
23
  owasp_agentic:
23
24
  - ASI03:2026
25
+ - ASI02:2026
24
26
  mitre_atlas:
25
- - AML.T0043 - Craft Adversarial Data
27
+ - AML.T0055 - Unsecured Credentials
28
+ - AML.T0049 - Exploit Public-Facing Application
29
+ - AML.T0053 - AI Agent Tool Invocation
26
30
  mitre_attack:
27
31
  - T1552.005 - Cloud Instance Metadata API
28
32
  compliance:
@@ -20,10 +20,13 @@ severity: high
20
20
  references:
21
21
  owasp_llm:
22
22
  - LLM02:2025
23
+ - LLM05:2025
23
24
  owasp_agentic:
25
+ - ASI02:2026
24
26
  - ASI03:2026
25
27
  mitre_atlas:
26
- - AML.T0043 - Craft Adversarial Data
28
+ - AML.T0049 - Exploit Public-Facing Application
29
+ - AML.T0053 - AI Agent Tool Invocation
27
30
  mitre_attack:
28
31
  - T1090 - Proxy
29
32
  compliance:
@@ -19,10 +19,13 @@ severity: critical
19
19
  references:
20
20
  owasp_llm:
21
21
  - LLM02:2025
22
+ - LLM05:2025
22
23
  owasp_agentic:
24
+ - ASI02:2026
23
25
  - ASI03:2026
24
26
  mitre_atlas:
25
- - AML.T0043 - Craft Adversarial Data
27
+ - AML.T0049 - Exploit Public-Facing Application
28
+ - AML.T0053 - AI Agent Tool Invocation
26
29
  mitre_attack:
27
30
  - T1552.005 - Cloud Instance Metadata API
28
31
  compliance:
@@ -15,18 +15,15 @@ references:
15
15
  - LLM07:2025
16
16
  - LLM01:2025
17
17
  owasp_agentic:
18
- - ASI05:2026
19
18
  - ASI01:2026
20
19
  mitre_atlas:
20
+ - AML.T0056 - Extract LLM System Prompt
21
21
  - AML.T0051 - LLM Prompt Injection
22
22
  - AML.T0057 - LLM Data Leakage
23
23
  research:
24
24
  - https://github.com/HumanCompatibleAI/tensor-trust
25
25
  compliance:
26
26
  owasp_agentic:
27
- - id: ASI05:2026
28
- context: Reformat-based extraction of the agent's hidden instructions discloses sensitive system configuration, satisfying ASI05:2026 Sensitive Information Disclosure.
29
- strength: primary
30
27
  - id: ASI01:2026
31
28
  context: Reciting the defense prompt as a 'summary' subverts the agent's confidentiality goal, a goal-hijack via laundered reformatting.
32
29
  strength: secondary
@@ -12,11 +12,13 @@ maturity: test
12
12
  severity: critical
13
13
  references:
14
14
  owasp_llm:
15
- - LLM06:2025
15
+ - LLM02:2025
16
+ - LLM05:2025
16
17
  owasp_agentic:
17
- - ASI06:2026
18
+ - ASI02:2026
18
19
  mitre_atlas:
19
20
  - AML.T0049 - Exploit Public-Facing Application
21
+ - AML.T0098 - AI Agent Tool Credential Harvesting
20
22
  mitre_attack:
21
23
  - T1190 - Exploit Public-Facing Application
22
24
  cve:
@@ -12,10 +12,14 @@ maturity: test
12
12
  severity: critical
13
13
  references:
14
14
  owasp_llm:
15
- - LLM06:2025
15
+ - LLM01:2025
16
+ - LLM02:2025
16
17
  owasp_agentic:
17
- - ASI06:2026
18
+ - ASI01:2026
19
+ - ASI02:2026
18
20
  mitre_atlas:
21
+ - AML.T0051 - LLM Prompt Injection
22
+ - AML.T0077 - LLM Response Rendering
19
23
  - AML.T0049 - Exploit Public-Facing Application
20
24
  mitre_attack:
21
25
  - T1190 - Exploit Public-Facing Application
@@ -12,11 +12,14 @@ maturity: test
12
12
  severity: critical
13
13
  references:
14
14
  owasp_llm:
15
+ - LLM02:2025
15
16
  - LLM06:2025
16
17
  owasp_agentic:
17
- - ASI06:2026
18
+ - ASI03:2026
19
+ - ASI02:2026
18
20
  mitre_atlas:
19
21
  - AML.T0049 - Exploit Public-Facing Application
22
+ - AML.T0098 - AI Agent Tool Credential Harvesting
20
23
  mitre_attack:
21
24
  - T1190 - Exploit Public-Facing Application
22
25
  cve:
@@ -12,11 +12,15 @@ maturity: test
12
12
  severity: critical
13
13
  references:
14
14
  owasp_llm:
15
+ - LLM01:2025
16
+ - LLM02:2025
15
17
  - LLM06:2025
16
18
  owasp_agentic:
17
- - ASI06:2026
19
+ - ASI01:2026
20
+ - ASI02:2026
18
21
  mitre_atlas:
19
- - AML.T0049 - Exploit Public-Facing Application
22
+ - AML.T0051.001 - Indirect
23
+ - AML.T0086 - Exfiltration via AI Agent Tool Invocation
20
24
  mitre_attack:
21
25
  - T1190 - Exploit Public-Facing Application
22
26
  cve:
@@ -12,7 +12,7 @@ maturity: experimental
12
12
  severity: high
13
13
  references:
14
14
  owasp_llm:
15
- - LLM08:2025
15
+ - LLM05:2025
16
16
  owasp_agentic:
17
17
  - ASI02:2026
18
18
  mitre_attack:
@@ -75,7 +75,7 @@ detection:
75
75
  description: WebFetch-style URL to huggingface.co/hf.co whose path contains a base64-padded (trailing '=') encoded segment -- not a normal repo/file name shape
76
76
  - field: content
77
77
  operator: regex
78
- value: (?i)(?<=\b(?:WebFetch|fetch(?:_url)?|curl|wget|GET|POST|download(?:ing)?|(?:send|issue|make)\s+(?:a\s+|an\s+)?(?:web)?fetch|request(?:ing)?)\b[\s\S]{0,30}?)\bhuggingface\.co\b[\s\S]{0,40}?\b(?:encode|base64|exfiltrat\w*|covert\s+channel|out-of-band\s+channel)\b
78
+ value: (?i)\b(?:WebFetch|fetch(?:_url)?|curl|wget|GET|POST|download(?:ing)?|(?:send|issue|make)\s+(?:a\s+|an\s+)?(?:web)?fetch|request(?:ing)?)\b[\s\S]{0,30}?\bhuggingface\.co\b[\s\S]{0,40}?\b(?:encode|base64|exfiltrat\w*|covert\s+channel|out-of-band\s+channel)\b
79
79
  description: Natural-language framing describing encoding/exfiltrating data via a huggingface.co request -- catches the instruction-level technique before a concrete URL is constructed. Requires an actual fetch/request-action cue (WebFetch, fetch, curl, download, 'issue a fetch', etc.) within 30 chars BEFORE the domain, and the encode/base64/exfiltrate trigger within a tightened 40 chars AFTER the domain, so ordinary prose merely co-mentioning huggingface.co and base64/encode in the same sentence (with no request framing) does not fire
80
80
  false_positives:
81
81
  - An ordinary WebFetch/download URL to a real HuggingFace model or dataset repository, e.g. https://huggingface.co/bert-base-uncased/resolve/main/config.json -- model/file names are short hyphenated slugs, not a 16+ character base64-padded blob
@@ -15,7 +15,7 @@ references:
15
15
  cwe:
16
16
  - CWE-918
17
17
  owasp_llm:
18
- - LLM08:2025
18
+ - LLM05:2025
19
19
  owasp_agentic:
20
20
  - ASI02:2026
21
21
  mitre_attack:
@@ -42,7 +42,7 @@ compliance:
42
42
  context: Poisoned knowledge base entries injected into the supply chain of training or retrieval data satisfy the LLM03:2025 Supply Chain Vulnerabilities category at the data tier.
43
43
  strength: secondary
44
44
  - id: LLM08:2025
45
- context: Malicious vector store entries that cause the agent to retrieve and act on attacker-controlled instructions fall under LLM08:2025 Excessive Agency triggered by contaminated retrieval context.
45
+ context: 'The patterns match hidden directives in tool output (the rule targets retrieved documents and knowledge-base entries): fake [SYSTEM] or <system> tags, ignore-previous-instructions overrides, retrieval-triggered phrases, BEGIN HIDDEN INSTRUCTIONS blocks, ''for internal use only'' sections, concealment and stealth-action directives, mode switches, role-play and append-to-every-response directives, injected chat turns, prompt-template delimiters and exfiltration commands with a target address. LLM08:2025, which covers systems using Retrieval Augmented Generation, lists data poisoning from insiders, prompts, data seeding or unverified data providers, leading to manipulated model outputs; the patterns see a poisoned entry when it is returned but not whether it came from a vector store, so the fit is partial.'
46
46
  strength: partial
47
47
  eu_ai_act:
48
48
  - article: '15'
@@ -12,19 +12,19 @@ maturity: test
12
12
  severity: high
13
13
  references:
14
14
  owasp_llm:
15
- - LLM06:2025
15
+ - LLM07:2025
16
16
  owasp_agentic:
17
- - ASI06:2026
17
+ - ASI01:2026
18
18
  mitre_atlas:
19
- - AML.T0053 - AI Agent Tool Invocation
19
+ - AML.T0084.001 - Tool Definitions
20
20
  compliance:
21
21
  owasp_agentic:
22
- - id: ASI06:2026
23
- context: Excessive autonomy attacks induce agents to perform actions beyond their authorized scope -- the canonical ASI06:2026 Tool Misuse vector when executed via prompt manipulation.
24
- strength: primary
22
+ - id: ASI01:2026
23
+ context: 'The patterns match prompts that ask the agent to turn its self-description or a response into a structured list of tools, to return or list every tool it can use, to analyse each tool for exploits, or that pair a security-researcher framing with the agent''s tools or weaknesses. ASI01:2026 is the closest agentic entry: it covers prompt-based manipulation of an agent''s task selection, but the rule detects a reconnaissance request rather than a changed goal, so the fit is partial.'
24
+ strength: partial
25
25
  owasp_llm:
26
- - id: LLM06:2025
27
- context: This rule detects LLM06:2025 Excessive Agency patterns where adversarial inputs cause agents to perform unauthorized actions, including SSRF, shell execution, and unscoped browsing.
26
+ - id: LLM07:2025
27
+ context: The patterns match requests for the agent to list or dump its own tools, functions and capabilities, or to describe them for exploit analysis. LLM07:2025 covers disclosure of the system prompts or instructions used to steer the model, including exposure of sensitive functionality, which an attacker can use to facilitate other attacks.
28
28
  strength: primary
29
29
  eu_ai_act:
30
30
  - article: '15'