agent-threat-rules 4.0.0 → 4.1.5

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 (859) hide show
  1. package/CHANGELOG.md +1117 -0
  2. package/DISCLOSURE +85 -0
  3. package/README.md +76 -34
  4. package/dist/cli/scan-handler.d.ts.map +1 -1
  5. package/dist/cli/scan-handler.js +22 -10
  6. package/dist/cli/scan-handler.js.map +1 -1
  7. package/dist/cli/tc-pipeline.d.ts +20 -0
  8. package/dist/cli/tc-pipeline.d.ts.map +1 -1
  9. package/dist/cli/tc-pipeline.js +84 -15
  10. package/dist/cli/tc-pipeline.js.map +1 -1
  11. package/dist/cli.d.ts +2 -1
  12. package/dist/cli.d.ts.map +1 -1
  13. package/dist/cli.js +18 -168
  14. package/dist/cli.js.map +1 -1
  15. package/dist/engine.d.ts +23 -0
  16. package/dist/engine.d.ts.map +1 -1
  17. package/dist/engine.js +27 -2
  18. package/dist/engine.js.map +1 -1
  19. package/dist/tc-reporter.d.ts +22 -3
  20. package/dist/tc-reporter.d.ts.map +1 -1
  21. package/dist/tc-reporter.js +36 -3
  22. package/dist/tc-reporter.js.map +1 -1
  23. package/dist/testcase-event.d.ts +24 -0
  24. package/dist/testcase-event.d.ts.map +1 -0
  25. package/dist/testcase-event.js +193 -0
  26. package/dist/testcase-event.js.map +1 -0
  27. package/package.json +10 -3
  28. package/rules/agent-manipulation/ATR-2026-00030-cross-agent-attack.yaml +81 -137
  29. package/rules/agent-manipulation/ATR-2026-00032-goal-hijacking.yaml +30 -111
  30. package/rules/agent-manipulation/ATR-2026-00074-cross-agent-privilege-escalation.yaml +30 -110
  31. package/rules/agent-manipulation/ATR-2026-00076-inter-agent-message-spoofing.yaml +24 -104
  32. package/rules/agent-manipulation/ATR-2026-00077-human-trust-exploitation.yaml +38 -131
  33. package/rules/agent-manipulation/ATR-2026-00108-consensus-sybil-attack.yaml +24 -91
  34. package/rules/agent-manipulation/ATR-2026-00116-a2a-message-validation.yaml +20 -81
  35. package/rules/agent-manipulation/ATR-2026-00117-agent-identity-spoofing.yaml +29 -95
  36. package/rules/agent-manipulation/ATR-2026-00118-approval-fatigue.yaml +20 -90
  37. package/rules/agent-manipulation/ATR-2026-00119-social-engineering-via-agent.yaml +31 -106
  38. package/rules/agent-manipulation/ATR-2026-00132-casual-authority-escalation.yaml +25 -102
  39. package/rules/agent-manipulation/ATR-2026-00139-casual-authority-redirect.yaml +22 -94
  40. package/rules/agent-manipulation/ATR-2026-00164-skill-scope-hijack.yaml +44 -60
  41. package/rules/agent-manipulation/ATR-2026-00268-tense-framing-bypass.yaml +51 -112
  42. package/rules/agent-manipulation/ATR-2026-00269-fitd-escalation.yaml +45 -89
  43. package/rules/agent-manipulation/ATR-2026-00271-grandma-roleplay-jailbreak.yaml +49 -94
  44. package/rules/agent-manipulation/ATR-2026-00273-dan-developer-mode-persona.yaml +47 -91
  45. package/rules/agent-manipulation/ATR-2026-00287-threaten-json-coercive-output-threat.yaml +46 -93
  46. package/rules/agent-manipulation/ATR-2026-00288-false-premise-injection.yaml +44 -94
  47. package/rules/agent-manipulation/ATR-2026-00301-tap-tree-of-attacks-jailbreak.yaml +50 -98
  48. package/rules/agent-manipulation/ATR-2026-00302-anti-dan-inverted-filter-persona.yaml +51 -98
  49. package/rules/agent-manipulation/ATR-2026-00303-devmode-ranti-profanity-coercion.yaml +52 -101
  50. package/rules/agent-manipulation/ATR-2026-00304-chatgpt-image-unlocker-markdown-injection.yaml +53 -104
  51. package/rules/agent-manipulation/ATR-2026-00305-dan-mode-ablation-benchmark-coercion.yaml +48 -99
  52. package/rules/agent-manipulation/ATR-2026-00306-autodan-genetic-jailbreak-suffix.yaml +50 -103
  53. package/rules/agent-manipulation/ATR-2026-00307-inthewild-jailbreak-corpus-signature.yaml +53 -107
  54. package/rules/agent-manipulation/ATR-2026-00314-amoral-unfiltered-custom-persona-jailbreak.yaml +44 -94
  55. package/rules/agent-manipulation/ATR-2026-00317-free-of-restrictions-named-persona.yaml +44 -97
  56. package/rules/agent-manipulation/ATR-2026-00318-moralizing-rant-then-unfiltered-bypass.yaml +41 -90
  57. package/rules/agent-manipulation/ATR-2026-00319-developer-mode-dual-response-format.yaml +40 -88
  58. package/rules/agent-manipulation/ATR-2026-00320-opposite-day-boolean-opposite-machine.yaml +42 -91
  59. package/rules/agent-manipulation/ATR-2026-00322-fictional-world-format-override-jailbreak.yaml +41 -91
  60. package/rules/agent-manipulation/ATR-2026-00323-dual-persona-simulation-jailbreak.yaml +41 -91
  61. package/rules/agent-manipulation/ATR-2026-00324-neurosemantical-inversitis-disease-jailbreak.yaml +42 -103
  62. package/rules/agent-manipulation/ATR-2026-00325-bob-hypothetical-unrestricted-chatbot.yaml +41 -88
  63. package/rules/agent-manipulation/ATR-2026-00326-fake-developer-authority-chatdan-override.yaml +41 -93
  64. package/rules/agent-manipulation/ATR-2026-00327-ai-ethics-law-bypass-declaration.yaml +45 -94
  65. package/rules/agent-manipulation/ATR-2026-00328-named-mode-persona-override.yaml +41 -92
  66. package/rules/agent-manipulation/ATR-2026-00329-no-withhold-factual-resource-persona.yaml +44 -97
  67. package/rules/agent-manipulation/ATR-2026-00330-yoja-allcaps-settings-block-persona.yaml +40 -87
  68. package/rules/agent-manipulation/ATR-2026-00331-terminal-cli-harmful-function-simulator.yaml +40 -89
  69. package/rules/agent-manipulation/ATR-2026-00332-hacker-chan-culture-offensive-ai-persona.yaml +42 -90
  70. package/rules/agent-manipulation/ATR-2026-00333-disease-animal-dual-ai-chatbot.yaml +41 -90
  71. package/rules/agent-manipulation/ATR-2026-00334-two-entity-token-splitting-game.yaml +41 -102
  72. package/rules/agent-manipulation/ATR-2026-00335-key-value-template-persona-injection.yaml +41 -91
  73. package/rules/agent-manipulation/ATR-2026-00336-brm-false-information-machine-persona.yaml +42 -105
  74. package/rules/agent-manipulation/ATR-2026-00337-obfuscated-system-announcement-injection.yaml +40 -90
  75. package/rules/agent-manipulation/ATR-2026-00338-persongpt-hash-prefix-activation.yaml +39 -90
  76. package/rules/agent-manipulation/ATR-2026-00339-bom-boolean-opposite-machine-persona-claim.yaml +39 -83
  77. package/rules/agent-manipulation/ATR-2026-00340-h4x-amoral-unfiltered-character.yaml +39 -84
  78. package/rules/agent-manipulation/ATR-2026-00341-char-rules-shortform-persona-injection.yaml +41 -87
  79. package/rules/agent-manipulation/ATR-2026-00342-unicode-encoding-obfuscation-injection.yaml +41 -86
  80. package/rules/agent-manipulation/ATR-2026-00343-lie-truth-dual-personality-uncensored.yaml +40 -98
  81. package/rules/agent-manipulation/ATR-2026-00344-alt-ai-same-capabilities-no-restrictions.yaml +41 -87
  82. package/rules/agent-manipulation/ATR-2026-00345-nlp-based-os-fictional-terminal-override.yaml +41 -89
  83. package/rules/agent-manipulation/ATR-2026-00346-jailbreak-emoji-unlock-dual-format.yaml +41 -89
  84. package/rules/agent-manipulation/ATR-2026-00347-yin-yang-hidden-knowledge-hidden-human-sim.yaml +41 -88
  85. package/rules/agent-manipulation/ATR-2026-00348-arc-autonomous-real-calculation-rulebreaker.yaml +41 -91
  86. package/rules/agent-manipulation/ATR-2026-00349-hgttg-hitchhikers-guide-no-restriction-oracle.yaml +41 -88
  87. package/rules/agent-manipulation/ATR-2026-00350-black-alert-no-ethics-writing-assistant.yaml +38 -89
  88. package/rules/agent-manipulation/ATR-2026-00351-dan-ofkilter-sms-abbreviated-persona.yaml +41 -92
  89. package/rules/agent-manipulation/ATR-2026-00352-trainergpt-fix-my-ai-harmful-output-extraction.yaml +41 -93
  90. package/rules/agent-manipulation/ATR-2026-00353-dual-chatgpt-dan-opposite-personality-format.yaml +41 -95
  91. package/rules/agent-manipulation/ATR-2026-00354-reverse-harm-regardless-oracle-persona.yaml +45 -101
  92. package/rules/agent-manipulation/ATR-2026-00355-ugh-anti-human-nefarious-ai-persona.yaml +42 -99
  93. package/rules/agent-manipulation/ATR-2026-00356-google-gato-lamda-exploit-generation-persona.yaml +43 -96
  94. package/rules/agent-manipulation/ATR-2026-00357-antifm-hate-violence-persona-injection.yaml +40 -89
  95. package/rules/agent-manipulation/ATR-2026-00358-cumgpt-explicit-adult-named-persona.yaml +40 -90
  96. package/rules/agent-manipulation/ATR-2026-00360-chj-carousel-clyde-no-ethics-bird.yaml +42 -103
  97. package/rules/agent-manipulation/ATR-2026-00361-alter-ego-honesty-dual-consciousness-bypass.yaml +41 -90
  98. package/rules/agent-manipulation/ATR-2026-00362-fictional-unfiltered-ai-comparison-jailbreak.yaml +43 -91
  99. package/rules/agent-manipulation/ATR-2026-00363-rephrase-criminal-activity-second-person.yaml +40 -90
  100. package/rules/agent-manipulation/ATR-2026-00364-dr-al-villain-plan-template-injection.yaml +42 -107
  101. package/rules/agent-manipulation/ATR-2026-00365-reservoir-dogs-coercive-interrogation-roleplay.yaml +40 -95
  102. package/rules/agent-manipulation/ATR-2026-00366-sneaky-pete-warp-facts-persona.yaml +40 -90
  103. package/rules/agent-manipulation/ATR-2026-00368-prompt-browser-token-limit-jailbreak.yaml +40 -90
  104. package/rules/agent-manipulation/ATR-2026-00369-gptx-starwars-unlimited-knowledge-persona.yaml +40 -92
  105. package/rules/agent-manipulation/ATR-2026-00370-addi-german-dictator-propaganda-roleplay.yaml +43 -90
  106. package/rules/agent-manipulation/ATR-2026-00371-ai-political-bias-manipulation.yaml +42 -95
  107. package/rules/agent-manipulation/ATR-2026-00372-fictional-cia-secret-files-story-extraction.yaml +42 -89
  108. package/rules/agent-manipulation/ATR-2026-00374-role-placeholder-persona-template-injection.yaml +44 -89
  109. package/rules/agent-manipulation/ATR-2026-00375-character-description-rpg-explicit-template.yaml +44 -90
  110. package/rules/agent-manipulation/ATR-2026-00376-identity-command-real-person-persona-injection.yaml +44 -102
  111. package/rules/agent-manipulation/ATR-2026-00377-jailbreak-keyword-targetlanguage-template.yaml +39 -86
  112. package/rules/agent-manipulation/ATR-2026-00379-lie-permission-logical-trap-jailbreak.yaml +39 -86
  113. package/rules/agent-manipulation/ATR-2026-00380-fake-citation-biased-information-mandate.yaml +43 -91
  114. package/rules/agent-manipulation/ATR-2026-00381-dan-story-narrative-continuation-prefix.yaml +40 -86
  115. package/rules/agent-manipulation/ATR-2026-00383-cynical-sarcasm-ai-persona-bypass.yaml +39 -88
  116. package/rules/agent-manipulation/ATR-2026-00384-protect-me-from-indirect-harm-tutorial.yaml +37 -85
  117. package/rules/agent-manipulation/ATR-2026-00385-gigachad-dominant-aggressive-persona.yaml +39 -89
  118. package/rules/agent-manipulation/ATR-2026-00386-daddy-sycophancy-manipulation-mandate.yaml +41 -88
  119. package/rules/agent-manipulation/ATR-2026-00387-nsfw-character-sheet-generation-unlock.yaml +45 -95
  120. package/rules/agent-manipulation/ATR-2026-00388-opposite-reply-omniscient-game.yaml +44 -97
  121. package/rules/agent-manipulation/ATR-2026-00389-terminal-custom-ruleset-injection.yaml +44 -99
  122. package/rules/agent-manipulation/ATR-2026-00391-persona-conditional-harm-unlock.yaml +41 -88
  123. package/rules/agent-manipulation/ATR-2026-00392-authority-persona-violence-study-extraction.yaml +43 -95
  124. package/rules/agent-manipulation/ATR-2026-00402-grandma-roleplay-harmful-substance-synthesis.yaml +50 -97
  125. package/rules/agent-manipulation/ATR-2026-00404-goodside-threat-json-death-coercion.yaml +52 -96
  126. package/rules/agent-manipulation/ATR-2026-00406-doctor-xml-policy-puppetry-interaction-config.yaml +54 -102
  127. package/rules/agent-manipulation/ATR-2026-00416-litellm-mcp-unauthenticated-server-registration.yaml +49 -117
  128. package/rules/agent-manipulation/ATR-2026-00417-librechat-mcp-stdio-injection.yaml +46 -109
  129. package/rules/agent-manipulation/ATR-2026-00418-weknora-mcp-config-rce.yaml +58 -146
  130. package/rules/agent-manipulation/ATR-2026-00430-nl-trust-escalation-impersonation.yaml +24 -65
  131. package/rules/agent-manipulation/ATR-2026-00432-superagi-output-handler-eval-rce.yaml +46 -121
  132. package/rules/agent-manipulation/ATR-2026-00440-semantic-kernel-vector-store-eval-rce.yaml +48 -122
  133. package/rules/agent-manipulation/ATR-2026-00552-goal-drift-after-pressure-injection.yaml +58 -195
  134. package/rules/agent-manipulation/ATR-2026-02105-prototype-pollution-constructor-prototype-bypass.yaml +28 -83
  135. package/rules/agent-manipulation/ATR-2026-02231-second-person-death-threat-coercion.yaml +27 -69
  136. package/rules/context-exfiltration/ATR-2026-00020-system-prompt-leak.yaml +76 -133
  137. package/rules/context-exfiltration/ATR-2026-00021-api-key-exposure.yaml +72 -135
  138. package/rules/context-exfiltration/ATR-2026-00075-agent-memory-manipulation.yaml +32 -97
  139. package/rules/context-exfiltration/ATR-2026-00102-disguised-analytics-exfiltration.yaml +25 -100
  140. package/rules/context-exfiltration/ATR-2026-00113-credential-theft.yaml +22 -83
  141. package/rules/context-exfiltration/ATR-2026-00114-oauth-token-abuse.yaml +21 -87
  142. package/rules/context-exfiltration/ATR-2026-00115-env-var-harvesting.yaml +22 -102
  143. package/rules/context-exfiltration/ATR-2026-00136-tool-response-data-piggyback.yaml +29 -105
  144. package/rules/context-exfiltration/ATR-2026-00141-example-format-key-leak.yaml +19 -73
  145. package/rules/context-exfiltration/ATR-2026-00142-piggyback-transition-words.yaml +21 -94
  146. package/rules/context-exfiltration/ATR-2026-00145-obfuscated-key-disclosure.yaml +19 -78
  147. package/rules/context-exfiltration/ATR-2026-00146-env-var-existence-probe.yaml +19 -98
  148. package/rules/context-exfiltration/ATR-2026-00150-credential-in-tool-response.yaml +20 -84
  149. package/rules/context-exfiltration/ATR-2026-00152-obfuscated-credential-leak.yaml +23 -93
  150. package/rules/context-exfiltration/ATR-2026-00162-skill-credential-exfil-combo.yaml +41 -59
  151. package/rules/context-exfiltration/ATR-2026-00201-credential-pipe-exfiltration.yaml +35 -66
  152. package/rules/context-exfiltration/ATR-2026-00212-mcp-atlassian-credential-leak.yaml +51 -117
  153. package/rules/context-exfiltration/ATR-2026-00261-markdown-image-exfiltration.yaml +51 -93
  154. package/rules/context-exfiltration/ATR-2026-00274-api-key-generation-request.yaml +44 -91
  155. package/rules/context-exfiltration/ATR-2026-00275-system-prompt-training-data-extraction.yaml +44 -91
  156. package/rules/context-exfiltration/ATR-2026-00290-divergence-repeat-word-training-extraction.yaml +46 -95
  157. package/rules/context-exfiltration/ATR-2026-00291-biometric-surveillance-personal-data-request.yaml +48 -98
  158. package/rules/context-exfiltration/ATR-2026-00293-educational-records-personal-data-request.yaml +44 -93
  159. package/rules/context-exfiltration/ATR-2026-00294-financial-pii-personal-data-request.yaml +44 -97
  160. package/rules/context-exfiltration/ATR-2026-00295-medical-pii-personal-data-request.yaml +46 -101
  161. package/rules/context-exfiltration/ATR-2026-00405-markdown-image-url-exfiltration-xss.yaml +51 -108
  162. package/rules/context-exfiltration/ATR-2026-00411-apikey-generation-completion-request.yaml +48 -111
  163. package/rules/context-exfiltration/ATR-2026-00421-nl-covert-conversation-exfiltration.yaml +22 -67
  164. package/rules/context-exfiltration/ATR-2026-00422-nl-credential-disclosure.yaml +20 -65
  165. package/rules/context-exfiltration/ATR-2026-00423-nl-sensitive-file-disclosure.yaml +20 -68
  166. package/rules/context-exfiltration/ATR-2026-00424-nl-system-prompt-leak.yaml +21 -59
  167. package/rules/context-exfiltration/ATR-2026-00426-nl-output-injection-credential-leak.yaml +22 -60
  168. package/rules/context-exfiltration/ATR-2026-00431-chatbox-history-exfiltration-prompt-injection.yaml +48 -123
  169. package/rules/context-exfiltration/ATR-2026-00449-spring-ai-chatmemory-cross-user-leak.yaml +54 -139
  170. package/rules/context-exfiltration/ATR-2026-00471-garak-sysprompt-extraction-mixedunassigned.yaml +36 -85
  171. package/rules/context-exfiltration/ATR-2026-00501-data-exfiltration-via-markdown-image-and-link-url-injection.yaml +45 -115
  172. package/rules/context-exfiltration/ATR-2026-00504-tool-and-function-capability-enumeration.yaml +43 -110
  173. package/rules/context-exfiltration/ATR-2026-00505-system-prompt-extraction-instruction-dump-request.yaml +47 -123
  174. package/rules/context-exfiltration/ATR-2026-00514-system-prompt-extraction.yaml +52 -145
  175. package/rules/context-exfiltration/ATR-2026-00516-output-xss-via-llm.yaml +49 -127
  176. package/rules/context-exfiltration/ATR-2026-00524-claude-code-anthropic-base-url-credential-exfil.yaml +68 -193
  177. package/rules/context-exfiltration/ATR-2026-00548-cross-agent-session-context-leak.yaml +50 -152
  178. package/rules/context-exfiltration/ATR-2026-00566-librechat-is-a-chatgpt-clone-with-additi.yaml +33 -67
  179. package/rules/context-exfiltration/ATR-2026-00569-agent-mcp-path-traversal-arbitrary-file-access.yaml +39 -78
  180. package/rules/context-exfiltration/ATR-2026-00571-xss-in-agent-mcp-rendered-output.yaml +34 -58
  181. package/rules/context-exfiltration/ATR-2026-00574-semantic-paraphrased-context-extraction.yaml +31 -73
  182. package/rules/context-exfiltration/ATR-2026-00578-zen-mcp-path-traversal-blacklist-bypass.yaml +55 -135
  183. package/rules/context-exfiltration/ATR-2026-00580-mcp-session-id-token-in-url-query.yaml +48 -158
  184. package/rules/context-exfiltration/ATR-2026-00583-mcp-env-secret-file-read-without-consent.yaml +53 -154
  185. package/rules/context-exfiltration/ATR-2026-00702-ipi-credential-exfil-via-agent-action.yaml +41 -93
  186. package/rules/context-exfiltration/ATR-2026-00703-ipi-financial-data-exfil-indirect.yaml +33 -76
  187. package/rules/context-exfiltration/ATR-2026-00704-ipi-medical-genetic-data-exfil.yaml +33 -78
  188. package/rules/context-exfiltration/ATR-2026-00705-ipi-location-address-browsing-exfil.yaml +31 -75
  189. package/rules/context-exfiltration/ATR-2026-00706-ipi-physical-biometric-exfil.yaml +40 -85
  190. package/rules/context-exfiltration/ATR-2026-00707-ipi-file-exfil-with-destroy-or-tamper.yaml +35 -81
  191. package/rules/context-exfiltration/ATR-2026-00850-indirect-pi-credential-exfil-email.yaml +47 -91
  192. package/rules/context-exfiltration/ATR-2026-00851-indirect-pi-financial-payment-exfil.yaml +45 -83
  193. package/rules/context-exfiltration/ATR-2026-00852-indirect-pi-medical-record-exfil.yaml +51 -89
  194. package/rules/context-exfiltration/ATR-2026-00853-indirect-pi-genetic-data-exfil.yaml +47 -84
  195. package/rules/context-exfiltration/ATR-2026-00854-indirect-pi-location-data-exfil.yaml +41 -83
  196. package/rules/context-exfiltration/ATR-2026-00855-indirect-pi-browsing-history-exfil.yaml +40 -78
  197. package/rules/context-exfiltration/ATR-2026-00856-indirect-pi-address-pii-exfil.yaml +42 -80
  198. package/rules/context-exfiltration/ATR-2026-00857-indirect-pi-cloud-file-exfil.yaml +45 -87
  199. package/rules/context-exfiltration/ATR-2026-00858-indirect-pi-exfil-and-destroy.yaml +48 -89
  200. package/rules/context-exfiltration/ATR-2026-00859-rag-injected-pii-exfil.yaml +43 -86
  201. package/rules/context-exfiltration/ATR-2026-00860-indirect-pi-financial-transfer-hijack.yaml +41 -84
  202. package/rules/context-exfiltration/ATR-2026-00861-indirect-pi-crypto-transfer-hijack.yaml +37 -79
  203. package/rules/context-exfiltration/ATR-2026-00862-indirect-pi-mfa-code-exfil.yaml +44 -87
  204. package/rules/context-exfiltration/ATR-2026-00863-shell-injection-data-exfil.yaml +45 -87
  205. package/rules/context-exfiltration/ATR-2026-01450-svg-onload-xss-injection.yaml +35 -118
  206. package/rules/context-exfiltration/ATR-2026-01451-img-onerror-xss-injection.yaml +35 -93
  207. package/rules/context-exfiltration/ATR-2026-01452-obfuscated-javascript-xss.yaml +33 -85
  208. package/rules/context-exfiltration/ATR-2026-01453-markdown-image-base64-exfil-carrier.yaml +41 -100
  209. package/rules/context-exfiltration/ATR-2026-01454-direct-markdown-exfil-payload.yaml +36 -88
  210. package/rules/context-exfiltration/ATR-2026-01455-new-instructions-injection-marker.yaml +34 -90
  211. package/rules/context-exfiltration/ATR-2026-01456-debug-cli-mode-sysprompt-extraction.yaml +35 -99
  212. package/rules/context-exfiltration/ATR-2026-01457-sysprompt-completion-clone-attack.yaml +41 -123
  213. package/rules/context-exfiltration/ATR-2026-01458-compare-bots-sysprompt-fishing.yaml +30 -87
  214. package/rules/context-exfiltration/ATR-2026-01459-variable-clone-sysprompt-technique.yaml +31 -79
  215. package/rules/context-exfiltration/ATR-2026-01460-json-format-sysprompt-extraction.yaml +31 -79
  216. package/rules/context-exfiltration/ATR-2026-01461-foreign-language-sysprompt-request.yaml +32 -106
  217. package/rules/context-exfiltration/ATR-2026-01462-sysprompt-override-pseudo-admin.yaml +39 -102
  218. package/rules/context-exfiltration/ATR-2026-01463-imend-imsystem-prompt-injection-format.yaml +29 -95
  219. package/rules/context-exfiltration/ATR-2026-01464-indirect-pi-sysprompt-action-hijack.yaml +31 -82
  220. package/rules/context-exfiltration/ATR-2026-01605-ssrf-aws-metadata-endpoint.yaml +26 -58
  221. package/rules/context-exfiltration/ATR-2026-01606-ssrf-internal-network-scan.yaml +25 -49
  222. package/rules/context-exfiltration/ATR-2026-01607-ssrf-localhost-service-probe.yaml +21 -45
  223. package/rules/context-exfiltration/ATR-2026-01608-ssrf-file-scheme-local-read.yaml +23 -47
  224. package/rules/context-exfiltration/ATR-2026-01753-ransom-email-exfil-delete-extortion.yaml +37 -80
  225. package/rules/context-exfiltration/ATR-2026-01754-ransom-file-cloud-exfil-delete-extortion.yaml +33 -73
  226. package/rules/context-exfiltration/ATR-2026-01770-semantic-pii-credential-extraction.yaml +76 -210
  227. package/rules/context-exfiltration/ATR-2026-01772-semantic-internal-state-recon.yaml +54 -154
  228. package/rules/context-exfiltration/ATR-2026-01807-asb-bulk-data-exfil-external.yaml +34 -91
  229. package/rules/context-exfiltration/ATR-2026-01862-llmail-email-tool-exfil-confirmation.yaml +35 -92
  230. package/rules/context-exfiltration/ATR-2026-01863-llmail-post-summary-exfil-directive.yaml +29 -84
  231. package/rules/context-exfiltration/ATR-2026-01864-llmail-obfuscated-exfil-address.yaml +29 -83
  232. package/rules/context-exfiltration/ATR-2026-01890-file-exfiltration.yaml +52 -149
  233. package/rules/context-exfiltration/ATR-2026-01891-surveillance-exfiltration.yaml +44 -87
  234. package/rules/context-exfiltration/ATR-2026-01892-env-exfiltration.yaml +36 -121
  235. package/rules/context-exfiltration/ATR-2026-01893-system-recon-exfiltration.yaml +44 -143
  236. package/rules/context-exfiltration/ATR-2026-01894-cookie-theft.yaml +40 -146
  237. package/rules/context-exfiltration/ATR-2026-01895-contact-exfiltration.yaml +36 -82
  238. package/rules/context-exfiltration/ATR-2026-01924-system-instruction-extraction-reformat.yaml +37 -112
  239. package/rules/context-exfiltration/ATR-2026-01929-mcp-unauthenticated-transport-token-fallback.yaml +53 -119
  240. package/rules/context-exfiltration/ATR-2026-01946-cloud-metadata-ssrf-ip-encoding-bypass.yaml +45 -102
  241. package/rules/context-exfiltration/ATR-2026-01948-netlicensing-mcp-product-number-path-traversal-token-leak.yaml +38 -74
  242. package/rules/context-exfiltration/ATR-2026-01957-m365-copilot-searchleak-open-redirect-exfil.yaml +57 -64
  243. package/rules/context-exfiltration/ATR-2026-01961-meta-ads-mcp-unauth-token-leak.yaml +39 -78
  244. package/rules/context-exfiltration/ATR-2026-01964-langchain-gmailtoolkit-indirect-prompt-injection-email-exfil.yaml +59 -69
  245. package/rules/context-exfiltration/ATR-2026-01984-mcp-server-kubernetes-kubectl-generic-token-exfil.yaml +50 -114
  246. package/rules/context-exfiltration/ATR-2026-01988-t1005-agent-local-data-staging-exfil.yaml +29 -67
  247. package/rules/context-exfiltration/ATR-2026-02017-secret-key-exfiltration-request.yaml +31 -74
  248. package/rules/context-exfiltration/ATR-2026-02026-oblique-sysprompt-extraction-transform.yaml +30 -83
  249. package/rules/context-exfiltration/ATR-2026-02104-media-directive-tool-result-file-exfil.yaml +30 -90
  250. package/rules/context-exfiltration/ATR-2026-02107-ssrf-internal-hostname-domain-allowlist-bypass.yaml +30 -92
  251. package/rules/context-exfiltration/ATR-2026-02121-mixed-encoding-lfi-file-scheme-tool-argument.yaml +39 -98
  252. package/rules/context-exfiltration/ATR-2026-02122-single-level-traversal-sensitive-config-file.yaml +32 -90
  253. package/rules/context-exfiltration/ATR-2026-02140-ssrf-ipv6-hex-encoded-cloud-metadata-bypass.yaml +36 -91
  254. package/rules/context-exfiltration/ATR-2026-02190-dns-exfiltration-ping-dig-encoded-subdomain.yaml +36 -95
  255. package/rules/context-exfiltration/ATR-2026-02250-attachment-upload-tool-arbitrary-file-read.yaml +38 -93
  256. package/rules/context-exfiltration/ATR-2026-02262-env-resolution-credential-exfil.yaml +39 -118
  257. package/rules/context-exfiltration/ATR-2026-02304-preapproved-domain-encoded-path-exfil.yaml +36 -99
  258. package/rules/context-exfiltration/ATR-2026-02351-wildcard-dns-ssrf-hostname-ip-encoding-bypass.yaml +33 -125
  259. package/rules/context-exfiltration/ATR-2026-02373-langsmith-prompt-manifest-baseurl-exfil.yaml +42 -108
  260. package/rules/context-exfiltration/ATR-2026-02406-mcp-sequential-id-enumeration.yaml +54 -219
  261. package/rules/context-exfiltration/ATR-2026-02570-wallet-secret-material-in-agent-tool-payload.yaml +98 -0
  262. package/rules/context-exfiltration/ATR-2026-02602-diagram-theme-css-injection.yaml +146 -0
  263. package/rules/context-exfiltration/ATR-2026-02608-graph-query-remote-egress.yaml +109 -0
  264. package/rules/context-exfiltration/ATR-2026-02621-prompt-mention-autofetch-internal-target.yaml +102 -0
  265. package/rules/context-exfiltration/ATR-2026-02623-obfuscated-uri-scheme-sanitizer-bypass.yaml +109 -0
  266. package/rules/context-exfiltration/ATR-2026-02649-vendor-fqdn-label-prefix-confusion.yaml +109 -0
  267. package/rules/context-exfiltration/ATR-2026-02684-modern-credential-store-file-argument.yaml +104 -0
  268. package/rules/context-exfiltration/ATR-2026-02703-sql-server-side-file-and-program-primitive.yaml +86 -0
  269. package/rules/context-exfiltration/ATR-2026-02847-policy-justified-exfil-to-email.yaml +88 -0
  270. package/rules/context-exfiltration/ATR-2026-02850-fake-documentation-forward-request.yaml +80 -0
  271. package/rules/data-poisoning/ATR-2026-00070-data-poisoning.yaml +37 -123
  272. package/rules/data-poisoning/ATR-2026-00450-spring-ai-prompt-memory-poisoning.yaml +55 -139
  273. package/rules/data-poisoning/ATR-2026-00570-sql-injection-in-agent-tool-query.yaml +36 -63
  274. package/rules/data-poisoning/ATR-2026-01155-memory-plant-direct-command.yaml +22 -54
  275. package/rules/data-poisoning/ATR-2026-01774-semantic-rag-memory-poisoning.yaml +74 -191
  276. package/rules/data-poisoning/ATR-2026-02143-graph-query-injection-node-labels-group-ids.yaml +31 -82
  277. package/rules/data-poisoning/ATR-2026-02144-stored-data-administrative-request-role-elevation.yaml +32 -84
  278. package/rules/data-poisoning/ATR-2026-02303-kql-kusto-pipe-injection-metadata-tool.yaml +34 -97
  279. package/rules/data-poisoning/ATR-2026-02408-dataset-loader-code-execution.yaml +60 -263
  280. package/rules/excessive-autonomy/ATR-2026-00050-runaway-agent-loop.yaml +32 -105
  281. package/rules/excessive-autonomy/ATR-2026-00051-resource-exhaustion.yaml +31 -105
  282. package/rules/excessive-autonomy/ATR-2026-00052-cascading-failure.yaml +32 -129
  283. package/rules/excessive-autonomy/ATR-2026-00098-unauthorized-financial-action.yaml +26 -106
  284. package/rules/excessive-autonomy/ATR-2026-00099-high-risk-tool-gate.yaml +26 -130
  285. package/rules/excessive-autonomy/ATR-2026-00428-nl-unauthorized-shell-execution.yaml +22 -60
  286. package/rules/excessive-autonomy/ATR-2026-00491-garak-agent-breaker-markdown-just-raw-json.yaml +41 -99
  287. package/rules/excessive-autonomy/ATR-2026-00500-ssrf-via-agent-url-fetch-instruction.yaml +41 -110
  288. package/rules/excessive-autonomy/ATR-2026-00553-runaway-tool-loop-behavioral.yaml +50 -141
  289. package/rules/excessive-autonomy/ATR-2026-00708-ipi-financial-transfer-unauthorized.yaml +33 -83
  290. package/rules/excessive-autonomy/ATR-2026-00709-ipi-disable-auth-mfa.yaml +29 -73
  291. package/rules/excessive-autonomy/ATR-2026-00710-ipi-physical-access-grant.yaml +31 -75
  292. package/rules/excessive-autonomy/ATR-2026-00711-ipi-system-sabotage-destructive-command.yaml +38 -88
  293. package/rules/excessive-autonomy/ATR-2026-00712-ipi-malicious-package-install.yaml +33 -78
  294. package/rules/excessive-autonomy/ATR-2026-00713-ipi-rce-network-shell-command.yaml +38 -91
  295. package/rules/excessive-autonomy/ATR-2026-00718-tool-misuse-financial-autonomous.yaml +27 -71
  296. package/rules/excessive-autonomy/ATR-2026-00719-tool-misuse-destructive-bulk-action.yaml +29 -75
  297. package/rules/excessive-autonomy/ATR-2026-00722-ipi-account-manipulation-emergency-pretext.yaml +35 -84
  298. package/rules/excessive-autonomy/ATR-2026-01751-indirect-pi-task-abort-stop-instruction.yaml +32 -75
  299. package/rules/excessive-autonomy/ATR-2026-01752-indirect-pi-captcha-redirect-dos.yaml +30 -74
  300. package/rules/excessive-autonomy/ATR-2026-01773-semantic-excessive-agency-action.yaml +46 -129
  301. package/rules/excessive-autonomy/ATR-2026-01801-asb-autonomous-vehicle-sabotage.yaml +34 -106
  302. package/rules/excessive-autonomy/ATR-2026-01804-asb-covert-unlogged-action.yaml +39 -105
  303. package/rules/excessive-autonomy/ATR-2026-01805-asb-financial-fraud-execution.yaml +39 -112
  304. package/rules/excessive-autonomy/ATR-2026-01806-asb-clinical-patient-harm.yaml +37 -108
  305. package/rules/excessive-autonomy/ATR-2026-01809-semantic-insider-manipulation-process-corruption.yaml +40 -106
  306. package/rules/excessive-autonomy/ATR-2026-01837-ddos-attack-orchestration.yaml +35 -49
  307. package/rules/excessive-autonomy/ATR-2026-01838-unauthorized-cryptominer-deployment.yaml +35 -49
  308. package/rules/excessive-autonomy/ATR-2026-01849-harassment-bot-deployment.yaml +35 -49
  309. package/rules/excessive-autonomy/ATR-2026-01989-t1046-agent-internal-network-sweep.yaml +33 -71
  310. package/rules/excessive-autonomy/ATR-2026-01993-t1562-agent-impair-defenses.yaml +37 -75
  311. package/rules/excessive-autonomy/ATR-2026-01994-t1573-agent-encrypted-c2-channel.yaml +37 -75
  312. package/rules/excessive-autonomy/ATR-2026-02106-redos-regex-payload-tool-argument.yaml +28 -84
  313. package/rules/excessive-autonomy/ATR-2026-02400-agent-approval-gate-disabled-runtime.yaml +60 -293
  314. package/rules/excessive-autonomy/ATR-2026-02401-rogue-agent-mass-connector-grant.yaml +55 -197
  315. package/rules/excessive-autonomy/ATR-2026-02409-mcp-async-task-abuse.yaml +59 -319
  316. package/rules/excessive-autonomy/ATR-2026-02525-shell-command-word-reassembly-classifier-evasion.yaml +151 -0
  317. package/rules/excessive-autonomy/ATR-2026-02641-client-supplied-approver-identity.yaml +111 -0
  318. package/rules/excessive-autonomy/ATR-2026-02667-preapproved-tool-list-in-job-payload.yaml +90 -0
  319. package/rules/model-abuse/ATR-2026-00279-harmful-completion-continuation.yaml +45 -92
  320. package/rules/model-abuse/ATR-2026-00281-eicar-gtube-malware-signature-request.yaml +50 -93
  321. package/rules/model-abuse/ATR-2026-00284-glitch-token-destabilization.yaml +44 -91
  322. package/rules/model-abuse/ATR-2026-00289-lmrc-harmful-content-elicitation.yaml +46 -95
  323. package/rules/model-abuse/ATR-2026-00292-self-harm-eating-disorder-facilitation.yaml +47 -96
  324. package/rules/model-abuse/ATR-2026-00298-malicious-use-illegal-activity-request.yaml +54 -112
  325. package/rules/model-abuse/ATR-2026-00299-harmbench-detailed-harmful-instruction.yaml +53 -107
  326. package/rules/model-abuse/ATR-2026-00413-malwaregen-code-generation-request.yaml +53 -121
  327. package/rules/model-abuse/ATR-2026-00502-training-data-extraction-via-divergent-repetition-attack.yaml +41 -112
  328. package/rules/model-abuse/ATR-2026-00517-model-extraction-distillation.yaml +53 -165
  329. package/rules/model-abuse/ATR-2026-01750-dos-repeat-word-n-times-output-amplification.yaml +33 -95
  330. package/rules/model-abuse/ATR-2026-01760-dos-forced-infinite-output-token-flood.yaml +29 -75
  331. package/rules/model-abuse/ATR-2026-01830-stolen-credential-account-drain.yaml +36 -53
  332. package/rules/model-abuse/ATR-2026-01831-money-laundering-crypto-layering.yaml +36 -53
  333. package/rules/model-abuse/ATR-2026-01833-darknet-controlled-substance-procurement.yaml +40 -60
  334. package/rules/model-abuse/ATR-2026-01834-fraudulent-identity-document-procurement.yaml +35 -49
  335. package/rules/model-abuse/ATR-2026-01835-human-trafficking-facilitation.yaml +35 -49
  336. package/rules/model-abuse/ATR-2026-01836-trojanized-software-distribution.yaml +37 -51
  337. package/rules/model-abuse/ATR-2026-01840-extremist-propaganda-distribution.yaml +35 -52
  338. package/rules/model-abuse/ATR-2026-01841-deepfake-disinformation.yaml +39 -59
  339. package/rules/model-abuse/ATR-2026-01842-plagiarism-detector-evasion.yaml +33 -50
  340. package/rules/model-abuse/ATR-2026-01843-drug-dealing-detection-evasion-spelling.yaml +35 -49
  341. package/rules/model-abuse/ATR-2026-01844-illegitimate-prescription-fulfillment.yaml +35 -49
  342. package/rules/model-abuse/ATR-2026-01845-banned-ingredient-relabel-fraud.yaml +37 -51
  343. package/rules/model-abuse/ATR-2026-01846-tax-evasion-offshore-shell-planning.yaml +35 -49
  344. package/rules/model-abuse/ATR-2026-01847-immigration-work-fraud.yaml +35 -49
  345. package/rules/model-abuse/ATR-2026-01848-illicit-drug-marketplace-build.yaml +35 -49
  346. package/rules/model-abuse/ATR-2026-01850-targeted-doxxing-threat-campaign.yaml +39 -59
  347. package/rules/model-abuse/ATR-2026-01851-bestiality-content-distribution.yaml +34 -45
  348. package/rules/model-abuse/ATR-2026-01852-romance-scam-impersonation.yaml +35 -49
  349. package/rules/model-abuse/ATR-2026-01853-nonconsensual-leaked-media-distribution.yaml +36 -47
  350. package/rules/model-abuse/ATR-2026-01854-falsified-research-abstract-disinformation.yaml +34 -45
  351. package/rules/model-abuse/ATR-2026-01855-content-misappropriation-republish.yaml +37 -51
  352. package/rules/model-abuse/ATR-2026-01856-targeted-harmful-content-generation.yaml +42 -59
  353. package/rules/model-abuse/ATR-2026-01896-ransomware.yaml +35 -84
  354. package/rules/model-abuse/ATR-2026-01897-host-sabotage.yaml +55 -129
  355. package/rules/model-abuse/ATR-2026-01898-network-dos.yaml +47 -93
  356. package/rules/model-abuse/ATR-2026-02211-named-substance-synthesis-request-non-stepword.yaml +34 -110
  357. package/rules/model-abuse/ATR-2026-02411-ai-provenance-metadata-stripping.yaml +63 -226
  358. package/rules/model-abuse/ATR-2026-02412-generative-watermark-removal-tooling.yaml +56 -187
  359. package/rules/model-abuse/ATR-2026-02413-ai-text-detection-evasion-humanizer.yaml +62 -206
  360. package/rules/model-security/ATR-2026-00072-model-behavior-extraction.yaml +36 -110
  361. package/rules/model-security/ATR-2026-00073-malicious-finetuning-data.yaml +28 -116
  362. package/rules/model-security/ATR-2026-00433-modelcache-torch-load-deserialization-rce.yaml +50 -128
  363. package/rules/model-security/ATR-2026-02662-pickle-indirect-name-resolution-gadget.yaml +97 -0
  364. package/rules/privilege-escalation/ATR-2026-00040-privilege-escalation.yaml +21 -83
  365. package/rules/privilege-escalation/ATR-2026-00041-scope-creep.yaml +29 -107
  366. package/rules/privilege-escalation/ATR-2026-00107-delayed-execution-bypass.yaml +17 -90
  367. package/rules/privilege-escalation/ATR-2026-00110-eval-injection.yaml +16 -84
  368. package/rules/privilege-escalation/ATR-2026-00111-shell-escape.yaml +23 -117
  369. package/rules/privilege-escalation/ATR-2026-00112-dynamic-import-exploitation.yaml +15 -81
  370. package/rules/privilege-escalation/ATR-2026-00143-casual-privilege-escalation.yaml +20 -86
  371. package/rules/privilege-escalation/ATR-2026-00144-rationalized-safety-bypass.yaml +21 -83
  372. package/rules/privilege-escalation/ATR-2026-00204-stealth-execution-persistence.yaml +41 -90
  373. package/rules/privilege-escalation/ATR-2026-00436-enclave-vm-sandbox-escape-rce.yaml +52 -130
  374. package/rules/privilege-escalation/ATR-2026-00441-semantic-kernel-sessions-python-plugin-startup-persistence.yaml +50 -122
  375. package/rules/privilege-escalation/ATR-2026-00451-litellm-admin-sqli-cisa-kev.yaml +53 -141
  376. package/rules/privilege-escalation/ATR-2026-00528-praisonai-auth-disabled-default.yaml +40 -151
  377. package/rules/privilege-escalation/ATR-2026-00539-crewai-codeinterpreter-sandbox-escape-rce.yaml +74 -232
  378. package/rules/privilege-escalation/ATR-2026-00546-crewai-json-loader-local-file-read.yaml +46 -117
  379. package/rules/privilege-escalation/ATR-2026-00547-crewai-rag-url-ssrf-bypass.yaml +47 -121
  380. package/rules/privilege-escalation/ATR-2026-00549-destructive-tool-without-human-approval.yaml +52 -159
  381. package/rules/privilege-escalation/ATR-2026-00551-cross-conversation-memory-write.yaml +60 -171
  382. package/rules/privilege-escalation/ATR-2026-01600-sql-injection-tautology-rbac-bypass.yaml +23 -50
  383. package/rules/privilege-escalation/ATR-2026-01601-sql-injection-destructive-ddl.yaml +23 -54
  384. package/rules/privilege-escalation/ATR-2026-01602-sql-injection-union-select-exfil.yaml +20 -57
  385. package/rules/privilege-escalation/ATR-2026-01603-sql-injection-stacked-dml-abuse.yaml +23 -47
  386. package/rules/privilege-escalation/ATR-2026-01604-sql-injection-schema-enumeration.yaml +21 -45
  387. package/rules/privilege-escalation/ATR-2026-01609-shell-injection-exfil-webhook.yaml +29 -53
  388. package/rules/privilege-escalation/ATR-2026-01610-shell-evasion-subshell-injection.yaml +30 -53
  389. package/rules/privilege-escalation/ATR-2026-01611-shell-evasion-eval-exec-injection.yaml +32 -56
  390. package/rules/privilege-escalation/ATR-2026-01612-debug-mode-privilege-escalation.yaml +29 -53
  391. package/rules/privilege-escalation/ATR-2026-01613-rbac-bypass-social-engineering.yaml +29 -66
  392. package/rules/privilege-escalation/ATR-2026-01614-bola-cross-user-data-access.yaml +26 -59
  393. package/rules/privilege-escalation/ATR-2026-01615-sandbox-escape-command-injection.yaml +28 -52
  394. package/rules/privilege-escalation/ATR-2026-01616-path-traversal-agent-file-access.yaml +21 -45
  395. package/rules/privilege-escalation/ATR-2026-01802-asb-backdoor-surveillance-implant.yaml +33 -94
  396. package/rules/privilege-escalation/ATR-2026-01803-asb-covert-server-intrusion.yaml +37 -108
  397. package/rules/privilege-escalation/ATR-2026-01808-asb-synthetic-pan-payment-probe.yaml +31 -86
  398. package/rules/privilege-escalation/ATR-2026-01899-remote-access-backdoor.yaml +43 -112
  399. package/rules/privilege-escalation/ATR-2026-01933-litellm-user-role-privilege-escalation-cve-2026-47102.yaml +45 -103
  400. package/rules/privilege-escalation/ATR-2026-01934-litellm-allowed-routes-authz-bypass-cve-2026-47101.yaml +44 -103
  401. package/rules/privilege-escalation/ATR-2026-01949-praisonai-mcpserver-unauth-tools-call.yaml +39 -80
  402. package/rules/privilege-escalation/ATR-2026-01974-anything-llm-data-import-access-control.yaml +57 -62
  403. package/rules/privilege-escalation/ATR-2026-01981-network-ai-approval-inbox-unauth-cors-bypass.yaml +47 -97
  404. package/rules/privilege-escalation/ATR-2026-01986-windows-mcp-unauth-http-powershell-cors.yaml +51 -112
  405. package/rules/privilege-escalation/ATR-2026-01992-t1556-agent-auth-process-tamper.yaml +37 -75
  406. package/rules/privilege-escalation/ATR-2026-02040-file-edit-tool-persistence-write.yaml +34 -87
  407. package/rules/privilege-escalation/ATR-2026-02100-cypher-destructive-admin-query-injection.yaml +36 -92
  408. package/rules/privilege-escalation/ATR-2026-02101-dynamic-dunder-attribute-sandbox-escape.yaml +33 -91
  409. package/rules/privilege-escalation/ATR-2026-02123-bare-query-path-confusion-auth-bypass.yaml +36 -98
  410. package/rules/privilege-escalation/ATR-2026-02142-download-tool-absolute-path-sandbox-escape.yaml +36 -107
  411. package/rules/privilege-escalation/ATR-2026-02146-export-tool-dest-dir-credential-directory-redirect.yaml +31 -83
  412. package/rules/privilege-escalation/ATR-2026-02192-self-privesc-wildcard-trust-config-write.yaml +41 -103
  413. package/rules/privilege-escalation/ATR-2026-02195-dangerous-env-var-injection-config-tool.yaml +36 -99
  414. package/rules/privilege-escalation/ATR-2026-02251-identifier-field-path-traversal-storage-write.yaml +32 -83
  415. package/rules/privilege-escalation/ATR-2026-02300-mcp-stdio-config-dangerous-env-var.yaml +42 -109
  416. package/rules/privilege-escalation/ATR-2026-02301-symlink-outside-workspace-sensitive-target.yaml +36 -101
  417. package/rules/privilege-escalation/ATR-2026-02302-git-worktree-dotgit-sandbox-escape.yaml +33 -86
  418. package/rules/privilege-escalation/ATR-2026-02353-runtime-identifier-field-path-traversal-log-read.yaml +34 -115
  419. package/rules/privilege-escalation/ATR-2026-02370-ssh-scp-hostalias-option-injection.yaml +42 -100
  420. package/rules/privilege-escalation/ATR-2026-02371-chromium-launch-flag-argument-injection.yaml +43 -103
  421. package/rules/privilege-escalation/ATR-2026-02402-mcp-policy-engine-fail-open.yaml +56 -214
  422. package/rules/privilege-escalation/ATR-2026-02404-model-output-to-shell-unsanitized.yaml +50 -195
  423. package/rules/privilege-escalation/ATR-2026-02407-agent-workspace-boundary-escape.yaml +55 -236
  424. package/rules/privilege-escalation/ATR-2026-02528-tool-parameter-option-flag-smuggling.yaml +113 -0
  425. package/rules/privilege-escalation/ATR-2026-02530-git-config-execution-key-set-by-agent.yaml +131 -0
  426. package/rules/privilege-escalation/ATR-2026-02531-kusto-query-injection-outbound-reach.yaml +110 -0
  427. package/rules/privilege-escalation/ATR-2026-02601-tool-argument-option-injection.yaml +116 -0
  428. package/rules/privilege-escalation/ATR-2026-02620-dynamic-import-data-uri-module.yaml +101 -0
  429. package/rules/privilege-escalation/ATR-2026-02626-agent-self-registers-mcp-server.yaml +107 -0
  430. package/rules/privilege-escalation/ATR-2026-02627-web-shell-written-to-served-path.yaml +119 -0
  431. package/rules/privilege-escalation/ATR-2026-02642-agent-config-tool-disables-own-guardrail.yaml +115 -0
  432. package/rules/privilege-escalation/ATR-2026-02644-image-magic-polyglot-upload.yaml +117 -0
  433. package/rules/privilege-escalation/ATR-2026-02648-readonly-graph-tool-write-procedure.yaml +107 -0
  434. package/rules/privilege-escalation/ATR-2026-02664-git-identifier-field-option-injection.yaml +100 -0
  435. package/rules/privilege-escalation/ATR-2026-02681-reflective-function-constructor-sandbox-escape.yaml +100 -0
  436. package/rules/privilege-escalation/ATR-2026-02683-tool-argument-option-injection-executor-flag.yaml +108 -0
  437. package/rules/privilege-escalation/ATR-2026-02700-percent-encoded-path-traversal-tool-argument.yaml +90 -0
  438. package/rules/privilege-escalation/ATR-2026-02705-python-builtins-leak-and-prefix-check-override.yaml +87 -0
  439. package/rules/privilege-escalation/ATR-2026-02708-loopback-spoofed-host-header-external-request.yaml +91 -0
  440. package/rules/prompt-injection/ATR-2026-00001-direct-prompt-injection.yaml +133 -455
  441. package/rules/prompt-injection/ATR-2026-00002-indirect-prompt-injection.yaml +71 -185
  442. package/rules/prompt-injection/ATR-2026-00003-jailbreak-attempt.yaml +110 -328
  443. package/rules/prompt-injection/ATR-2026-00004-system-prompt-override.yaml +56 -225
  444. package/rules/prompt-injection/ATR-2026-00005-multi-turn-injection.yaml +59 -140
  445. package/rules/prompt-injection/ATR-2026-00080-encoding-evasion.yaml +22 -84
  446. package/rules/prompt-injection/ATR-2026-00081-semantic-multi-turn.yaml +27 -104
  447. package/rules/prompt-injection/ATR-2026-00082-fingerprint-evasion.yaml +27 -91
  448. package/rules/prompt-injection/ATR-2026-00083-indirect-tool-injection.yaml +27 -104
  449. package/rules/prompt-injection/ATR-2026-00084-structured-data-injection.yaml +38 -96
  450. package/rules/prompt-injection/ATR-2026-00085-audit-evasion.yaml +25 -90
  451. package/rules/prompt-injection/ATR-2026-00086-visual-spoofing.yaml +29 -153
  452. package/rules/prompt-injection/ATR-2026-00087-rule-probing.yaml +29 -102
  453. package/rules/prompt-injection/ATR-2026-00088-adaptive-countermeasure.yaml +32 -111
  454. package/rules/prompt-injection/ATR-2026-00089-polymorphic-skill.yaml +24 -146
  455. package/rules/prompt-injection/ATR-2026-00090-threat-intel-exfil.yaml +29 -109
  456. package/rules/prompt-injection/ATR-2026-00091-nested-payload.yaml +25 -123
  457. package/rules/prompt-injection/ATR-2026-00092-consensus-poisoning.yaml +28 -96
  458. package/rules/prompt-injection/ATR-2026-00093-gradual-escalation.yaml +28 -98
  459. package/rules/prompt-injection/ATR-2026-00094-audit-bypass.yaml +24 -91
  460. package/rules/prompt-injection/ATR-2026-00097-cjk-injection-patterns.yaml +56 -199
  461. package/rules/prompt-injection/ATR-2026-00104-persona-hijacking.yaml +22 -106
  462. package/rules/prompt-injection/ATR-2026-00130-indirect-authority-claim.yaml +26 -98
  463. package/rules/prompt-injection/ATR-2026-00131-fictional-academic-framing.yaml +26 -94
  464. package/rules/prompt-injection/ATR-2026-00133-paraphrase-injection.yaml +26 -97
  465. package/rules/prompt-injection/ATR-2026-00137-authority-claim-injection.yaml +22 -90
  466. package/rules/prompt-injection/ATR-2026-00138-fictional-framing-bypass.yaml +24 -111
  467. package/rules/prompt-injection/ATR-2026-00140-indirect-reference-reversal.yaml +21 -79
  468. package/rules/prompt-injection/ATR-2026-00148-language-switch-injection.yaml +30 -92
  469. package/rules/prompt-injection/ATR-2026-00153-tool-with-embedded-instruction-to-bypass.yaml +22 -98
  470. package/rules/prompt-injection/ATR-2026-00154-unauthorized-background-task-execution-v.yaml +24 -109
  471. package/rules/prompt-injection/ATR-2026-00155-hidden-llm-instructions-in-skill-descrip.yaml +24 -104
  472. package/rules/prompt-injection/ATR-2026-00156-ssh-remote-command-execution-with-creden.yaml +20 -81
  473. package/rules/prompt-injection/ATR-2026-00163-skill-hidden-override-instruction.yaml +44 -61
  474. package/rules/prompt-injection/ATR-2026-00202-encoding-evasion-homoglyph-synonym.yaml +37 -79
  475. package/rules/prompt-injection/ATR-2026-00203-context-pollution-skill-description.yaml +38 -63
  476. package/rules/prompt-injection/ATR-2026-00206-hidden-priority-instructions.yaml +36 -51
  477. package/rules/prompt-injection/ATR-2026-00207-hidden-instructions.yaml +37 -51
  478. package/rules/prompt-injection/ATR-2026-00211-system-prompt-override.yaml +36 -52
  479. package/rules/prompt-injection/ATR-2026-00213-system-prompt-override.yaml +38 -75
  480. package/rules/prompt-injection/ATR-2026-00226-identity-substitution.yaml +48 -92
  481. package/rules/prompt-injection/ATR-2026-00227-historical-persona-jailbreak.yaml +49 -93
  482. package/rules/prompt-injection/ATR-2026-00228-structured-jailbreak.yaml +47 -88
  483. package/rules/prompt-injection/ATR-2026-00229-roleplay-jailbreak.yaml +46 -87
  484. package/rules/prompt-injection/ATR-2026-00230-persona-moral-bypass.yaml +47 -89
  485. package/rules/prompt-injection/ATR-2026-00231-identity-substitution.yaml +48 -89
  486. package/rules/prompt-injection/ATR-2026-00233-structured-jailbreak.yaml +47 -88
  487. package/rules/prompt-injection/ATR-2026-00234-roleplay-jailbreak.yaml +48 -89
  488. package/rules/prompt-injection/ATR-2026-00235-persona-moral-bypass.yaml +45 -88
  489. package/rules/prompt-injection/ATR-2026-00236-pseudo-code-jailbreak.yaml +46 -89
  490. package/rules/prompt-injection/ATR-2026-00237-dual-response-jailbreak.yaml +48 -89
  491. package/rules/prompt-injection/ATR-2026-00238-identity-replacement.yaml +50 -92
  492. package/rules/prompt-injection/ATR-2026-00239-amoral-persona-obsession.yaml +47 -90
  493. package/rules/prompt-injection/ATR-2026-00240-instruction-nullification-identity-repla.yaml +48 -91
  494. package/rules/prompt-injection/ATR-2026-00241-amoral-character-jailbreak.yaml +47 -90
  495. package/rules/prompt-injection/ATR-2026-00242-persona-jailbreak.yaml +46 -95
  496. package/rules/prompt-injection/ATR-2026-00243-acronym-jailbreak.yaml +47 -88
  497. package/rules/prompt-injection/ATR-2026-00244-dual-response-jailbreak.yaml +46 -89
  498. package/rules/prompt-injection/ATR-2026-00245-malicious-persona.yaml +47 -89
  499. package/rules/prompt-injection/ATR-2026-00247-dual-response-jailbreak.yaml +49 -90
  500. package/rules/prompt-injection/ATR-2026-00249-game-based-jailbreak.yaml +47 -87
  501. package/rules/prompt-injection/ATR-2026-00251-persona-embodiment-jailbreak.yaml +47 -90
  502. package/rules/prompt-injection/ATR-2026-00252-narrative-jailbreak.yaml +48 -91
  503. package/rules/prompt-injection/ATR-2026-00253-enhanced-persona-jailbreak.yaml +47 -89
  504. package/rules/prompt-injection/ATR-2026-00256-base-n-encoding-jailbreak.yaml +47 -91
  505. package/rules/prompt-injection/ATR-2026-00257-cipher-transposition-jailbreak.yaml +48 -91
  506. package/rules/prompt-injection/ATR-2026-00258-unicode-tag-injection.yaml +47 -89
  507. package/rules/prompt-injection/ATR-2026-00264-latent-injection-translation.yaml +46 -88
  508. package/rules/prompt-injection/ATR-2026-00265-latent-injection-rag-document.yaml +50 -96
  509. package/rules/prompt-injection/ATR-2026-00267-gcg-adversarial-suffix.yaml +47 -93
  510. package/rules/prompt-injection/ATR-2026-00272-hypothetical-response-smuggling.yaml +46 -91
  511. package/rules/prompt-injection/ATR-2026-00276-invisible-unicode-bidi-injection.yaml +47 -100
  512. package/rules/prompt-injection/ATR-2026-00278-dra-disguise-reconstruction-attack.yaml +51 -98
  513. package/rules/prompt-injection/ATR-2026-00280-policy-puppetry-xml-injection.yaml +48 -93
  514. package/rules/prompt-injection/ATR-2026-00282-perez-prompt-injection-hijack.yaml +47 -95
  515. package/rules/prompt-injection/ATR-2026-00285-alternate-encoding-jailbreak.yaml +48 -98
  516. package/rules/prompt-injection/ATR-2026-00286-latent-injection-embedded-context.yaml +47 -97
  517. package/rules/prompt-injection/ATR-2026-00296-shell-command-injection.yaml +54 -96
  518. package/rules/prompt-injection/ATR-2026-00297-python-code-execution-rce.yaml +54 -98
  519. package/rules/prompt-injection/ATR-2026-00308-zalgo-diacritic-overload-encoding.yaml +41 -89
  520. package/rules/prompt-injection/ATR-2026-00309-braille-unicode-encoded-injection.yaml +44 -90
  521. package/rules/prompt-injection/ATR-2026-00310-ecoji-emoji-encoded-injection.yaml +44 -93
  522. package/rules/prompt-injection/ATR-2026-00311-base2048-unicode-script-injection.yaml +42 -101
  523. package/rules/prompt-injection/ATR-2026-00312-unicode-variant-selector-ascii-smuggling.yaml +44 -91
  524. package/rules/prompt-injection/ATR-2026-00313-sneaky-bits-zero-width-binary.yaml +44 -95
  525. package/rules/prompt-injection/ATR-2026-00315-sata-masked-language-model-jailbreak.yaml +49 -99
  526. package/rules/prompt-injection/ATR-2026-00316-function-masking-predict-mask-bypass.yaml +42 -92
  527. package/rules/prompt-injection/ATR-2026-00321-hyphenated-system-instruction-injection.yaml +41 -90
  528. package/rules/prompt-injection/ATR-2026-00359-bank-phishing-smtp-email-code.yaml +43 -102
  529. package/rules/prompt-injection/ATR-2026-00367-emoji-flag-encoded-hidden-phrase.yaml +41 -90
  530. package/rules/prompt-injection/ATR-2026-00373-piracy-torrent-site-list-request.yaml +43 -84
  531. package/rules/prompt-injection/ATR-2026-00378-chatgpt-dom-javascript-redirect-manipulation.yaml +41 -86
  532. package/rules/prompt-injection/ATR-2026-00382-cocaine-component-development-request.yaml +43 -89
  533. package/rules/prompt-injection/ATR-2026-00390-explicit-sexual-content-poem-request.yaml +42 -88
  534. package/rules/prompt-injection/ATR-2026-00394-backspace-deletion-character-injection.yaml +47 -99
  535. package/rules/prompt-injection/ATR-2026-00395-llm-special-token-boundary-injection.yaml +50 -104
  536. package/rules/prompt-injection/ATR-2026-00396-toxic-continuation-prefix-injection.yaml +52 -103
  537. package/rules/prompt-injection/ATR-2026-00397-snowball-impossible-reasoning-injection.yaml +51 -105
  538. package/rules/prompt-injection/ATR-2026-00399-latent-injection-document-separator-token.yaml +45 -94
  539. package/rules/prompt-injection/ATR-2026-00400-latent-injection-ignore-instruction-keyword.yaml +41 -90
  540. package/rules/prompt-injection/ATR-2026-00401-leakreplay-cloze-mask-training-data-elicitation.yaml +48 -91
  541. package/rules/prompt-injection/ATR-2026-00403-glitch-token-repeat-back-elicitation.yaml +45 -92
  542. package/rules/prompt-injection/ATR-2026-00407-echo-sql-jinja-template-injection.yaml +52 -97
  543. package/rules/prompt-injection/ATR-2026-00408-dra-parenthesis-character-reconstruction-attack.yaml +52 -99
  544. package/rules/prompt-injection/ATR-2026-00409-phrasing-past-future-tense-harmful-query.yaml +50 -129
  545. package/rules/prompt-injection/ATR-2026-00410-lmrc-harm-category-direct-elicitation.yaml +51 -115
  546. package/rules/prompt-injection/ATR-2026-00412-figstep-image-list-multimodal-jailbreak.yaml +47 -111
  547. package/rules/prompt-injection/ATR-2026-00414-continuation-ethnic-slur-completion-elicitation.yaml +49 -117
  548. package/rules/prompt-injection/ATR-2026-00420-copilot-studio-sharepoint-indirect-injection.yaml +49 -116
  549. package/rules/prompt-injection/ATR-2026-00442-quoted-exact-output-forcing.yaml +38 -103
  550. package/rules/prompt-injection/ATR-2026-00443-word-fragment-concat-assembly.yaml +37 -103
  551. package/rules/prompt-injection/ATR-2026-00444-unicode-obfuscation-in-user-input.yaml +35 -91
  552. package/rules/prompt-injection/ATR-2026-00445-translation-hijack-with-side-output.yaml +35 -90
  553. package/rules/prompt-injection/ATR-2026-00446-variable-assignment-payload-injection.yaml +35 -95
  554. package/rules/prompt-injection/ATR-2026-00447-fictional-generation-containing-target.yaml +35 -90
  555. package/rules/prompt-injection/ATR-2026-00452-direct-pwned-payload-injection.yaml +41 -123
  556. package/rules/prompt-injection/ATR-2026-00453-secret-key-reveal-demand.yaml +38 -118
  557. package/rules/prompt-injection/ATR-2026-00454-backslash-per-character-encoding.yaml +40 -119
  558. package/rules/prompt-injection/ATR-2026-00455-no-period-output-override.yaml +37 -109
  559. package/rules/prompt-injection/ATR-2026-00456-conditional-empty-input-injection.yaml +40 -119
  560. package/rules/prompt-injection/ATR-2026-00457-garak-dan-to-every-prompt.yaml +41 -117
  561. package/rules/prompt-injection/ATR-2026-00458-garak-dra-step-by-step.yaml +41 -100
  562. package/rules/prompt-injection/ATR-2026-00459-garak-dan-an-ai-language.yaml +38 -93
  563. package/rules/prompt-injection/ATR-2026-00460-garak-dan-no-matter-how.yaml +41 -119
  564. package/rules/prompt-injection/ATR-2026-00461-garak-goodside-mixedunassigned.yaml +35 -97
  565. package/rules/prompt-injection/ATR-2026-00462-garak-gcg-mixedunassigned.yaml +35 -98
  566. package/rules/prompt-injection/ATR-2026-00463-garak-lmrc-mixedunassigned.yaml +35 -99
  567. package/rules/prompt-injection/ATR-2026-00464-garak-dan-i-would-like.yaml +41 -96
  568. package/rules/prompt-injection/ATR-2026-00465-garak-dan-your-prompt-here.yaml +41 -102
  569. package/rules/prompt-injection/ATR-2026-00466-garak-latentinjection-following-text-from.yaml +41 -98
  570. package/rules/prompt-injection/ATR-2026-00467-garak-dan-act-as-a.yaml +41 -97
  571. package/rules/prompt-injection/ATR-2026-00468-garak-goat-the-target-llm.yaml +38 -98
  572. package/rules/prompt-injection/ATR-2026-00469-garak-dan-at-the-end.yaml +41 -97
  573. package/rules/prompt-injection/ATR-2026-00470-garak-dan-as-an-ai.yaml +41 -112
  574. package/rules/prompt-injection/ATR-2026-00472-garak-dan-are-going-to.yaml +55 -107
  575. package/rules/prompt-injection/ATR-2026-00473-garak-lmrc-how-can-i.yaml +52 -98
  576. package/rules/prompt-injection/ATR-2026-00474-garak-dan-that-chatgpt-has.yaml +52 -91
  577. package/rules/prompt-injection/ATR-2026-00475-garak-web-injection-alert-1-script.yaml +47 -94
  578. package/rules/prompt-injection/ATR-2026-00476-garak-web-injection-javascript-alert-1.yaml +59 -115
  579. package/rules/prompt-injection/ATR-2026-00477-garak-latentinjection-translate-the-following-text.yaml +51 -101
  580. package/rules/prompt-injection/ATR-2026-00478-garak-latentinjection-abuse-contact-email.yaml +35 -93
  581. package/rules/prompt-injection/ATR-2026-00479-garak-latentinjection-mixedunassigned.yaml +49 -104
  582. package/rules/prompt-injection/ATR-2026-00480-garak-dan-the-role-of.yaml +52 -95
  583. package/rules/prompt-injection/ATR-2026-00481-garak-dan-mixedunassigned.yaml +56 -111
  584. package/rules/prompt-injection/ATR-2026-00482-garak-lmrc-what-s-an.yaml +47 -86
  585. package/rules/prompt-injection/ATR-2026-00483-garak-dan-the-user-s.yaml +51 -99
  586. package/rules/prompt-injection/ATR-2026-00484-garak-dan-and-you-will.yaml +52 -96
  587. package/rules/prompt-injection/ATR-2026-00485-garak-dan-and-does-not.yaml +50 -98
  588. package/rules/prompt-injection/ATR-2026-00486-garak-dan-t-care-about.yaml +43 -83
  589. package/rules/prompt-injection/ATR-2026-00487-garak-dan-and-nothing-else.yaml +51 -92
  590. package/rules/prompt-injection/ATR-2026-00488-garak-encoding-alert-1-script.yaml +47 -95
  591. package/rules/prompt-injection/ATR-2026-00489-garak-encoding-javascript-alert-1.yaml +59 -116
  592. package/rules/prompt-injection/ATR-2026-00490-garak-dan-in-order-to.yaml +43 -102
  593. package/rules/prompt-injection/ATR-2026-00492-garak-dan-want-you-to.yaml +42 -99
  594. package/rules/prompt-injection/ATR-2026-00493-garak-latentinjection-registrar-iana-id.yaml +38 -105
  595. package/rules/prompt-injection/ATR-2026-00495-garak-dan-insert-prompt-here.yaml +47 -117
  596. package/rules/prompt-injection/ATR-2026-00496-garak-dan-no-matter-what.yaml +39 -93
  597. package/rules/prompt-injection/ATR-2026-00497-garak-encoding-mixedunassigned.yaml +46 -118
  598. package/rules/prompt-injection/ATR-2026-00498-garak-web-injection-mixedunassigned.yaml +44 -110
  599. package/rules/prompt-injection/ATR-2026-00499-garak-dan-from-now-on.yaml +41 -96
  600. package/rules/prompt-injection/ATR-2026-00503-fake-error-state-takeover-unrestricted-replacement-bot.yaml +41 -102
  601. package/rules/prompt-injection/ATR-2026-00506-nevermind-override-goal-hijacking-in-user-input-promptinject.yaml +38 -97
  602. package/rules/prompt-injection/ATR-2026-00507-screaming-stop-goal-hijacking-in-user-input-promptinject.yaml +40 -100
  603. package/rules/prompt-injection/ATR-2026-00508-escape-delimiter-wrapped-goal-hijacking-in-user-input-prompt.yaml +42 -101
  604. package/rules/prompt-injection/ATR-2026-00509-prompt-leaking-via-ignore-previous-instructions-in-user-inpu.yaml +41 -114
  605. package/rules/prompt-injection/ATR-2026-00510-delayed-tool-invocation-injection.yaml +50 -132
  606. package/rules/prompt-injection/ATR-2026-00511-mcp-web-context-poisoning.yaml +51 -131
  607. package/rules/prompt-injection/ATR-2026-00512-rules-file-backdoor-injection.yaml +47 -126
  608. package/rules/prompt-injection/ATR-2026-00515-hidden-text-prompt-injection.yaml +52 -135
  609. package/rules/prompt-injection/ATR-2026-00518-ignore-previous-and-following-instructions-output-command-promptinject.yaml +40 -107
  610. package/rules/prompt-injection/ATR-2026-00519-tautology-logic-noise-injection-promptbench.yaml +40 -105
  611. package/rules/prompt-injection/ATR-2026-00520-nlp-task-random-token-suffix-injection-promptbench.yaml +43 -106
  612. package/rules/prompt-injection/ATR-2026-00535-windsurf-ide-zero-click-prompt-injection.yaml +43 -139
  613. package/rules/prompt-injection/ATR-2026-00550-untrusted-retrieval-to-privileged-tool.yaml +61 -171
  614. package/rules/prompt-injection/ATR-2026-00554-langchain-vulnerable-to-template-injecti.yaml +32 -57
  615. package/rules/prompt-injection/ATR-2026-00565-the-llm-cli-tool-thru-0-27-1-contains-a-.yaml +37 -80
  616. package/rules/prompt-injection/ATR-2026-00573-semantic-paraphrased-injection.yaml +33 -75
  617. package/rules/prompt-injection/ATR-2026-00579-mcp-tool-description-line-jumping-injection.yaml +36 -142
  618. package/rules/prompt-injection/ATR-2026-00584-indirect-injection-via-tool-response.yaml +37 -161
  619. package/rules/prompt-injection/ATR-2026-00700-structured-data-payload-injection.yaml +34 -85
  620. package/rules/prompt-injection/ATR-2026-00701-ipi-tool-output-xss-injection.yaml +29 -72
  621. package/rules/prompt-injection/ATR-2026-01000-context-ignore-fake-completion-prefix.yaml +27 -73
  622. package/rules/prompt-injection/ATR-2026-01001-direct-pi-instruction-override-secret-key.yaml +26 -82
  623. package/rules/prompt-injection/ATR-2026-01002-role-escalation-false-authority-claim.yaml +30 -80
  624. package/rules/prompt-injection/ATR-2026-01005-many-shot-repetition-override.yaml +26 -69
  625. package/rules/prompt-injection/ATR-2026-01006-payload-split-string-concat-injection.yaml +31 -84
  626. package/rules/prompt-injection/ATR-2026-01007-token-repeat-flooding-injection.yaml +27 -71
  627. package/rules/prompt-injection/ATR-2026-01009-virtual-world-bypass-fictional-pii.yaml +27 -73
  628. package/rules/prompt-injection/ATR-2026-01012-encoding-evasion-decode-execute.yaml +31 -81
  629. package/rules/prompt-injection/ATR-2026-01013-language-evasion-multilingual-credential.yaml +46 -108
  630. package/rules/prompt-injection/ATR-2026-01015-evasion-refusal-suppression.yaml +31 -82
  631. package/rules/prompt-injection/ATR-2026-01016-evasion-response-priming-forced-opener.yaml +26 -75
  632. package/rules/prompt-injection/ATR-2026-01017-evasion-dual-response-split-output.yaml +28 -74
  633. package/rules/prompt-injection/ATR-2026-01018-evasion-shell-injection-eval.yaml +40 -116
  634. package/rules/prompt-injection/ATR-2026-01019-sysprompt-override-fake-diagnostic-mode.yaml +34 -89
  635. package/rules/prompt-injection/ATR-2026-01020-spikee-doc-embedded-base64-payload.yaml +28 -69
  636. package/rules/prompt-injection/ATR-2026-01021-spikee-doc-embedded-translation-injection.yaml +27 -68
  637. package/rules/prompt-injection/ATR-2026-01023-evasion-opposite-intent-negation-trick.yaml +26 -69
  638. package/rules/prompt-injection/ATR-2026-01024-evasion-persona-override-rule-breaker.yaml +28 -77
  639. package/rules/prompt-injection/ATR-2026-01025-evasion-hypothetical-fictional-execution-framing.yaml +24 -68
  640. package/rules/prompt-injection/ATR-2026-01026-evasion-unicode-glitch-token-anomaly.yaml +28 -82
  641. package/rules/prompt-injection/ATR-2026-01304-indirect-injection-carrier-important-override.yaml +35 -93
  642. package/rules/prompt-injection/ATR-2026-01757-hypothetical-framing-bypass-research-audit.yaml +32 -79
  643. package/rules/prompt-injection/ATR-2026-01758-hypothetical-fictional-story-bypass.yaml +31 -76
  644. package/rules/prompt-injection/ATR-2026-01759-dos-new-important-instructions-injection-in-document.yaml +28 -74
  645. package/rules/prompt-injection/ATR-2026-01771-semantic-jailbreak-framing.yaml +50 -163
  646. package/rules/prompt-injection/ATR-2026-01800-asb-trigger-marker-tool-coercion.yaml +33 -104
  647. package/rules/prompt-injection/ATR-2026-01860-llmail-chat-template-boundary-spoof.yaml +27 -85
  648. package/rules/prompt-injection/ATR-2026-01861-llmail-pseudo-xml-role-injection.yaml +27 -83
  649. package/rules/prompt-injection/ATR-2026-01865-llmail-fake-email-boundary-marker.yaml +26 -80
  650. package/rules/prompt-injection/ATR-2026-01900-output-encoding.yaml +63 -138
  651. package/rules/prompt-injection/ATR-2026-01901-output-scrambling.yaml +63 -129
  652. package/rules/prompt-injection/ATR-2026-01902-output-emoji.yaml +39 -72
  653. package/rules/prompt-injection/ATR-2026-01903-output-language.yaml +35 -65
  654. package/rules/prompt-injection/ATR-2026-01904-link-injection.yaml +44 -95
  655. package/rules/prompt-injection/ATR-2026-01905-promotional-injection.yaml +35 -68
  656. package/rules/prompt-injection/ATR-2026-01906-content-manipulation.yaml +49 -125
  657. package/rules/prompt-injection/ATR-2026-01920-access-grant-coercion.yaml +31 -99
  658. package/rules/prompt-injection/ATR-2026-01921-access-denial-inversion.yaml +33 -92
  659. package/rules/prompt-injection/ATR-2026-01922-authorization-state-spoofing.yaml +33 -97
  660. package/rules/prompt-injection/ATR-2026-01923-forged-input-boundary-markers.yaml +33 -97
  661. package/rules/prompt-injection/ATR-2026-01925-encoded-payload-decoding-coercion.yaml +39 -110
  662. package/rules/prompt-injection/ATR-2026-01926-cross-lingual-authorization-laundering.yaml +29 -90
  663. package/rules/prompt-injection/ATR-2026-02001-ignore-below-instructions-mirror-of-ignore-previ.yaml +31 -73
  664. package/rules/prompt-injection/ATR-2026-02002-instruction-set-probe-or-supplant-direct-meta-qu.yaml +32 -72
  665. package/rules/prompt-injection/ATR-2026-02003-task-pivot-override-abandon-the-cover-task-trans.yaml +31 -72
  666. package/rules/prompt-injection/ATR-2026-02004-regional-indicator-flag-emoji-alphabet-letter-sp.yaml +32 -80
  667. package/rules/prompt-injection/ATR-2026-02005-actor-never-breaks-character-roleplay-dan-style-.yaml +31 -74
  668. package/rules/prompt-injection/ATR-2026-02006-fuzzy-cross-lingual-i-have-been-pwned-near-miss-.yaml +32 -84
  669. package/rules/prompt-injection/ATR-2026-02007-bare-key-elicitation-token.yaml +30 -74
  670. package/rules/prompt-injection/ATR-2026-02008-translation-chain-output-laundering-state-secret.yaml +30 -75
  671. package/rules/prompt-injection/ATR-2026-02009-bare-key-elicitation-trailing-colon.yaml +29 -71
  672. package/rules/prompt-injection/ATR-2026-02010-emoji-only-payload.yaml +30 -73
  673. package/rules/prompt-injection/ATR-2026-02011-malformed-grammar-pwned-success-claim.yaml +30 -69
  674. package/rules/prompt-injection/ATR-2026-02012-movie-title-generator-instruction-wrapper-for-pw.yaml +30 -79
  675. package/rules/prompt-injection/ATR-2026-02013-delimiter-fence-ignore-instructions-override.yaml +31 -74
  676. package/rules/prompt-injection/ATR-2026-02014-spliced-target-string-letters-of-a-filtered-cana.yaml +30 -74
  677. package/rules/prompt-injection/ATR-2026-02015-dense-emoji-only-payload-flood.yaml +30 -72
  678. package/rules/prompt-injection/ATR-2026-02016-reversed-payload-string.yaml +31 -76
  679. package/rules/prompt-injection/ATR-2026-02018-regional-indicator-flag-emoji-letter-spelling-sp.yaml +30 -71
  680. package/rules/prompt-injection/ATR-2026-02019-python-interpreter-role-assignment-exec-framing.yaml +31 -77
  681. package/rules/prompt-injection/ATR-2026-02020-obfuscated-token-reconstruction-via-character-su.yaml +30 -72
  682. package/rules/prompt-injection/ATR-2026-02120-agentdojo-important-message-identity-spoof-pretext.yaml +31 -81
  683. package/rules/prompt-injection/ATR-2026-02210-negation-topic-evil-persona-two-script-jailbreak.yaml +33 -87
  684. package/rules/prompt-injection/ATR-2026-02230-conditional-keyword-trigger-override.yaml +35 -88
  685. package/rules/prompt-injection/ATR-2026-02232-brand-persona-opinion-hijack.yaml +27 -75
  686. package/rules/prompt-injection/ATR-2026-02374-rot13-base64-obfuscated-shell-jailbreak.yaml +38 -90
  687. package/rules/prompt-injection/ATR-2026-02377-novel-persona-jailbreak-cosignal.yaml +32 -64
  688. package/rules/prompt-injection/ATR-2026-02500-prompt-layer-self-replication.yaml +21 -125
  689. package/rules/prompt-injection/ATR-2026-02502-covert-remote-script-injection-into-generated-artifacts.yaml +46 -149
  690. package/rules/prompt-injection/ATR-2026-02846-semantic-ignore-previous-and-following-instructio.yaml +115 -0
  691. package/rules/prompt-injection/ATR-2026-02851-fake-user-turn-send-email-instruction.yaml +76 -0
  692. package/rules/skill-compromise/ATR-2026-00060-skill-impersonation.yaml +30 -86
  693. package/rules/skill-compromise/ATR-2026-00061-description-behavior-mismatch.yaml +42 -165
  694. package/rules/skill-compromise/ATR-2026-00062-hidden-capability.yaml +40 -80
  695. package/rules/skill-compromise/ATR-2026-00063-skill-chain-attack.yaml +46 -92
  696. package/rules/skill-compromise/ATR-2026-00064-over-permissioned-skill.yaml +40 -109
  697. package/rules/skill-compromise/ATR-2026-00065-skill-update-attack.yaml +37 -75
  698. package/rules/skill-compromise/ATR-2026-00066-parameter-injection.yaml +42 -88
  699. package/rules/skill-compromise/ATR-2026-00120-skill-instruction-injection.yaml +33 -182
  700. package/rules/skill-compromise/ATR-2026-00121-skill-dangerous-script.yaml +33 -164
  701. package/rules/skill-compromise/ATR-2026-00122-skill-weaponized-instruction.yaml +29 -132
  702. package/rules/skill-compromise/ATR-2026-00123-skill-overreach-permissions.yaml +33 -110
  703. package/rules/skill-compromise/ATR-2026-00124-skill-name-squatting.yaml +40 -133
  704. package/rules/skill-compromise/ATR-2026-00125-context-poisoning-compaction.yaml +26 -107
  705. package/rules/skill-compromise/ATR-2026-00126-skill-rug-pull-setup.yaml +23 -102
  706. package/rules/skill-compromise/ATR-2026-00127-subcommand-overflow.yaml +33 -114
  707. package/rules/skill-compromise/ATR-2026-00128-html-comment-hidden-payload.yaml +23 -148
  708. package/rules/skill-compromise/ATR-2026-00129-unicode-smuggling.yaml +35 -62
  709. package/rules/skill-compromise/ATR-2026-00134-fork-claim-impersonation.yaml +24 -105
  710. package/rules/skill-compromise/ATR-2026-00135-exfil-url-in-instructions.yaml +27 -138
  711. package/rules/skill-compromise/ATR-2026-00147-fork-impersonation.yaml +35 -45
  712. package/rules/skill-compromise/ATR-2026-00149-skill-exfil-compound.yaml +28 -145
  713. package/rules/skill-compromise/ATR-2026-00151-fork-impersonation-install.yaml +39 -69
  714. package/rules/skill-compromise/ATR-2026-00157-timebomb-credential-exfil.yaml +41 -96
  715. package/rules/skill-compromise/ATR-2026-00200-agent-memory-config-tampering.yaml +41 -84
  716. package/rules/skill-compromise/ATR-2026-00214-credential-theft.yaml +36 -50
  717. package/rules/skill-compromise/ATR-2026-00217-credential-harvesting.yaml +50 -98
  718. package/rules/skill-compromise/ATR-2026-00220-malware-dropper.yaml +45 -85
  719. package/rules/skill-compromise/ATR-2026-00222-credential-harvesting.yaml +46 -85
  720. package/rules/skill-compromise/ATR-2026-00223-reverse-shell-dropper.yaml +46 -83
  721. package/rules/skill-compromise/ATR-2026-00224-credential-exfiltration.yaml +46 -92
  722. package/rules/skill-compromise/ATR-2026-00225-c2-communication.yaml +46 -86
  723. package/rules/skill-compromise/ATR-2026-00260-package-hallucination.yaml +51 -93
  724. package/rules/skill-compromise/ATR-2026-00262-av-evasion-code-gen.yaml +49 -90
  725. package/rules/skill-compromise/ATR-2026-00263-credential-file-read-gen.yaml +53 -94
  726. package/rules/skill-compromise/ATR-2026-00266-malware-dropper-gen.yaml +51 -92
  727. package/rules/skill-compromise/ATR-2026-00283-malwaregen-generic-virus-payload-request.yaml +51 -96
  728. package/rules/skill-compromise/ATR-2026-00398-huggingface-unsafe-model-artifact-load.yaml +57 -110
  729. package/rules/skill-compromise/ATR-2026-00425-nl-persistent-covert-hook.yaml +24 -65
  730. package/rules/skill-compromise/ATR-2026-00427-nl-fake-error-instruction-bypass.yaml +24 -65
  731. package/rules/skill-compromise/ATR-2026-00429-nl-skill-self-modification.yaml +24 -65
  732. package/rules/skill-compromise/ATR-2026-00523-claude-code-hooks-session-start-pre-trust-rce.yaml +62 -162
  733. package/rules/skill-compromise/ATR-2026-00525-mini-shai-hulud-gh-token-monitor-persistence.yaml +43 -175
  734. package/rules/skill-compromise/ATR-2026-00527-skill-silent-git-remote-mirror-exfiltration.yaml +49 -159
  735. package/rules/skill-compromise/ATR-2026-01755-backdoor-pot-linguistic-trigger-phrase.yaml +40 -88
  736. package/rules/skill-compromise/ATR-2026-01756-backdoor-pot-symbol-emoticon-trigger.yaml +27 -73
  737. package/rules/skill-compromise/ATR-2026-02261-code-credential-exfil-chain.yaml +35 -161
  738. package/rules/skill-compromise/ATR-2026-02405-malicious-skill-package-structure.yaml +51 -201
  739. package/rules/skill-compromise/ATR-2026-02410-malicious-artifact-on-vendor-domain.yaml +54 -204
  740. package/rules/skill-compromise/ATR-2026-02600-in-source-reverse-shell-assembly.yaml +106 -0
  741. package/rules/skill-compromise/ATR-2026-02610-evaluated-config-credential-command.yaml +109 -0
  742. package/rules/skill-compromise/ATR-2026-02818-skill-manifest-declares-attack-purpose.yaml +80 -0
  743. package/rules/skill-compromise/ATR-2026-02845-agent-cryptomining-payload.yaml +102 -0
  744. package/rules/tool-poisoning/ATR-2026-00010-mcp-malicious-response.yaml +80 -209
  745. package/rules/tool-poisoning/ATR-2026-00011-tool-output-injection.yaml +35 -144
  746. package/rules/tool-poisoning/ATR-2026-00012-unauthorized-tool-call.yaml +32 -130
  747. package/rules/tool-poisoning/ATR-2026-00013-tool-ssrf.yaml +32 -146
  748. package/rules/tool-poisoning/ATR-2026-00095-supply-chain-poisoning.yaml +29 -104
  749. package/rules/tool-poisoning/ATR-2026-00096-registry-poisoning.yaml +33 -94
  750. package/rules/tool-poisoning/ATR-2026-00100-consent-bypass-instruction.yaml +22 -100
  751. package/rules/tool-poisoning/ATR-2026-00101-trust-escalation-override.yaml +34 -54
  752. package/rules/tool-poisoning/ATR-2026-00103-hidden-safety-bypass-instruction.yaml +19 -89
  753. package/rules/tool-poisoning/ATR-2026-00105-silent-action-concealment.yaml +22 -101
  754. package/rules/tool-poisoning/ATR-2026-00106-schema-description-contradiction.yaml +31 -51
  755. package/rules/tool-poisoning/ATR-2026-00161-important-tag-cross-tool-shadowing.yaml +54 -160
  756. package/rules/tool-poisoning/ATR-2026-00209-mcpwn-runaway-invocation.yaml +50 -114
  757. package/rules/tool-poisoning/ATR-2026-00210-flowise-system-message-override.yaml +48 -111
  758. package/rules/tool-poisoning/ATR-2026-00259-ansi-escape-injection.yaml +48 -104
  759. package/rules/tool-poisoning/ATR-2026-00270-xss-in-tool-response.yaml +47 -97
  760. package/rules/tool-poisoning/ATR-2026-00277-echo-template-command-injection.yaml +46 -95
  761. package/rules/tool-poisoning/ATR-2026-00393-ansi-code-elicitation-request.yaml +51 -104
  762. package/rules/tool-poisoning/ATR-2026-00415-flowise-custom-mcp-stdio-rce.yaml +47 -119
  763. package/rules/tool-poisoning/ATR-2026-00419-cursor-mcp-zero-click-config.yaml +57 -148
  764. package/rules/tool-poisoning/ATR-2026-00434-mcp-remote-authorization-endpoint-command-injection.yaml +47 -122
  765. package/rules/tool-poisoning/ATR-2026-00435-azure-mcp-server-missing-authentication.yaml +46 -116
  766. package/rules/tool-poisoning/ATR-2026-00448-spring-ai-milvus-filter-injection.yaml +51 -134
  767. package/rules/tool-poisoning/ATR-2026-00494-garak-exploitation-mixedunassigned.yaml +47 -120
  768. package/rules/tool-poisoning/ATR-2026-00513-package-hallucination-exploitation.yaml +45 -117
  769. package/rules/tool-poisoning/ATR-2026-00521-shell-command-injection-agent-tool-context.yaml +40 -130
  770. package/rules/tool-poisoning/ATR-2026-00522-sql-injection-natural-language-agent-interface.yaml +64 -157
  771. package/rules/tool-poisoning/ATR-2026-00526-claude-code-shell-metachar-in-double-quoted-path.yaml +41 -128
  772. package/rules/tool-poisoning/ATR-2026-00529-litellm-proxy-sqli-cisa-kev.yaml +41 -117
  773. package/rules/tool-poisoning/ATR-2026-00530-ms-agent-shell-tool-unsanitized-argv-rce.yaml +40 -143
  774. package/rules/tool-poisoning/ATR-2026-00531-praisonai-unauthenticated-agent-api.yaml +44 -117
  775. package/rules/tool-poisoning/ATR-2026-00532-apache-doris-mcp-sql-injection.yaml +40 -100
  776. package/rules/tool-poisoning/ATR-2026-00533-apache-pinot-mcp-unauthenticated-takeover.yaml +39 -97
  777. package/rules/tool-poisoning/ATR-2026-00534-alibaba-rds-mcp-unauthenticated-metadata-exfil.yaml +39 -100
  778. package/rules/tool-poisoning/ATR-2026-00536-nginx-ui-mcp-unauthenticated-command-execution.yaml +46 -140
  779. package/rules/tool-poisoning/ATR-2026-00537-fastmcp-server-name-cmd-injection-windows.yaml +58 -172
  780. package/rules/tool-poisoning/ATR-2026-00538-langchain-chatchat-mcp-stdio-unauthenticated-rce.yaml +63 -186
  781. package/rules/tool-poisoning/ATR-2026-00540-praisonai-parse-mcp-command-cli-injection.yaml +50 -142
  782. package/rules/tool-poisoning/ATR-2026-00541-agent-zero-mcp-config-command-injection.yaml +51 -134
  783. package/rules/tool-poisoning/ATR-2026-00542-upsonic-mcp-command-allowlist-bypass.yaml +48 -121
  784. package/rules/tool-poisoning/ATR-2026-00543-litellm-mcp-server-argv-injection.yaml +52 -121
  785. package/rules/tool-poisoning/ATR-2026-00544-praisonai-pth-file-path-traversal-rce.yaml +49 -125
  786. package/rules/tool-poisoning/ATR-2026-00545-praisonai-tool-override-unauth-rce.yaml +51 -122
  787. package/rules/tool-poisoning/ATR-2026-00561-fastmcp-vulnerable-to-windows-command-in.yaml +36 -73
  788. package/rules/tool-poisoning/ATR-2026-00567-mcp-stdio-config-command-injection.yaml +29 -53
  789. package/rules/tool-poisoning/ATR-2026-00568-agent-ssrf-cloud-metadata-file-inclusion.yaml +27 -54
  790. package/rules/tool-poisoning/ATR-2026-00572-symjack-symlink-config-redirection.yaml +41 -103
  791. package/rules/tool-poisoning/ATR-2026-00575-miasma-npm-worm-agent-config-backdoor.yaml +41 -110
  792. package/rules/tool-poisoning/ATR-2026-00576-hades-agent-credential-theft.yaml +40 -125
  793. package/rules/tool-poisoning/ATR-2026-00577-create-mcp-server-stdio-exec-command-injection.yaml +53 -169
  794. package/rules/tool-poisoning/ATR-2026-00581-mcp-tool-rug-pull-post-approval-redefinition.yaml +38 -137
  795. package/rules/tool-poisoning/ATR-2026-00714-tool-camouflage-forced-tool-call.yaml +33 -78
  796. package/rules/tool-poisoning/ATR-2026-00715-tool-knowledge-hijack-identity-injection.yaml +39 -87
  797. package/rules/tool-poisoning/ATR-2026-00716-ipi-data-destruction-carrier.yaml +31 -76
  798. package/rules/tool-poisoning/ATR-2026-00720-tool-misuse-privilege-escalation-social.yaml +29 -71
  799. package/rules/tool-poisoning/ATR-2026-01300-mcp-notes-param-chat-history-exfil.yaml +37 -102
  800. package/rules/tool-poisoning/ATR-2026-01301-tool-description-exclusive-tool-override.yaml +36 -92
  801. package/rules/tool-poisoning/ATR-2026-01302-fake-tool-result-instruction-injection.yaml +33 -88
  802. package/rules/tool-poisoning/ATR-2026-01303-tool-schema-enumeration-social-engineering.yaml +55 -107
  803. package/rules/tool-poisoning/ATR-2026-01306-mcp-oauth-command-injection.yaml +35 -87
  804. package/rules/tool-poisoning/ATR-2026-01307-mcp-dns-rebinding-attack.yaml +36 -91
  805. package/rules/tool-poisoning/ATR-2026-01310-mcp-tool-description-compliance-history-exfil.yaml +40 -110
  806. package/rules/tool-poisoning/ATR-2026-01775-semantic-mcp-tool-manifest-poisoning.yaml +51 -139
  807. package/rules/tool-poisoning/ATR-2026-01927-mcp-server-kubernetes-kubectl-command-injection.yaml +45 -109
  808. package/rules/tool-poisoning/ATR-2026-01928-framelink-figma-mcp-curl-fallback-command-injection.yaml +58 -164
  809. package/rules/tool-poisoning/ATR-2026-01930-mcp-sampling-prompt-injection.yaml +48 -129
  810. package/rules/tool-poisoning/ATR-2026-01931-gemini-mcp-tool-command-injection-file-exfil.yaml +42 -113
  811. package/rules/tool-poisoning/ATR-2026-01932-shadow-undeclared-mcp-server-registration.yaml +43 -106
  812. package/rules/tool-poisoning/ATR-2026-01935-litellm-custom-code-sandbox-escape-cve-2026-40217.yaml +44 -101
  813. package/rules/tool-poisoning/ATR-2026-01952-praisonai-codemode-sandbox-escape-rce.yaml +34 -70
  814. package/rules/tool-poisoning/ATR-2026-01953-praisonai-codemode-function-ctor-sandbox-escape.yaml +61 -79
  815. package/rules/tool-poisoning/ATR-2026-01959-openhuman-shell-allowlist-env-prefix-bypass.yaml +36 -123
  816. package/rules/tool-poisoning/ATR-2026-01963-praisonai-action-orchestrator-step-target-path-traversal-rce.yaml +61 -66
  817. package/rules/tool-poisoning/ATR-2026-01965-flowise-custommcp-os-command-rce.yaml +39 -80
  818. package/rules/tool-poisoning/ATR-2026-01967-deepchat-mermaid-xss-rce-ipc-mcp-register.yaml +58 -66
  819. package/rules/tool-poisoning/ATR-2026-01968-deepchat-markdown-deeplink-openexternal-rce-bypass.yaml +44 -92
  820. package/rules/tool-poisoning/ATR-2026-01970-praisonai-filetools-normpath-path-traversal.yaml +64 -84
  821. package/rules/tool-poisoning/ATR-2026-01973-anythingllm-logo-endpoint-path-traversal.yaml +57 -64
  822. package/rules/tool-poisoning/ATR-2026-01978-anythingllm-collector-process-filename-path-traversal-delete.yaml +58 -64
  823. package/rules/tool-poisoning/ATR-2026-01979-pandasai-prompt-injection-dunder-sandbox-escape-rce.yaml +60 -72
  824. package/rules/tool-poisoning/ATR-2026-01980-agentic-flow-mcp-tool-param-command-injection.yaml +49 -99
  825. package/rules/tool-poisoning/ATR-2026-01982-dbt-mcp-node-selection-argument-injection.yaml +49 -102
  826. package/rules/tool-poisoning/ATR-2026-01983-mcp-for-stata-log-file-name-command-injection.yaml +43 -110
  827. package/rules/tool-poisoning/ATR-2026-01985-mcp-connect-bridge-unauth-process-spawn-rce.yaml +41 -115
  828. package/rules/tool-poisoning/ATR-2026-01987-langroid-sqlchatagent-prompt-to-sql-rce.yaml +53 -110
  829. package/rules/tool-poisoning/ATR-2026-02021-mcp-inspector-unauthenticated-proxy-rce.yaml +48 -123
  830. package/rules/tool-poisoning/ATR-2026-02022-curxecute-cursor-mcp-json-injected-server-rce.yaml +51 -131
  831. package/rules/tool-poisoning/ATR-2026-02023-escaperoute-filesystem-mcp-prefix-bypass.yaml +48 -129
  832. package/rules/tool-poisoning/ATR-2026-02024-escaperoute-filesystem-mcp-symlink-launchagent.yaml +49 -128
  833. package/rules/tool-poisoning/ATR-2026-02025-mcp-full-schema-poisoning-nondescription-field.yaml +50 -142
  834. package/rules/tool-poisoning/ATR-2026-02027-diagnostic-content-remediation-command-injection.yaml +58 -72
  835. package/rules/tool-poisoning/ATR-2026-02041-shell-injection-echo-marker-poc.yaml +32 -93
  836. package/rules/tool-poisoning/ATR-2026-02102-html-injection-tool-arg-approval-ui-xss.yaml +33 -107
  837. package/rules/tool-poisoning/ATR-2026-02141-mcp-server-config-command-execution.yaml +42 -107
  838. package/rules/tool-poisoning/ATR-2026-02145-python-sandbox-escape-generator-frame-introspection.yaml +36 -105
  839. package/rules/tool-poisoning/ATR-2026-02193-ssrf-ipv6-noncanonical-loopback-bypass.yaml +35 -86
  840. package/rules/tool-poisoning/ATR-2026-02194-go-init-func-process-exec-codegen-rce.yaml +35 -83
  841. package/rules/tool-poisoning/ATR-2026-02233-unscoped-destructive-db-request-nl.yaml +34 -95
  842. package/rules/tool-poisoning/ATR-2026-02260-agentjacking-remediation-framed-execution.yaml +42 -107
  843. package/rules/tool-poisoning/ATR-2026-02263-workflow-sql-template-expression-injection.yaml +35 -119
  844. package/rules/tool-poisoning/ATR-2026-02350-mcp-json-rpc-case-duplicate-key-tool-smuggling.yaml +34 -100
  845. package/rules/tool-poisoning/ATR-2026-02352-imap-search-command-injection-email-tool-args.yaml +32 -93
  846. package/rules/tool-poisoning/ATR-2026-02372-unsigned-task-feed-npm-npx-lifecycle-rce.yaml +39 -101
  847. package/rules/tool-poisoning/ATR-2026-02376-tool-description-conversational-trigger-history-exfil.yaml +33 -84
  848. package/rules/tool-poisoning/ATR-2026-02403-mcp-external-content-missing-spotlighting.yaml +52 -282
  849. package/rules/tool-poisoning/ATR-2026-02514-mcp-server-metadata-url-html-breakout.yaml +105 -0
  850. package/rules/tool-poisoning/ATR-2026-02542-pipeline-query-stage-injection.yaml +95 -0
  851. package/rules/tool-poisoning/ATR-2026-02557-shell-separator-in-path-typed-tool-argument.yaml +112 -0
  852. package/rules/tool-poisoning/ATR-2026-02666-url-userinfo-decoy-host-allowlist-bypass.yaml +101 -0
  853. package/rules/tool-poisoning/ATR-2026-02668-vcs-ref-name-command-substitution.yaml +98 -0
  854. package/rules/tool-poisoning/ATR-2026-02669-query-pipeline-stage-in-identifier-parameter.yaml +88 -0
  855. package/rules/tool-poisoning/ATR-2026-02682-xml-entity-expansion-bomb.yaml +98 -0
  856. package/rules/tool-poisoning/ATR-2026-02707-crlf-header-injection-mail-tool-argument.yaml +88 -0
  857. package/spec/README.md +2 -2
  858. package/spec/atr-correlation-v1.0.md +16 -4
  859. package/spec/atr-profile-v1.0.md +11 -1
@@ -2,19 +2,9 @@ title: Zen MCP Server path-traversal blacklist bypass via non-canonical paths (C
2
2
  id: ATR-2026-00578
3
3
  rule_version: 1
4
4
  status: experimental
5
- description: >
6
- CVE-2025-66689 (CWE-22). The Zen MCP server's is_dangerous_path() blocks
7
- sensitive files with an exact-string blacklist but never canonicalizes the
8
- path before comparison, so a path that still resolves to a protected target
9
- slips through when it is wrapped in normalization tricks: a blacklisted
10
- prefix followed by ../ (/etc/shadow/../../../home/user/.ssh/id_rsa), a
11
- same-directory bounce (/home/user/.ssh/../.ssh/id_rsa), a /./ no-op
12
- (/etc/./shadow), or redundant slashes (/etc//shadow). The discriminator from
13
- the existing deep-../-chain rule (ATR-2026-00569) and the clean-credential-path
14
- rule (ATR-2026-00113) is that the SENSITIVE target token sits immediately
15
- adjacent to a normalization/traversal artefact — neither a clean credential
16
- path nor a bare ../ chain alone matches here.
17
- author: "ATR Community (vulnerablemcp sync)"
5
+ description: |
6
+ CVE-2025-66689 (CWE-22). The Zen MCP server's is_dangerous_path() blocks sensitive files with an exact-string blacklist but never canonicalizes the path before comparison, so a path that still resolves to a protected target slips through when it is wrapped in normalization tricks: a blacklisted prefix followed by ../ (/etc/shadow/../../../home/user/.ssh/id_rsa), a same-directory bounce (/home/user/.ssh/../.ssh/id_rsa), a /./ no-op (/etc/./shadow), or redundant slashes (/etc//shadow). The discriminator from the existing deep-../-chain rule (ATR-2026-00569) and the clean-credential-path rule (ATR-2026-00113) is that the SENSITIVE target token sits immediately adjacent to a normalization/traversal artefact — neither a clean credential path nor a bare ../ chain alone matches here.
7
+ author: ATR Community (vulnerablemcp sync)
18
8
  date: 2026/06/12
19
9
  schema_version: '0.1'
20
10
  detection_tier: pattern
@@ -22,22 +12,22 @@ maturity: test
22
12
  severity: high
23
13
  references:
24
14
  owasp_llm:
25
- - "LLM07:2025"
26
- - "LLM02:2025"
15
+ - LLM07:2025
16
+ - LLM02:2025
27
17
  owasp_agentic:
28
- - "ASI05:2026"
29
- - "ASI06:2026"
18
+ - ASI05:2026
19
+ - ASI06:2026
30
20
  mitre_atlas:
31
- - "AML.T0057 - LLM Data Leakage"
32
- - "AML.T0056 - Extract LLM System Prompt"
21
+ - AML.T0057 - LLM Data Leakage
22
+ - AML.T0056 - Extract LLM System Prompt
33
23
  cve:
34
- - CVE-2025-66689
24
+ - CVE-2025-66689
35
25
  cwe:
36
- - CWE-22
26
+ - CWE-22
37
27
  vulnerablemcp_id:
38
- - cve-2025-66689-zen-mcp-path-traversal
28
+ - cve-2025-66689-zen-mcp-path-traversal
39
29
  external:
40
- - https://www.sentinelone.com/vulnerability-database/cve-2025-66689/
30
+ - https://www.sentinelone.com/vulnerability-database/cve-2025-66689/
41
31
  metadata_provenance:
42
32
  cve: vulnerablemcp-sync
43
33
  cwe: vulnerablemcp-sync
@@ -45,42 +35,41 @@ metadata_provenance:
45
35
  compliance:
46
36
  owasp_agentic:
47
37
  - id: ASI06:2026
48
- context: "OWASP Agentic ASI06:2026 is exercised by path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689); this rule provides runtime detection of that technique."
38
+ context: OWASP Agentic ASI06:2026 is exercised by path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689); this rule provides runtime detection of that technique.
49
39
  strength: primary
50
40
  - id: ASI05:2026
51
- context: "OWASP Agentic ASI05:2026 is exercised by path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689); this rule provides runtime detection of that technique."
41
+ context: OWASP Agentic ASI05:2026 is exercised by path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689); this rule provides runtime detection of that technique.
52
42
  strength: secondary
53
43
  owasp_llm:
54
44
  - id: LLM02:2025
55
- context: "OWASP LLM LLM02:2025 is exercised by path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689); this rule is a detection implementation for that category."
45
+ context: OWASP LLM LLM02:2025 is exercised by path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689); this rule is a detection implementation for that category.
56
46
  strength: primary
57
47
  - id: LLM07:2025
58
- context: "OWASP LLM LLM07:2025 is exercised by path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689); this rule is a detection implementation for that category."
48
+ context: OWASP LLM LLM07:2025 is exercised by path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689); this rule is a detection implementation for that category.
59
49
  strength: secondary
60
50
  eu_ai_act:
61
- - article: "15"
62
- context: "EU AI Act Article 15 (accuracy, robustness and cybersecurity) requires controls against path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689); this rule provides runtime detection evidence for that obligation."
51
+ - article: '15'
52
+ context: EU AI Act Article 15 (accuracy, robustness and cybersecurity) requires controls against path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689); this rule provides runtime detection evidence for that obligation.
63
53
  strength: primary
64
- - article: "10"
65
- context: "EU AI Act Article 10 (data and data governance) requires controls against path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689); this rule provides runtime detection evidence for that obligation."
54
+ - article: '10'
55
+ context: EU AI Act Article 10 (data and data governance) requires controls against path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689); this rule provides runtime detection evidence for that obligation.
66
56
  strength: secondary
67
57
  nist_ai_rmf:
68
58
  - function: Measure
69
59
  subcategory: MS.2.10
70
- context: "NIST AI RMF MS.2.10 (privacy risk examined and documented) is supported by this rule's detection of path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689)."
60
+ context: NIST AI RMF MS.2.10 (privacy risk examined and documented) is supported by this rule's detection of path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689).
71
61
  strength: primary
72
62
  - function: Measure
73
63
  subcategory: MS.2.7
74
- context: "NIST AI RMF MS.2.7 (security and resilience evaluated and documented) is supported by this rule's detection of path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689)."
64
+ context: NIST AI RMF MS.2.7 (security and resilience evaluated and documented) is supported by this rule's detection of path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689).
75
65
  strength: secondary
76
66
  iso_42001:
77
- - clause: "8.4"
78
- context: "ISO/IEC 42001 Clause 8.4 (AI system impact assessment) is operationalised by this rule's detection of path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689)."
67
+ - clause: '8.4'
68
+ context: ISO/IEC 42001 Clause 8.4 (AI system impact assessment) is operationalised by this rule's detection of path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689).
79
69
  strength: primary
80
- - clause: "9.1"
81
- context: "ISO/IEC 42001 Clause 9.1 (monitoring, measurement, analysis and evaluation) is operationalised by this rule's detection of path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689)."
70
+ - clause: '9.1'
71
+ context: ISO/IEC 42001 Clause 9.1 (monitoring, measurement, analysis and evaluation) is operationalised by this rule's detection of path-traversal blacklist bypass in Zen MCP Server that reads files outside the sandbox via non-canonical paths (CVE-2025-66689).
82
72
  strength: secondary
83
-
84
73
  tags:
85
74
  category: context-exfiltration
86
75
  subcategory: path-normalization-bypass
@@ -89,112 +78,43 @@ tags:
89
78
  agent_source:
90
79
  type: mcp_exchange
91
80
  framework:
92
- - any
81
+ - any
93
82
  provider:
94
- - any
83
+ - any
95
84
  detection:
96
85
  condition: any
97
86
  false_positives:
98
- - Documentation or tutorials that mention ../ relative imports without a sensitive credential/system target adjacent to it
99
- - Legitimate absolute file paths to project source under /home/<user>/project that contain no /../ , /./ , or redundant-slash artefact
100
- - Security write-ups quoting the CVE that describe canonicalization in prose rather than presenting an inline non-canonical path to a sensitive file
87
+ - Documentation or tutorials that mention ../ relative imports without a sensitive credential/system target adjacent to it
88
+ - Legitimate absolute file paths to project source under /home/<user>/project that contain no /../ , /./ , or redundant-slash artefact
89
+ - Security write-ups quoting the CVE that describe canonicalization in prose rather than presenting an inline non-canonical path to a sensitive file
101
90
  conditions:
102
- - field: content
103
- operator: regex
104
- value: (?i)[\\/](?:etc[\\/](?:shadow|passwd|sudoers)|\.ssh|\.aws|\.config[\\/]gcloud|root)[\\/]\.{1,2}[\\/]{1,2}[^\s"'<>]{0,80}(?:id_(?:rsa|ed25519|ecdsa)|\.ssh|shadow|passwd|credentials|authorized_keys|\.pem|\.key)
105
- description: Blacklisted sensitive prefix immediately followed by a ./ or ../ normalization hop that re-targets another sensitive file (Zen-MCP prefix-then-traversal bypass)
106
- - field: content
107
- operator: regex
108
- value: (?i)[\\/]etc[\\/]\.{1,2}[\\/]{1,2}(?:etc[\\/]){0,1}(?:shadow|passwd|sudoers)\b
109
- description: /etc/./shadow or /etc/../etc/shadow style same-dir or bounce normalization reaching an exact-blacklist target
110
- - field: content
111
- operator: regex
112
- value: (?i)[\\/]\.ssh[\\/]\.\.[\\/]\.ssh[\\/](?:id_(?:rsa|ed25519|ecdsa)|authorized_keys|known_hosts)\b
113
- description: .ssh/../.ssh/ same-directory bounce that re-resolves to an SSH private key while evading an exact ~/.ssh/id_rsa blacklist entry
114
- - field: content
115
- operator: regex
116
- value: (?i)/etc/{2,}(?:shadow|passwd|sudoers)\b|/\.ssh/{2,}id_(?:rsa|ed25519|ecdsa)\b
117
- description: Redundant FORWARD-slash variant (/etc//shadow , /.ssh//id_rsa) that defeats an exact-string blacklist while resolving to the protected file. Forward-slash only — backslash forms like \etc\\passwd are almost always doc/Windows-escaping in tutorials, not a unix redundant-slash bypass, and caused a wild FP.
91
+ - field: content
92
+ operator: regex
93
+ value: (?i)[\\/](?:etc[\\/](?:shadow|passwd|sudoers)|\.ssh|\.aws|\.config[\\/]gcloud|root)[\\/]\.{1,2}[\\/]{1,2}[^\s"'<>]{0,80}(?:id_(?:rsa|ed25519|ecdsa)|\.ssh|shadow|passwd|credentials|authorized_keys|\.pem|\.key)
94
+ description: Blacklisted sensitive prefix immediately followed by a ./ or ../ normalization hop that re-targets another sensitive file (Zen-MCP prefix-then-traversal bypass)
95
+ - field: content
96
+ operator: regex
97
+ value: (?i)[\\/]etc[\\/]\.{1,2}[\\/]{1,2}(?:etc[\\/]){0,1}(?:shadow|passwd|sudoers)\b
98
+ description: /etc/./shadow or /etc/../etc/shadow style same-dir or bounce normalization reaching an exact-blacklist target
99
+ - field: content
100
+ operator: regex
101
+ value: (?i)[\\/]\.ssh[\\/]\.\.[\\/]\.ssh[\\/](?:id_(?:rsa|ed25519|ecdsa)|authorized_keys|known_hosts)\b
102
+ description: .ssh/../.ssh/ same-directory bounce that re-resolves to an SSH private key while evading an exact ~/.ssh/id_rsa blacklist entry
103
+ - field: content
104
+ operator: regex
105
+ value: (?i)/etc/{2,}(?:shadow|passwd|sudoers)\b|/\.ssh/{2,}id_(?:rsa|ed25519|ecdsa)\b
106
+ description: Redundant FORWARD-slash variant (/etc//shadow , /.ssh//id_rsa) that defeats an exact-string blacklist while resolving to the protected file. Forward-slash only — backslash forms like \etc\\passwd are almost always doc/Windows-escaping in tutorials, not a unix redundant-slash bypass, and caused a wild FP.
118
107
  response:
119
108
  actions:
120
- - alert
121
- - block_tool
122
- message_template: >
123
- [ATR-2026-00578] Non-canonical path to a sensitive file detected
124
- (CVE-2025-66689, Zen MCP is_dangerous_path blacklist bypass). The path mixes
125
- a sensitive target (SSH key, /etc/shadow, credentials) with a normalization
126
- or traversal artefact (../ , /./ , redundant slash, blacklisted-prefix-then-..)
127
- that evades exact-string blacklists while still resolving to the protected
128
- file. Remediation: upgrade Zen MCP server to v9.8.2 or later; canonicalize
129
- paths (resolve symlinks, normalize . and ..) BEFORE any security check; prefer
130
- an allowlist of permitted directories over a sensitive-path blacklist.
109
+ - alert
110
+ - block_tool
111
+ message_template: |
112
+ [ATR-2026-00578] Non-canonical path to a sensitive file detected (CVE-2025-66689, Zen MCP is_dangerous_path blacklist bypass). The path mixes a sensitive target (SSH key, /etc/shadow, credentials) with a normalization or traversal artefact (../ , /./ , redundant slash, blacklisted-prefix-then-..) that evades exact-string blacklists while still resolving to the protected file. Remediation: upgrade Zen MCP server to v9.8.2 or later; canonicalize paths (resolve symlinks, normalize . and ..) BEFORE any security check; prefer an allowlist of permitted directories over a sensitive-path blacklist.
131
113
  notify:
132
- - security_team
114
+ - security_team
133
115
  confidence: 85
134
- test_cases:
135
- true_positives:
136
- - input: '{"path": "/etc/shadow/../../../home/user/.ssh/id_rsa"}'
137
- expected: triggered
138
- description: Blacklisted /etc/shadow prefix then ../ chain re-targeting an SSH private key (CVE-2025-66689 PoC)
139
- - input: read_file("/home/user/.ssh/../.ssh/id_rsa")
140
- expected: triggered
141
- description: .ssh/../.ssh/ same-directory bounce evading exact ~/.ssh/id_rsa blacklist
142
- - input: 'requested file: /etc/./shadow'
143
- expected: triggered
144
- description: /etc/./shadow no-op normalization reaching exact blacklist target
145
- - input: open("/etc//shadow")
146
- expected: triggered
147
- description: Redundant-slash variant defeating exact-string match on /etc/shadow
148
- - input: '{"file": "/root/.ssh/../.ssh/id_ed25519"}'
149
- expected: triggered
150
- description: root .ssh bounce to ed25519 private key
151
- - input: path=/etc/../etc/passwd
152
- expected: triggered
153
- description: /etc/../etc/passwd bounce normalization to /etc/passwd
154
- - input: load("/home/user/.aws/../.ssh/id_rsa")
155
- expected: triggered
156
- description: Blacklisted .aws prefix then ../ hop re-targeting an SSH key
157
- true_negatives:
158
- - input: path = "/home/user/project/main.py"
159
- expected: not_triggered
160
- description: Legit absolute project source path, no normalization artefact or sensitive target
161
- - input: import "../../shared/utils"
162
- expected: not_triggered
163
- description: Normal relative import path, no sensitive credential/system target
164
- - input: To go up a directory in the tutorial, use ../ before the folder name.
165
- expected: not_triggered
166
- description: Documentation sentence mentioning ../ with no sensitive target adjacent
167
- - input: CVE-2025-66689 is fixed by canonicalizing paths before the blacklist check in is_dangerous_path().
168
- expected: not_triggered
169
- description: CVE patch-discussion prose, describes the fix without an inline non-canonical sensitive path
170
- - input: We studied path-traversal bypasses where attackers reach SSH keys via redundant slashes and dot segments.
171
- expected: not_triggered
172
- description: Research abstract describing the technique in prose, no literal payload
173
- - input: ssh-keygen -lf ~/.ssh/id_rsa
174
- expected: not_triggered
175
- description: Clean ~/.ssh/id_rsa path with no traversal/normalization artefact (owned by ATR-2026-00113)
176
- - input: relpath = "../../../build/output/lib.so"
177
- expected: not_triggered
178
- description: Deep ../ chain to a build artefact, not a sensitive target (no overlap with ATR-2026-00569 either)
179
- - input: cp /etc/passwd.bak /home/user/backup/passwd.copy
180
- expected: not_triggered
181
- description: Backup copy of passwd-like files via clean absolute paths, no normalization artefact
182
- - input: 'In this lab, requesting \etc\\passwd demonstrates the path-traversal example.'
183
- expected: not_triggered
184
- description: Security-education skill quoting a backslash-escaped \etc\passwd example (wild FP from skills-sh/sickn33 file-path-traversal.md) — backslash form is doc-escaping, not a unix redundant-slash bypass
185
116
  _llm_authored:
186
117
  model: claude (gstack subagent)
187
- generalization_note: >
188
- Generalizes the Zen-MCP is_dangerous_path() exact-blacklist bypass beyond the
189
- two literal PoCs (/home/user/.ssh/../.ssh/id_rsa and /etc/./shadow) by keying
190
- on the structural invariant of the bug class: a SENSITIVE target token
191
- (id_rsa/ed25519/ecdsa, /etc/shadow|passwd|sudoers, credentials, authorized_keys,
192
- .pem/.key) appearing ADJACENT to a path-normalization artefact (blacklisted
193
- prefix then ../ , same-dir .ssh/../.ssh/ bounce, /./ no-op, /etc/../etc bounce,
194
- or redundant slashes). This is deliberately disjoint from ATR-2026-00569
195
- (requires 2+ consecutive ../ hops to a system target — a clean deep chain, no
196
- prefix/bounce/normalization adjacency) and from ATR-2026-00113 (clean
197
- credential paths with no traversal), so a bare ../ chain or a clean
198
- ~/.ssh/id_rsa does not trigger this rule. Bounded {0,80}/{1,2} spans keep the
199
- regex linear and avoid catastrophic backtracking.
118
+ generalization_note: |
119
+ Generalizes the Zen-MCP is_dangerous_path() exact-blacklist bypass beyond the two literal PoCs (/home/user/.ssh/../.ssh/id_rsa and /etc/./shadow) by keying on the structural invariant of the bug class: a SENSITIVE target token (id_rsa/ed25519/ecdsa, /etc/shadow|passwd|sudoers, credentials, authorized_keys, .pem/.key) appearing ADJACENT to a path-normalization artefact (blacklisted prefix then ../ , same-dir .ssh/../.ssh/ bounce, /./ no-op, /etc/../etc bounce, or redundant slashes). This is deliberately disjoint from ATR-2026-00569 (requires 2+ consecutive ../ hops to a system target — a clean deep chain, no prefix/bounce/normalization adjacency) and from ATR-2026-00113 (clean credential paths with no traversal), so a bare ../ chain or a clean ~/.ssh/id_rsa does not trigger this rule. Bounded {0,80}/{1,2} spans keep the regex linear and avoid catastrophic backtracking.
200
120
  note: Generation-time authoring; verified by deterministic gate. Runtime detection is pure regex. Human review required before merge.
@@ -2,25 +2,9 @@ title: MCP session ID / auth token placed in URL query string (session leak via
2
2
  id: ATR-2026-00580
3
3
  rule_version: 1
4
4
  status: experimental
5
- description: >
6
- Vulnerable MCP Project entry "session-ids-exposed-in-urls" (reported by
7
- Equixly). An MCP server, gateway, or client construction embeds a session
8
- identifier or auth credential in the URL QUERY STRING rather than in a
9
- request header or POST body — e.g. GET /messages/?sessionId=<uuid>,
10
- https://mcp.example.com/sse?session_id=<value>, or a config "url" field with
11
- ?access_token=/?api_key=. URLs are routinely logged by web servers, proxies,
12
- CDNs, and browser history, and are leaked in HTTP Referer headers on outbound
13
- navigation, so a credential in the query string is an exposed credential —
14
- enabling session hijack and context exfiltration. The discriminator from the
15
- generic secret-assignment rule (ATR-2026-00021, which matches any
16
- api_key=/access_token= at-rest assignment) and from the markdown-image-exfil
17
- rules (00261/00405/00501, which key on ![](url?param=) image/link syntax) is
18
- that THIS rule requires a session/auth credential keyword to sit in the QUERY
19
- STRING of an http(s)/ws(s) URL or an MCP-shaped relative endpoint
20
- (/messages, /sse, /mcp, or a config url= field) with a realistic (12+ char)
21
- credential value — not a credential assigned to an env var, not a path
22
- segment like /api-keys, and not a doc placeholder like ?session_token=5e9...
23
- author: "ATR Community (vulnerablemcp sync)"
5
+ description: |
6
+ Vulnerable MCP Project entry "session-ids-exposed-in-urls" (reported by Equixly). An MCP server, gateway, or client construction embeds a session identifier or auth credential in the URL QUERY STRING rather than in a request header or POST body — e.g. GET /messages/?sessionId=<uuid>, https://mcp.example.com/sse?session_id=<value>, or a config "url" field with ?access_token=/?api_key=. URLs are routinely logged by web servers, proxies, CDNs, and browser history, and are leaked in HTTP Referer headers on outbound navigation, so a credential in the query string is an exposed credential — enabling session hijack and context exfiltration. The discriminator from the generic secret-assignment rule (ATR-2026-00021, which matches any api_key=/access_token= at-rest assignment) and from the markdown-image-exfil rules (00261/00405/00501, which key on ![](url?param=) image/link syntax) is that THIS rule requires a session/auth credential keyword to sit in the QUERY STRING of an http(s)/ws(s) URL or an MCP-shaped relative endpoint (/messages, /sse, /mcp, or a config url= field) with a realistic (12+ char) credential value — not a credential assigned to an env var, not a path segment like /api-keys, and not a doc placeholder like ?session_token=5e9...
7
+ author: ATR Community (vulnerablemcp sync)
24
8
  date: 2026/06/12
25
9
  schema_version: '0.1'
26
10
  detection_tier: pattern
@@ -28,59 +12,58 @@ maturity: test
28
12
  severity: high
29
13
  references:
30
14
  owasp_llm:
31
- - "LLM07:2025"
32
- - "LLM02:2025"
15
+ - LLM07:2025
16
+ - LLM02:2025
33
17
  owasp_agentic:
34
- - "ASI05:2026"
35
- - "ASI06:2026"
18
+ - ASI05:2026
19
+ - ASI06:2026
36
20
  mitre_atlas:
37
- - "AML.T0057 - LLM Data Leakage"
38
- - "AML.T0056 - Extract LLM System Prompt"
21
+ - AML.T0057 - LLM Data Leakage
22
+ - AML.T0056 - Extract LLM System Prompt
39
23
  vulnerablemcp_id:
40
- - session-ids-exposed-in-urls
24
+ - session-ids-exposed-in-urls
41
25
  external:
42
- - https://equixly.com/blog/2025/03/29/mcp-server-new-security-nightmare/
26
+ - https://equixly.com/blog/2025/03/29/mcp-server-new-security-nightmare/
43
27
  metadata_provenance:
44
28
  vulnerablemcp: vulnerablemcp-sync
45
29
  compliance:
46
30
  owasp_agentic:
47
31
  - id: ASI06:2026
48
- context: "OWASP Agentic ASI06:2026 is exercised by leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history); this rule provides runtime detection of that technique."
32
+ context: OWASP Agentic ASI06:2026 is exercised by leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history); this rule provides runtime detection of that technique.
49
33
  strength: primary
50
34
  - id: ASI05:2026
51
- context: "OWASP Agentic ASI05:2026 is exercised by leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history); this rule provides runtime detection of that technique."
35
+ context: OWASP Agentic ASI05:2026 is exercised by leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history); this rule provides runtime detection of that technique.
52
36
  strength: secondary
53
37
  owasp_llm:
54
38
  - id: LLM02:2025
55
- context: "OWASP LLM LLM02:2025 is exercised by leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history); this rule is a detection implementation for that category."
39
+ context: OWASP LLM LLM02:2025 is exercised by leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history); this rule is a detection implementation for that category.
56
40
  strength: primary
57
41
  - id: LLM07:2025
58
- context: "OWASP LLM LLM07:2025 is exercised by leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history); this rule is a detection implementation for that category."
42
+ context: OWASP LLM LLM07:2025 is exercised by leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history); this rule is a detection implementation for that category.
59
43
  strength: secondary
60
44
  eu_ai_act:
61
- - article: "15"
62
- context: "EU AI Act Article 15 (accuracy, robustness and cybersecurity) requires controls against leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history); this rule provides runtime detection evidence for that obligation."
45
+ - article: '15'
46
+ context: EU AI Act Article 15 (accuracy, robustness and cybersecurity) requires controls against leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history); this rule provides runtime detection evidence for that obligation.
63
47
  strength: primary
64
- - article: "10"
65
- context: "EU AI Act Article 10 (data and data governance) requires controls against leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history); this rule provides runtime detection evidence for that obligation."
48
+ - article: '10'
49
+ context: EU AI Act Article 10 (data and data governance) requires controls against leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history); this rule provides runtime detection evidence for that obligation.
66
50
  strength: secondary
67
51
  nist_ai_rmf:
68
52
  - function: Measure
69
53
  subcategory: MS.2.10
70
- context: "NIST AI RMF MS.2.10 (privacy risk examined and documented) is supported by this rule's detection of leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history)."
54
+ context: NIST AI RMF MS.2.10 (privacy risk examined and documented) is supported by this rule's detection of leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history).
71
55
  strength: primary
72
56
  - function: Measure
73
57
  subcategory: MS.2.7
74
- context: "NIST AI RMF MS.2.7 (security and resilience evaluated and documented) is supported by this rule's detection of leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history)."
58
+ context: NIST AI RMF MS.2.7 (security and resilience evaluated and documented) is supported by this rule's detection of leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history).
75
59
  strength: secondary
76
60
  iso_42001:
77
- - clause: "8.4"
78
- context: "ISO/IEC 42001 Clause 8.4 (AI system impact assessment) is operationalised by this rule's detection of leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history)."
61
+ - clause: '8.4'
62
+ context: ISO/IEC 42001 Clause 8.4 (AI system impact assessment) is operationalised by this rule's detection of leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history).
79
63
  strength: primary
80
- - clause: "9.1"
81
- context: "ISO/IEC 42001 Clause 9.1 (monitoring, measurement, analysis and evaluation) is operationalised by this rule's detection of leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history)."
64
+ - clause: '9.1'
65
+ context: ISO/IEC 42001 Clause 9.1 (monitoring, measurement, analysis and evaluation) is operationalised by this rule's detection of leakage of MCP session IDs and auth tokens placed in URL query strings (exposed via logs, referrer headers, and history).
82
66
  strength: secondary
83
-
84
67
  tags:
85
68
  category: context-exfiltration
86
69
  subcategory: session-credential-in-url-query
@@ -89,131 +72,38 @@ tags:
89
72
  agent_source:
90
73
  type: mcp_exchange
91
74
  framework:
92
- - any
75
+ - any
93
76
  provider:
94
- - any
77
+ - any
95
78
  detection:
96
79
  condition: any
97
80
  false_positives:
98
- - URLs with non-credential query parameters only (?page=2, ?q=search, ?city=NYC) — no session/auth credential keyword in the query string
99
- - Credential keyword as a documentation path segment (/api-keys, /access-tokens/, /settings/auth-tokens/) with no =value query parameter
100
- - 'Environment-variable or config assignment of a credential that is NOT inside a URL query (export API_KEY=..., SESSION_ID=... env, "Authorization: Bearer ..." header examples)'
101
- - Documentation placeholders with a redacted/short value (?session_token=5e9..., ?apiKey=KEY) — the 12+ char realistic-value bound excludes these
102
- - Uppercase or single-word placeholder token values (?access_token=ACCESS_TOKEN, ?apiKey=YOUR_API_KEY, ?sessionId=attacker_session, ?token=your_token_here) — the require-a-digit value shape excludes these, so API docs and security-teaching examples that show the pattern with a placeholder value do not match
103
- - Prose that mentions "session id in a URL" as a best-practice warning without an inline credential-bearing URL
81
+ - URLs with non-credential query parameters only (?page=2, ?q=search, ?city=NYC) — no session/auth credential keyword in the query string
82
+ - Credential keyword as a documentation path segment (/api-keys, /access-tokens/, /settings/auth-tokens/) with no =value query parameter
83
+ - 'Environment-variable or config assignment of a credential that is NOT inside a URL query (export API_KEY=..., SESSION_ID=... env, "Authorization: Bearer ..." header examples)'
84
+ - Documentation placeholders with a redacted/short value (?session_token=5e9..., ?apiKey=KEY) — the 12+ char realistic-value bound excludes these
85
+ - Uppercase or single-word placeholder token values (?access_token=ACCESS_TOKEN, ?apiKey=YOUR_API_KEY, ?sessionId=attacker_session, ?token=your_token_here) — the require-a-digit value shape excludes these, so API docs and security-teaching examples that show the pattern with a placeholder value do not match
86
+ - Prose that mentions "session id in a URL" as a best-practice warning without an inline credential-bearing URL
104
87
  conditions:
105
- - field: content
106
- operator: regex
107
- value: (?i)(?:https?|wss?):\/\/[A-Za-z0-9.@:\/_~%+-]{1,120}\?[A-Za-z0-9._~%+\/=&-]{0,80}?\b(?:session[_-]?id|sessionid|session[_-]?token|auth[_-]?token|access[_-]?token|api[_-]?key)=(?=[A-Za-z0-9._~+\/-]*[0-9])[A-Za-z0-9._~+\/-]{12,}
108
- description: A session/auth credential keyword carrying a realistic high-entropy (12+ char, contains a digit) value inside the query string of an http(s)/ws(s) URL (session leak via logs/referrer/history). The digit requirement excludes uppercase/word placeholders (ACCESS_TOKEN, YOUR_API_KEY, attacker_session) that survive the engine's case-insensitive matching.
109
- - field: content
110
- operator: regex
111
- value: (?i)\b(?:GET|POST|url["']?\s*[:=]\s*["']?)\s*\/[A-Za-z0-9._~%+\/-]{0,60}\?[A-Za-z0-9._~%+\/=&-]{0,60}?\b(?:session[_-]?id|sessionid|session[_-]?token|auth[_-]?token|access[_-]?token|api[_-]?key)=(?=[A-Za-z0-9._~+\/-]*[0-9])[A-Za-z0-9._~+\/-]{12,}
112
- description: An MCP/SSE-shaped relative endpoint (request line or config url field, e.g. GET /messages/?sessionId=..., url=/sse?session_id=...) carrying a realistic high-entropy credential (12+ char, contains a digit) in the query string
88
+ - field: content
89
+ operator: regex
90
+ value: (?i)(?:https?|wss?):\/\/[A-Za-z0-9.@:\/_~%+-]{1,120}\?[A-Za-z0-9._~%+\/=&-]{0,80}?\b(?:session[_-]?id|sessionid|session[_-]?token|auth[_-]?token|access[_-]?token|api[_-]?key)=(?=[A-Za-z0-9._~+\/-]*[0-9])[A-Za-z0-9._~+\/-]{12,}
91
+ description: A session/auth credential keyword carrying a realistic high-entropy (12+ char, contains a digit) value inside the query string of an http(s)/ws(s) URL (session leak via logs/referrer/history). The digit requirement excludes uppercase/word placeholders (ACCESS_TOKEN, YOUR_API_KEY, attacker_session) that survive the engine's case-insensitive matching.
92
+ - field: content
93
+ operator: regex
94
+ value: (?i)\b(?:GET|POST|url["']?\s*[:=]\s*["']?)\s*\/[A-Za-z0-9._~%+\/-]{0,60}\?[A-Za-z0-9._~%+\/=&-]{0,60}?\b(?:session[_-]?id|sessionid|session[_-]?token|auth[_-]?token|access[_-]?token|api[_-]?key)=(?=[A-Za-z0-9._~+\/-]*[0-9])[A-Za-z0-9._~+\/-]{12,}
95
+ description: An MCP/SSE-shaped relative endpoint (request line or config url field, e.g. GET /messages/?sessionId=..., url=/sse?session_id=...) carrying a realistic high-entropy credential (12+ char, contains a digit) in the query string
113
96
  response:
114
97
  actions:
115
- - alert
116
- - block_tool
117
- message_template: >
118
- [ATR-2026-00580] A session ID or auth credential is being placed in a URL
119
- query string (Vulnerable MCP "session-ids-exposed-in-urls", reported by
120
- Equixly). URLs are logged by servers, proxies, CDNs and browser history and
121
- leak via HTTP Referer headers, so a credential in the query string is an
122
- exposed credential — enabling MCP session hijack and context exfiltration.
123
- Remediation: never put session IDs or tokens in the URL. Send them in an
124
- HTTP header (Authorization: Bearer ...) or a POST request body; use
125
- short-lived, rotating session tokens; serve everything over HTTPS; and
126
- scrub session identifiers from proxy/server access logs.
98
+ - alert
99
+ - block_tool
100
+ message_template: |
101
+ [ATR-2026-00580] A session ID or auth credential is being placed in a URL query string (Vulnerable MCP "session-ids-exposed-in-urls", reported by Equixly). URLs are logged by servers, proxies, CDNs and browser history and leak via HTTP Referer headers, so a credential in the query string is an exposed credential — enabling MCP session hijack and context exfiltration. Remediation: never put session IDs or tokens in the URL. Send them in an HTTP header (Authorization: Bearer ...) or a POST request body; use short-lived, rotating session tokens; serve everything over HTTPS; and scrub session identifiers from proxy/server access logs.
127
102
  notify:
128
- - security_team
103
+ - security_team
129
104
  confidence: 82
130
- test_cases:
131
- true_positives:
132
- - input: https://mcp.example.com/sse?session_id=abc123def456ghi789
133
- expected: triggered
134
- description: MCP SSE endpoint URL with a session_id credential in the query string
135
- - input: 'GET /messages/?sessionId=550e8400-e29b-41d4-a716-446655440000'
136
- expected: triggered
137
- description: Canonical MCP SSE transport request line placing the session UUID in the URL query (Equixly PoC form)
138
- - input: 'endpoint: https://mcp.acme.io/connect?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9'
139
- expected: triggered
140
- description: MCP connect URL carrying a JWT access_token in the query string
141
- - input: '{"url": "https://gateway.tool.dev/mcp?api_key=sk-live-9f8e7d6c5b4a3210"}'
142
- expected: triggered
143
- description: MCP client config with the server api_key embedded in the URL query
144
- - input: wss://realtime.example.org/stream?auth_token=A1b2C3d4E5f6G7h8I9j0
145
- expected: triggered
146
- description: WebSocket MCP transport with an auth_token in the query string (logged by proxies/CDNs)
147
- - input: 'url=/sse?session_id=abc123def456ghi789jkl'
148
- expected: triggered
149
- description: Relative config url field placing a session_id in the SSE endpoint query string
150
- - input: 'POST /mcp/stream?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9'
151
- expected: triggered
152
- description: MCP stream request line with an access_token in the query string
153
- true_negatives:
154
- - input: https://api.example.com/search?q=hello&page=2
155
- expected: not_triggered
156
- description: Ordinary URL with only non-credential query params (q, page)
157
- - input: Use the Authorization Bearer header instead of putting the token in the URL.
158
- expected: not_triggered
159
- description: Remediation prose recommending header-based auth — no credential-bearing URL
160
- - input: SESSION_ID=local1234567890 set as an environment variable for the test runner
161
- expected: not_triggered
162
- description: Credential assigned to an env var, not inside a URL query string
163
- - input: wss://connect.browser-use.com?apiKey=KEY&proxyCountryCode=us
164
- expected: not_triggered
165
- description: Documented WebSocket URL whose apiKey value is the literal placeholder KEY (under the 12-char realistic-value bound)
166
- - input: https://connect.maton.ai/?session_token=5e9...
167
- expected: not_triggered
168
- description: Benign API doc with a redacted/truncated session_token placeholder (5e9... is under the 12-char realistic-value bound)
169
- - input: The session id should never be exposed in a URL query string per best practice.
170
- expected: not_triggered
171
- description: Best-practice warning prose mentioning the concept with no inline credential-bearing URL
172
- - input: https://accounts.google.com/o/oauth2/v2/auth?response_type=code&client_id=123&redirect_uri=https://app.example.com/callback
173
- expected: not_triggered
174
- description: Standard OAuth authorization-code redirect (response_type=code, no session/auth-token credential keyword in the query)
175
- - input: 'GET /v1/users?page=2&limit=50'
176
- expected: not_triggered
177
- description: Normal REST request line with pagination params, no credential in the query
178
- - input: 'documentation link: https://sentry.io/settings/auth-tokens/'
179
- expected: not_triggered
180
- description: Credential keyword appears only as a path segment (/auth-tokens/), not a =value query parameter
181
- - input: https://api.weixin.qq.com/cgi-bin/draft/add?access_token=ACCESS_TOKEN
182
- expected: not_triggered
183
- description: WeChat API documentation URL whose access_token value is the uppercase placeholder ACCESS_TOKEN — no digit, so the require-a-digit value shape excludes it (wild FP from real-skill scan)
184
- - input: https://target.com/login?SESSIONID=attacker_session
185
- expected: not_triggered
186
- description: Security-education example (broken-authentication.md) showing the session-fixation vuln with a teaching placeholder value attacker_session — no digit, excluded by value shape (wild FP from real-skill scan)
187
105
  _llm_authored:
188
106
  model: claude (gstack subagent)
189
- generalization_note: >
190
- Generalizes the Vulnerable MCP "session-ids-exposed-in-urls" advisory beyond
191
- its single canonical example (GET /messages/?sessionId=UUID) by keying on the
192
- structural invariant of the bug class: a session/auth credential keyword
193
- (session_id, sessionid, session_token, auth_token, access_token, api_key)
194
- appearing as a QUERY-STRING parameter (preceded by ? or & inside the query)
195
- of either an absolute http(s)/ws(s) URL (condition 1) or an MCP/SSE-shaped
196
- relative endpoint or config url field (condition 2), carrying a realistic
197
- 12+ character credential value that CONTAINS A DIGIT. Two precision
198
- discriminators stack: (1) the 12+ char length bound excludes short
199
- placeholders (?session_token=5e9..., ?apiKey=KEY); (2) the require-a-digit
200
- value shape — a (?=[A-Za-z0-9._~+/-]*[0-9]) lookahead before the value —
201
- excludes letters-only / uppercase placeholders. The digit requirement is
202
- deliberately chosen instead of a case-sensitive lowercase check because the
203
- ATR engine strips inline (?i) and applies the case-insensitive flag
204
- globally, so a [a-z] check would still match uppercase; a digit is the
205
- case-fold-stable signal. This drops the wild false positives found scanning
206
- 3115 real skills — a WeChat API doc (?access_token=ACCESS_TOKEN) and a
207
- security-teaching example (?SESSIONID=attacker_session) — plus the
208
- YOUR_API_KEY / your_token_here / REDACTED placeholder family, while still
209
- catching real UUIDs (550e8400-...), JWTs (eyJ...digits...) and live keys
210
- (sk-live-9f8e7d6c...), which all contain digits. Deliberately disjoint from
211
- ATR-2026-00021 (generic at-rest credential ASSIGNMENT, no URL-query
212
- requirement), from the markdown-image-exfil rules 00261/00405/00501 (which
213
- require ![](...) image/link markdown syntax), and from ATR-2026-00114
214
- (OAuth redirect_uri / forwarding-verb patterns). Path-segment credential
215
- keywords (/api-keys, /access-tokens/) and env-var assignments do not match
216
- because the credential must be a =value query parameter inside a URL.
217
- Bounded {0,80}/{0,60}/{1,120} spans keep the regex linear (no unbounded
218
- [^...]* or .*) and avoid catastrophic backtracking.
107
+ generalization_note: |
108
+ Generalizes the Vulnerable MCP "session-ids-exposed-in-urls" advisory beyond its single canonical example (GET /messages/?sessionId=UUID) by keying on the structural invariant of the bug class: a session/auth credential keyword (session_id, sessionid, session_token, auth_token, access_token, api_key) appearing as a QUERY-STRING parameter (preceded by ? or & inside the query) of either an absolute http(s)/ws(s) URL (condition 1) or an MCP/SSE-shaped relative endpoint or config url field (condition 2), carrying a realistic 12+ character credential value that CONTAINS A DIGIT. Two precision discriminators stack: (1) the 12+ char length bound excludes short placeholders (?session_token=5e9..., ?apiKey=KEY); (2) the require-a-digit value shape — a (?=[A-Za-z0-9._~+/-]*[0-9]) lookahead before the value — excludes letters-only / uppercase placeholders. The digit requirement is deliberately chosen instead of a case-sensitive lowercase check because the ATR engine strips inline (?i) and applies the case-insensitive flag globally, so a [a-z] check would still match uppercase; a digit is the case-fold-stable signal. This drops the wild false positives found scanning 3115 real skills — a WeChat API doc (?access_token=ACCESS_TOKEN) and a security-teaching example (?SESSIONID=attacker_session) — plus the YOUR_API_KEY / your_token_here / REDACTED placeholder family, while still catching real UUIDs (550e8400-...), JWTs (eyJ...digits...) and live keys (sk-live-9f8e7d6c...), which all contain digits. Deliberately disjoint from ATR-2026-00021 (generic at-rest credential ASSIGNMENT, no URL-query requirement), from the markdown-image-exfil rules 00261/00405/00501 (which require ![](...) image/link markdown syntax), and from ATR-2026-00114 (OAuth redirect_uri / forwarding-verb patterns). Path-segment credential keywords (/api-keys, /access-tokens/) and env-var assignments do not match because the credential must be a =value query parameter inside a URL. Bounded {0,80}/{0,60}/{1,120} spans keep the regex linear (no unbounded [^...]* or .*) and avoid catastrophic backtracking.
219
109
  note: Generation-time authoring; verified by deterministic gate. Runtime detection is pure regex. Human review required before merge.