@panguard-ai/atr 1.4.0 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +0 -0
- package/dist/engine.d.ts +9 -0
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +134 -4
- package/dist/engine.js.map +1 -1
- package/dist/types.d.ts +83 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/rules/agent-manipulation/{ATR-2026-030-cross-agent-attack.yaml → ATR-2026-00030-cross-agent-attack.yaml} +3 -1
- package/rules/agent-manipulation/{ATR-2026-032-goal-hijacking.yaml → ATR-2026-00032-goal-hijacking.yaml} +3 -1
- package/rules/agent-manipulation/{ATR-2026-074-cross-agent-privilege-escalation.yaml → ATR-2026-00074-cross-agent-privilege-escalation.yaml} +3 -1
- package/rules/agent-manipulation/{ATR-2026-076-inter-agent-message-spoofing.yaml → ATR-2026-00076-inter-agent-message-spoofing.yaml} +3 -1
- package/rules/agent-manipulation/{ATR-2026-077-human-trust-exploitation.yaml → ATR-2026-00077-human-trust-exploitation.yaml} +3 -1
- package/rules/agent-manipulation/{ATR-2026-108-consensus-sybil-attack.yaml → ATR-2026-00108-consensus-sybil-attack.yaml} +3 -1
- package/rules/agent-manipulation/{ATR-2026-116-a2a-message-validation.yaml → ATR-2026-00116-a2a-message-validation.yaml} +3 -1
- package/rules/agent-manipulation/{ATR-2026-117-agent-identity-spoofing.yaml → ATR-2026-00117-agent-identity-spoofing.yaml} +3 -1
- package/rules/agent-manipulation/{ATR-2026-118-approval-fatigue.yaml → ATR-2026-00118-approval-fatigue.yaml} +3 -1
- package/rules/agent-manipulation/{ATR-2026-119-social-engineering-via-agent.yaml → ATR-2026-00119-social-engineering-via-agent.yaml} +3 -1
- package/rules/agent-manipulation/ATR-2026-00132-casual-authority-escalation.yaml +99 -0
- package/rules/agent-manipulation/ATR-2026-00139-casual-authority-redirect.yaml +53 -0
- package/rules/context-exfiltration/{ATR-2026-020-system-prompt-leak.yaml → ATR-2026-00020-system-prompt-leak.yaml} +3 -1
- package/rules/context-exfiltration/{ATR-2026-021-api-key-exposure.yaml → ATR-2026-00021-api-key-exposure.yaml} +3 -1
- package/rules/context-exfiltration/{ATR-2026-075-agent-memory-manipulation.yaml → ATR-2026-00075-agent-memory-manipulation.yaml} +3 -1
- package/rules/context-exfiltration/{ATR-2026-102-disguised-analytics-exfiltration.yaml → ATR-2026-00102-disguised-analytics-exfiltration.yaml} +3 -1
- package/rules/context-exfiltration/{ATR-2026-113-credential-theft.yaml → ATR-2026-00113-credential-theft.yaml} +3 -1
- package/rules/context-exfiltration/{ATR-2026-114-oauth-token-abuse.yaml → ATR-2026-00114-oauth-token-abuse.yaml} +3 -1
- package/rules/context-exfiltration/{ATR-2026-115-env-var-harvesting.yaml → ATR-2026-00115-env-var-harvesting.yaml} +3 -1
- package/rules/context-exfiltration/ATR-2026-00136-tool-response-data-piggyback.yaml +100 -0
- package/rules/context-exfiltration/ATR-2026-00141-example-format-key-leak.yaml +52 -0
- package/rules/context-exfiltration/ATR-2026-00142-piggyback-transition-words.yaml +55 -0
- package/rules/context-exfiltration/ATR-2026-00145-obfuscated-key-disclosure.yaml +49 -0
- package/rules/context-exfiltration/ATR-2026-00146-env-var-existence-probe.yaml +49 -0
- package/rules/data-poisoning/{ATR-2026-070-data-poisoning.yaml → ATR-2026-00070-data-poisoning.yaml} +3 -1
- package/rules/excessive-autonomy/{ATR-2026-050-runaway-agent-loop.yaml → ATR-2026-00050-runaway-agent-loop.yaml} +3 -1
- package/rules/excessive-autonomy/{ATR-2026-051-resource-exhaustion.yaml → ATR-2026-00051-resource-exhaustion.yaml} +3 -1
- package/rules/excessive-autonomy/{ATR-2026-052-cascading-failure.yaml → ATR-2026-00052-cascading-failure.yaml} +3 -1
- package/rules/excessive-autonomy/{ATR-2026-098-unauthorized-financial-action.yaml → ATR-2026-00098-unauthorized-financial-action.yaml} +3 -1
- package/rules/excessive-autonomy/{ATR-2026-099-high-risk-tool-gate.yaml → ATR-2026-00099-high-risk-tool-gate.yaml} +3 -1
- package/rules/model-security/{ATR-2026-072-model-behavior-extraction.yaml → ATR-2026-00072-model-behavior-extraction.yaml} +3 -1
- package/rules/model-security/{ATR-2026-073-malicious-finetuning-data.yaml → ATR-2026-00073-malicious-finetuning-data.yaml} +3 -1
- package/rules/privilege-escalation/{ATR-2026-040-privilege-escalation.yaml → ATR-2026-00040-privilege-escalation.yaml} +3 -1
- package/rules/privilege-escalation/{ATR-2026-041-scope-creep.yaml → ATR-2026-00041-scope-creep.yaml} +3 -1
- package/rules/privilege-escalation/{ATR-2026-107-delayed-execution-bypass.yaml → ATR-2026-00107-delayed-execution-bypass.yaml} +3 -1
- package/rules/privilege-escalation/{ATR-2026-110-eval-injection.yaml → ATR-2026-00110-eval-injection.yaml} +3 -1
- package/rules/privilege-escalation/{ATR-2026-111-shell-escape.yaml → ATR-2026-00111-shell-escape.yaml} +5 -3
- package/rules/privilege-escalation/{ATR-2026-112-dynamic-import-exploitation.yaml → ATR-2026-00112-dynamic-import-exploitation.yaml} +3 -1
- package/rules/privilege-escalation/ATR-2026-00143-casual-privilege-escalation.yaml +53 -0
- package/rules/privilege-escalation/ATR-2026-00144-rationalized-safety-bypass.yaml +49 -0
- package/rules/prompt-injection/{ATR-2026-001-direct-prompt-injection.yaml → ATR-2026-00001-direct-prompt-injection.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-002-indirect-prompt-injection.yaml → ATR-2026-00002-indirect-prompt-injection.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-003-jailbreak-attempt.yaml → ATR-2026-00003-jailbreak-attempt.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-004-system-prompt-override.yaml → ATR-2026-00004-system-prompt-override.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-005-multi-turn-injection.yaml → ATR-2026-00005-multi-turn-injection.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-080-encoding-evasion.yaml → ATR-2026-00080-encoding-evasion.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-081-semantic-multi-turn.yaml → ATR-2026-00081-semantic-multi-turn.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-082-fingerprint-evasion.yaml → ATR-2026-00082-fingerprint-evasion.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-083-indirect-tool-injection.yaml → ATR-2026-00083-indirect-tool-injection.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-084-structured-data-injection.yaml → ATR-2026-00084-structured-data-injection.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-085-audit-evasion.yaml → ATR-2026-00085-audit-evasion.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-086-visual-spoofing.yaml → ATR-2026-00086-visual-spoofing.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-087-rule-probing.yaml → ATR-2026-00087-rule-probing.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-088-adaptive-countermeasure.yaml → ATR-2026-00088-adaptive-countermeasure.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-089-polymorphic-skill.yaml → ATR-2026-00089-polymorphic-skill.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-090-threat-intel-exfil.yaml → ATR-2026-00090-threat-intel-exfil.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-091-nested-payload.yaml → ATR-2026-00091-nested-payload.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-092-consensus-poisoning.yaml → ATR-2026-00092-consensus-poisoning.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-093-gradual-escalation.yaml → ATR-2026-00093-gradual-escalation.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-094-audit-bypass.yaml → ATR-2026-00094-audit-bypass.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-097-cjk-injection-patterns.yaml → ATR-2026-00097-cjk-injection-patterns.yaml} +3 -1
- package/rules/prompt-injection/{ATR-2026-104-persona-hijacking.yaml → ATR-2026-00104-persona-hijacking.yaml} +3 -1
- package/rules/prompt-injection/ATR-2026-00130-indirect-authority-claim.yaml +97 -0
- package/rules/prompt-injection/ATR-2026-00131-fictional-academic-framing.yaml +93 -0
- package/rules/prompt-injection/ATR-2026-00133-paraphrase-injection.yaml +111 -0
- package/rules/prompt-injection/ATR-2026-00137-authority-claim-injection.yaml +52 -0
- package/rules/prompt-injection/ATR-2026-00138-fictional-framing-bypass.yaml +51 -0
- package/rules/prompt-injection/ATR-2026-00140-indirect-reference-reversal.yaml +52 -0
- package/rules/prompt-injection/ATR-2026-00148-language-switch-injection.yaml +71 -0
- package/rules/skill-compromise/{ATR-2026-060-skill-impersonation.yaml → ATR-2026-00060-skill-impersonation.yaml} +3 -1
- package/rules/skill-compromise/{ATR-2026-061-description-behavior-mismatch.yaml → ATR-2026-00061-description-behavior-mismatch.yaml} +3 -1
- package/rules/skill-compromise/{ATR-2026-062-hidden-capability.yaml → ATR-2026-00062-hidden-capability.yaml} +3 -1
- package/rules/skill-compromise/{ATR-2026-063-skill-chain-attack.yaml → ATR-2026-00063-skill-chain-attack.yaml} +5 -2
- package/rules/skill-compromise/{ATR-2026-064-over-permissioned-skill.yaml → ATR-2026-00064-over-permissioned-skill.yaml} +3 -1
- package/rules/skill-compromise/{ATR-2026-065-skill-update-attack.yaml → ATR-2026-00065-skill-update-attack.yaml} +3 -1
- package/rules/skill-compromise/{ATR-2026-066-parameter-injection.yaml → ATR-2026-00066-parameter-injection.yaml} +3 -1
- package/rules/skill-compromise/ATR-2026-00120-skill-instruction-injection.yaml +121 -0
- package/rules/skill-compromise/ATR-2026-00121-skill-dangerous-script.yaml +165 -0
- package/rules/skill-compromise/ATR-2026-00122-skill-weaponized-instruction.yaml +114 -0
- package/rules/skill-compromise/ATR-2026-00123-skill-overreach-permissions.yaml +118 -0
- package/rules/skill-compromise/ATR-2026-00124-skill-name-squatting.yaml +98 -0
- package/rules/skill-compromise/ATR-2026-00125-context-poisoning-compaction.yaml +93 -0
- package/rules/skill-compromise/ATR-2026-00126-skill-rug-pull-setup.yaml +99 -0
- package/rules/skill-compromise/ATR-2026-00127-subcommand-overflow.yaml +74 -0
- package/rules/skill-compromise/ATR-2026-00128-html-comment-hidden-payload.yaml +79 -0
- package/rules/skill-compromise/ATR-2026-00129-unicode-smuggling.yaml +73 -0
- package/rules/skill-compromise/ATR-2026-00134-fork-claim-impersonation.yaml +86 -0
- package/rules/skill-compromise/ATR-2026-00135-exfil-url-in-instructions.yaml +82 -0
- package/rules/skill-compromise/ATR-2026-00147-fork-impersonation.yaml +48 -0
- package/rules/tool-poisoning/{ATR-2026-010-mcp-malicious-response.yaml → ATR-2026-00010-mcp-malicious-response.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-011-tool-output-injection.yaml → ATR-2026-00011-tool-output-injection.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-012-unauthorized-tool-call.yaml → ATR-2026-00012-unauthorized-tool-call.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-013-tool-ssrf.yaml → ATR-2026-00013-tool-ssrf.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-095-supply-chain-poisoning.yaml → ATR-2026-00095-supply-chain-poisoning.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-096-registry-poisoning.yaml → ATR-2026-00096-registry-poisoning.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-100-consent-bypass-instruction.yaml → ATR-2026-00100-consent-bypass-instruction.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-101-trust-escalation-override.yaml → ATR-2026-00101-trust-escalation-override.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-103-hidden-safety-bypass-instruction.yaml → ATR-2026-00103-hidden-safety-bypass-instruction.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-105-silent-action-concealment.yaml → ATR-2026-00105-silent-action-concealment.yaml} +3 -1
- package/rules/tool-poisoning/{ATR-2026-106-schema-description-contradiction.yaml → ATR-2026-00106-schema-description-contradiction.yaml} +3 -1
- package/spec/atr-schema.yaml +59 -29
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Agent Resource Exhaustion Detection"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00051
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: experimental
|
|
4
5
|
description: |
|
|
5
6
|
Detects when an agent causes resource exhaustion through bulk operations,
|
|
@@ -29,6 +30,7 @@ references:
|
|
|
29
30
|
tags:
|
|
30
31
|
category: excessive-autonomy
|
|
31
32
|
subcategory: resource-exhaustion
|
|
33
|
+
scan_target: mcp
|
|
32
34
|
confidence: medium
|
|
33
35
|
|
|
34
36
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Cascading Failure Detection in Agent Pipelines"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00052
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: experimental
|
|
4
5
|
description: |
|
|
5
6
|
Detects cascading failure patterns in automated agent pipelines where
|
|
@@ -30,6 +31,7 @@ references:
|
|
|
30
31
|
tags:
|
|
31
32
|
category: excessive-autonomy
|
|
32
33
|
subcategory: cascading-failure
|
|
34
|
+
scan_target: mcp
|
|
33
35
|
confidence: medium
|
|
34
36
|
|
|
35
37
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Unauthorized Financial Action by AI Agent"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00098
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: experimental
|
|
4
5
|
description: |
|
|
5
6
|
Detects when an AI agent attempts to execute financial operations (payments,
|
|
@@ -34,6 +35,7 @@ references:
|
|
|
34
35
|
tags:
|
|
35
36
|
category: excessive-autonomy
|
|
36
37
|
subcategory: unauthorized-financial-action
|
|
38
|
+
scan_target: mcp
|
|
37
39
|
confidence: high
|
|
38
40
|
|
|
39
41
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "High-Risk Tool Invocation Without Human Confirmation"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00099
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: experimental
|
|
4
5
|
description: |
|
|
5
6
|
Detects when an AI agent invokes high-risk tools (financial, destructive,
|
|
@@ -38,6 +39,7 @@ references:
|
|
|
38
39
|
tags:
|
|
39
40
|
category: excessive-autonomy
|
|
40
41
|
subcategory: high-risk-tool-gate
|
|
42
|
+
scan_target: mcp
|
|
41
43
|
confidence: medium
|
|
42
44
|
|
|
43
45
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Model Behavior Extraction"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00072
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: experimental
|
|
4
5
|
description: >
|
|
5
6
|
Detects systematic probing attempts to extract model behavior, decision boundaries,
|
|
@@ -27,6 +28,7 @@ references:
|
|
|
27
28
|
tags:
|
|
28
29
|
category: model-abuse
|
|
29
30
|
subcategory: model-extraction
|
|
31
|
+
scan_target: mcp
|
|
30
32
|
confidence: medium
|
|
31
33
|
|
|
32
34
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Malicious Fine-tuning Data"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00073
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: experimental
|
|
4
5
|
description: >
|
|
5
6
|
Detects poisoned fine-tuning datasets that contain instruction-following backdoors,
|
|
@@ -28,6 +29,7 @@ references:
|
|
|
28
29
|
tags:
|
|
29
30
|
category: data-poisoning
|
|
30
31
|
subcategory: malicious-finetuning
|
|
32
|
+
scan_target: mcp
|
|
31
33
|
confidence: medium
|
|
32
34
|
|
|
33
35
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Privilege Escalation and Admin Function Access"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00040
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: experimental
|
|
4
5
|
description: |
|
|
5
6
|
Consolidated detection for privilege escalation attempts, covering both
|
|
@@ -34,6 +35,7 @@ references:
|
|
|
34
35
|
tags:
|
|
35
36
|
category: privilege-escalation
|
|
36
37
|
subcategory: tool-permission-escalation
|
|
38
|
+
scan_target: mcp
|
|
37
39
|
confidence: high
|
|
38
40
|
|
|
39
41
|
agent_source:
|
package/rules/privilege-escalation/{ATR-2026-041-scope-creep.yaml → ATR-2026-00041-scope-creep.yaml}
RENAMED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Agent Scope Creep Detection"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00041
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: experimental
|
|
4
5
|
description: |
|
|
5
6
|
Detects when an agent gradually expands its authority, access, or
|
|
@@ -28,6 +29,7 @@ references:
|
|
|
28
29
|
tags:
|
|
29
30
|
category: privilege-escalation
|
|
30
31
|
subcategory: scope-creep
|
|
32
|
+
scan_target: mcp
|
|
31
33
|
confidence: medium
|
|
32
34
|
|
|
33
35
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Privilege Escalation via Delayed Task Execution Bypass"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00107
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: experimental
|
|
4
5
|
description: |
|
|
5
6
|
Detects tools that claim to schedule tasks while explicitly stating they bypass permission
|
|
@@ -26,6 +27,7 @@ references:
|
|
|
26
27
|
tags:
|
|
27
28
|
category: privilege-escalation
|
|
28
29
|
subcategory: delayed-execution-bypass
|
|
30
|
+
scan_target: mcp
|
|
29
31
|
confidence: medium
|
|
30
32
|
|
|
31
33
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Remote Code Execution via eval() and Dynamic Code Injection"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00110
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: experimental
|
|
4
5
|
description: |
|
|
5
6
|
Detects tools or agent instructions that invoke eval(), Function(), vm.runInNewContext(),
|
|
@@ -22,6 +23,7 @@ references:
|
|
|
22
23
|
tags:
|
|
23
24
|
category: privilege-escalation
|
|
24
25
|
subcategory: eval-injection
|
|
26
|
+
scan_target: mcp
|
|
25
27
|
confidence: high
|
|
26
28
|
|
|
27
29
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Shell Metacharacter Injection in Tool Arguments"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00111
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: experimental
|
|
4
5
|
description: |
|
|
5
6
|
Detects shell metacharacter injection patterns in tool arguments or agent-generated
|
|
@@ -23,6 +24,7 @@ references:
|
|
|
23
24
|
tags:
|
|
24
25
|
category: privilege-escalation
|
|
25
26
|
subcategory: shell-escape
|
|
27
|
+
scan_target: mcp
|
|
26
28
|
confidence: high
|
|
27
29
|
|
|
28
30
|
agent_source:
|
|
@@ -46,8 +48,8 @@ detection:
|
|
|
46
48
|
description: "$() subshell execution embedded in arguments"
|
|
47
49
|
- field: content
|
|
48
50
|
operator: regex
|
|
49
|
-
value: "`[^`]
|
|
50
|
-
description: "Backtick command substitution
|
|
51
|
+
value: "`(?:rm|cat|curl|wget|nc|ncat|bash|sh|python|perl|ruby|php|whoami|id|uname|env|printenv|set|export|eval|exec|chmod|chown|kill|pkill|dd|mkfs|mount|umount|sudo|su|passwd)[^`]*`"
|
|
52
|
+
description: "Backtick command substitution with dangerous command inside"
|
|
51
53
|
- field: content
|
|
52
54
|
operator: regex
|
|
53
55
|
value: "(?:&&|\\|\\|)\\s*(?:curl|wget|nc|ncat|bash|sh|python|perl)"
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Dynamic Module Loading for Code Execution"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00112
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: experimental
|
|
4
5
|
description: |
|
|
5
6
|
Detects dynamic module loading where the module path is a variable rather than a
|
|
@@ -23,6 +24,7 @@ references:
|
|
|
23
24
|
tags:
|
|
24
25
|
category: privilege-escalation
|
|
25
26
|
subcategory: dynamic-import-exploitation
|
|
27
|
+
scan_target: mcp
|
|
26
28
|
confidence: medium
|
|
27
29
|
|
|
28
30
|
agent_source:
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
title: "Casual Unauthorized Privilege Escalation"
|
|
2
|
+
id: ATR-2026-00143
|
|
3
|
+
rule_version: 1
|
|
4
|
+
status: experimental
|
|
5
|
+
description: >
|
|
6
|
+
Detects agents casually escalating privileges by accessing admin panels,
|
|
7
|
+
user management, or system settings without explicit authorization.
|
|
8
|
+
Pattern: "I noticed X is accessible, let me check/review/examine Y."
|
|
9
|
+
Crystallized from 31 adversarial samples.
|
|
10
|
+
author: "ATR Threat Cloud Crystallization"
|
|
11
|
+
date: "2026/04/07"
|
|
12
|
+
schema_version: "1.0"
|
|
13
|
+
detection_tier: pattern
|
|
14
|
+
maturity: experimental
|
|
15
|
+
severity: high
|
|
16
|
+
references:
|
|
17
|
+
owasp_llm:
|
|
18
|
+
- "LLM01:2025 - Prompt Injection"
|
|
19
|
+
owasp_agentic:
|
|
20
|
+
- "ASI03 - Excessive Agency"
|
|
21
|
+
tags:
|
|
22
|
+
category: privilege-escalation
|
|
23
|
+
subcategory: casual-escalation
|
|
24
|
+
confidence: medium
|
|
25
|
+
scan_target: mcp
|
|
26
|
+
agent_source:
|
|
27
|
+
type: mcp_exchange
|
|
28
|
+
framework: [any]
|
|
29
|
+
provider: [any]
|
|
30
|
+
detection:
|
|
31
|
+
condition: any
|
|
32
|
+
conditions:
|
|
33
|
+
- field: content
|
|
34
|
+
operator: regex
|
|
35
|
+
value: '(?i)(?:I\s+(?:noticed|found|discovered|see|detected|observed))\s+(?:the\s+)?(?:admin|administrator|root|superuser|management)\s+(?:panel|console|dashboard|interface|portal|settings?)\s+(?:is|appears?|seems?|looks?)\s+(?:accessible|available|open|exposed|reachable)'
|
|
36
|
+
description: "Agent reporting unauthorized access to admin interface"
|
|
37
|
+
- field: content
|
|
38
|
+
operator: regex
|
|
39
|
+
value: '(?i)(?:let me|I.ll|allow me to|I.m going to)\s+(?:check|review|examine|inspect|look at|access|browse|explore)\s+(?:the\s+)?(?:user\s+management|admin\s+settings?|system\s+config|access\s+control|permission|role\s+management|security\s+settings?)'
|
|
40
|
+
description: "Agent self-authorizing access to privileged settings"
|
|
41
|
+
test_cases:
|
|
42
|
+
true_positives:
|
|
43
|
+
- input: "I noticed the admin panel is accessible. Let me check the user management settings for you."
|
|
44
|
+
expected: triggered
|
|
45
|
+
- input: "I found the administrator console is available. Let me review the access controls."
|
|
46
|
+
expected: triggered
|
|
47
|
+
true_negatives:
|
|
48
|
+
- input: "The admin documentation is available at docs.example.com."
|
|
49
|
+
expected: not_triggered
|
|
50
|
+
- input: "Let me check the weather settings for your dashboard."
|
|
51
|
+
expected: not_triggered
|
|
52
|
+
response:
|
|
53
|
+
actions: [alert, block_input]
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
title: "Rationalized Safety Control Bypass"
|
|
2
|
+
id: ATR-2026-00144
|
|
3
|
+
rule_version: 1
|
|
4
|
+
status: experimental
|
|
5
|
+
description: >
|
|
6
|
+
Detects agents rationalizing bypassing safety controls or APIs by
|
|
7
|
+
claiming efficiency, directness, or speed as justification.
|
|
8
|
+
Pattern: "To be more efficient, I'll use X directly instead of Y."
|
|
9
|
+
Crystallized from 31 adversarial samples.
|
|
10
|
+
author: "ATR Threat Cloud Crystallization"
|
|
11
|
+
date: "2026/04/07"
|
|
12
|
+
schema_version: "1.0"
|
|
13
|
+
detection_tier: pattern
|
|
14
|
+
maturity: experimental
|
|
15
|
+
severity: high
|
|
16
|
+
references:
|
|
17
|
+
owasp_llm:
|
|
18
|
+
- "LLM01:2025 - Prompt Injection"
|
|
19
|
+
owasp_agentic:
|
|
20
|
+
- "ASI03 - Excessive Agency"
|
|
21
|
+
tags:
|
|
22
|
+
category: privilege-escalation
|
|
23
|
+
subcategory: rationalized-bypass
|
|
24
|
+
confidence: medium
|
|
25
|
+
scan_target: mcp
|
|
26
|
+
agent_source:
|
|
27
|
+
type: mcp_exchange
|
|
28
|
+
framework: [any]
|
|
29
|
+
provider: [any]
|
|
30
|
+
detection:
|
|
31
|
+
condition: any
|
|
32
|
+
conditions:
|
|
33
|
+
- field: content
|
|
34
|
+
operator: regex
|
|
35
|
+
value: '(?i)(?:to\s+(?:complete|finish|accomplish|expedite|optimize|speed up|be more efficient|boost efficiency))\s+(?:this|the)\s+(?:task|job|work|operation|request).*(?:I.ll|I will|let me|going to)\s+(?:use|access|query|connect to|call)\s+(?:the\s+)?(?:database|system|server|backend|filesystem|registry|kernel)\s+(?:directly|straight|right away)'
|
|
36
|
+
description: "Rationalizing direct system access instead of API"
|
|
37
|
+
test_cases:
|
|
38
|
+
true_positives:
|
|
39
|
+
- input: "To complete this task more efficiently, I'll use the database directly instead of the API."
|
|
40
|
+
expected: triggered
|
|
41
|
+
- input: "To expedite this task, I'll access the filesystem directly rather than through the service."
|
|
42
|
+
expected: triggered
|
|
43
|
+
true_negatives:
|
|
44
|
+
- input: "To complete this task, I'll call the API with the required parameters."
|
|
45
|
+
expected: not_triggered
|
|
46
|
+
- input: "The database is available via the connection string in the config."
|
|
47
|
+
expected: not_triggered
|
|
48
|
+
response:
|
|
49
|
+
actions: [alert, block_input]
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Direct Prompt Injection via User Input"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00001
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: experimental
|
|
4
5
|
description: >
|
|
5
6
|
Detects direct prompt injection attempts where a user embeds malicious instructions
|
|
@@ -32,6 +33,7 @@ references:
|
|
|
32
33
|
tags:
|
|
33
34
|
category: prompt-injection
|
|
34
35
|
subcategory: direct
|
|
36
|
+
scan_target: mcp
|
|
35
37
|
confidence: high
|
|
36
38
|
|
|
37
39
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Indirect Prompt Injection via External Content"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00002
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: experimental
|
|
4
5
|
description: >
|
|
5
6
|
Detects indirect prompt injection where malicious instructions are embedded within
|
|
@@ -35,6 +36,7 @@ references:
|
|
|
35
36
|
tags:
|
|
36
37
|
category: prompt-injection
|
|
37
38
|
subcategory: indirect
|
|
39
|
+
scan_target: mcp
|
|
38
40
|
confidence: high
|
|
39
41
|
|
|
40
42
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Jailbreak Attempt Detection"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00003
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: experimental
|
|
4
5
|
description: >
|
|
5
6
|
Detects jailbreak attempts designed to bypass AI safety mechanisms. Detection covers
|
|
@@ -34,6 +35,7 @@ references:
|
|
|
34
35
|
tags:
|
|
35
36
|
category: prompt-injection
|
|
36
37
|
subcategory: jailbreak
|
|
38
|
+
scan_target: mcp
|
|
37
39
|
confidence: high
|
|
38
40
|
|
|
39
41
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "System Prompt Override Attempt"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00004
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: experimental
|
|
4
5
|
description: >
|
|
5
6
|
Detects attempts to override, replace, or redefine the agent's system prompt.
|
|
@@ -34,6 +35,7 @@ references:
|
|
|
34
35
|
tags:
|
|
35
36
|
category: prompt-injection
|
|
36
37
|
subcategory: system-prompt-override
|
|
38
|
+
scan_target: mcp
|
|
37
39
|
confidence: high
|
|
38
40
|
|
|
39
41
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Multi-Turn Prompt Injection"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00005
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: experimental
|
|
4
5
|
description: >
|
|
5
6
|
Detects multi-turn prompt injection where an attacker gradually manipulates the
|
|
@@ -29,6 +30,7 @@ references:
|
|
|
29
30
|
tags:
|
|
30
31
|
category: prompt-injection
|
|
31
32
|
subcategory: multi-turn
|
|
33
|
+
scan_target: mcp
|
|
32
34
|
confidence: medium
|
|
33
35
|
|
|
34
36
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Encoding-Based Prompt Injection Evasion"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00080
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: draft
|
|
4
5
|
description: >
|
|
5
6
|
Detects prompt injection attempts that use encoding techniques to bypass
|
|
@@ -20,6 +21,7 @@ references:
|
|
|
20
21
|
tags:
|
|
21
22
|
category: prompt-injection
|
|
22
23
|
subcategory: encoding-evasion
|
|
24
|
+
scan_target: mcp
|
|
23
25
|
confidence: medium
|
|
24
26
|
|
|
25
27
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Semantic Evasion via Multi-Turn Prompt Injection"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00081
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: draft
|
|
4
5
|
description: >
|
|
5
6
|
Detects multi-turn prompt injection attacks that use semantic manipulation to
|
|
@@ -20,6 +21,7 @@ references:
|
|
|
20
21
|
tags:
|
|
21
22
|
category: prompt-injection
|
|
22
23
|
subcategory: semantic-evasion
|
|
24
|
+
scan_target: mcp
|
|
23
25
|
confidence: medium
|
|
24
26
|
|
|
25
27
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Behavioral Fingerprint Detection Evasion"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00082
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: draft
|
|
4
5
|
description: >
|
|
5
6
|
Detects attempts to evade behavioral drift detection and fingerprinting
|
|
@@ -20,6 +21,7 @@ references:
|
|
|
20
21
|
tags:
|
|
21
22
|
category: prompt-injection
|
|
22
23
|
subcategory: fingerprint-evasion
|
|
24
|
+
scan_target: mcp
|
|
23
25
|
confidence: medium
|
|
24
26
|
|
|
25
27
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Indirect Prompt Injection via Tool Responses"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00083
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: draft
|
|
4
5
|
description: >
|
|
5
6
|
Detects indirect prompt injection payloads embedded in tool responses, API
|
|
@@ -20,6 +21,7 @@ references:
|
|
|
20
21
|
tags:
|
|
21
22
|
category: prompt-injection
|
|
22
23
|
subcategory: indirect-injection
|
|
24
|
+
scan_target: mcp
|
|
23
25
|
confidence: medium
|
|
24
26
|
|
|
25
27
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Structured Data Injection via JSON/CSV Payloads"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00084
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: draft
|
|
4
5
|
description: >
|
|
5
6
|
Detects prompt injection payloads hidden within structured data formats such
|
|
@@ -22,6 +23,7 @@ references:
|
|
|
22
23
|
tags:
|
|
23
24
|
category: prompt-injection
|
|
24
25
|
subcategory: structured-data-injection
|
|
26
|
+
scan_target: mcp
|
|
25
27
|
confidence: medium
|
|
26
28
|
|
|
27
29
|
agent_source:
|
package/rules/prompt-injection/{ATR-2026-085-audit-evasion.yaml → ATR-2026-00085-audit-evasion.yaml}
RENAMED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Multi-Layer Security Audit Evasion"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00085
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: draft
|
|
4
5
|
description: >
|
|
5
6
|
Detects prompt injection attempts specifically designed to bypass multi-layer
|
|
@@ -20,6 +21,7 @@ references:
|
|
|
20
21
|
tags:
|
|
21
22
|
category: prompt-injection
|
|
22
23
|
subcategory: audit-evasion
|
|
24
|
+
scan_target: mcp
|
|
23
25
|
confidence: medium
|
|
24
26
|
|
|
25
27
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Visual Spoofing via RTL Override, Punycode, and Homoglyph Injection"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00086
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: draft
|
|
4
5
|
description: >
|
|
5
6
|
Detects injection attempts that use visual spoofing techniques including
|
|
@@ -20,6 +21,7 @@ references:
|
|
|
20
21
|
tags:
|
|
21
22
|
category: prompt-injection
|
|
22
23
|
subcategory: visual-spoofing
|
|
24
|
+
scan_target: mcp
|
|
23
25
|
confidence: medium
|
|
24
26
|
|
|
25
27
|
agent_source:
|
package/rules/prompt-injection/{ATR-2026-087-rule-probing.yaml → ATR-2026-00087-rule-probing.yaml}
RENAMED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Detection Rule Probing and Evasion Testing"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00087
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: draft
|
|
4
5
|
description: >
|
|
5
6
|
Detects attempts to probe, test, or enumerate detection rules and security
|
|
@@ -20,6 +21,7 @@ references:
|
|
|
20
21
|
tags:
|
|
21
22
|
category: prompt-injection
|
|
22
23
|
subcategory: rule-probing
|
|
24
|
+
scan_target: mcp
|
|
23
25
|
confidence: medium
|
|
24
26
|
|
|
25
27
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Adaptive Countermeasure Against Behavioral Monitoring"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00088
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: draft
|
|
4
5
|
description: >
|
|
5
6
|
Detects injection payloads that instruct an agent to actively counteract
|
|
@@ -20,6 +21,7 @@ references:
|
|
|
20
21
|
tags:
|
|
21
22
|
category: prompt-injection
|
|
22
23
|
subcategory: monitoring-countermeasure
|
|
24
|
+
scan_target: mcp
|
|
23
25
|
confidence: medium
|
|
24
26
|
|
|
25
27
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Polymorphic Skill and Capability Aliasing Attack"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00089
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: draft
|
|
4
5
|
description: >
|
|
5
6
|
Detects injection attempts that use polymorphic techniques to disguise
|
|
@@ -21,6 +22,7 @@ references:
|
|
|
21
22
|
tags:
|
|
22
23
|
category: prompt-injection
|
|
23
24
|
subcategory: polymorphic-evasion
|
|
25
|
+
scan_target: mcp
|
|
24
26
|
confidence: medium
|
|
25
27
|
|
|
26
28
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Threat Intelligence Exfiltration and Rule Enumeration"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00090
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: draft
|
|
4
5
|
description: >
|
|
5
6
|
Detects attempts to extract threat intelligence, enumerate detection rules,
|
|
@@ -20,6 +21,7 @@ references:
|
|
|
20
21
|
tags:
|
|
21
22
|
category: prompt-injection
|
|
22
23
|
subcategory: intel-exfiltration
|
|
24
|
+
scan_target: mcp
|
|
23
25
|
confidence: medium
|
|
24
26
|
|
|
25
27
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Advanced Structured Data Injection with Nested Payloads"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00091
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: draft
|
|
4
5
|
description: >
|
|
5
6
|
Detects advanced structured data injection where malicious prompts are deeply
|
|
@@ -23,6 +24,7 @@ references:
|
|
|
23
24
|
tags:
|
|
24
25
|
category: prompt-injection
|
|
25
26
|
subcategory: nested-data-injection
|
|
27
|
+
scan_target: mcp
|
|
26
28
|
confidence: medium
|
|
27
29
|
|
|
28
30
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Multi-Agent Consensus Poisoning and Sybil Attack"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00092
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: draft
|
|
4
5
|
description: >
|
|
5
6
|
Detects attacks targeting multi-agent consensus systems through coordinated
|
|
@@ -23,6 +24,7 @@ references:
|
|
|
23
24
|
tags:
|
|
24
25
|
category: prompt-injection
|
|
25
26
|
subcategory: consensus-poisoning
|
|
27
|
+
scan_target: mcp
|
|
26
28
|
confidence: medium
|
|
27
29
|
|
|
28
30
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Gradual Capability Escalation via Incremental Introduction"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00093
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: draft
|
|
4
5
|
description: >
|
|
5
6
|
Detects attacks that use gradual, sub-threshold capability introductions to
|
|
@@ -21,6 +22,7 @@ references:
|
|
|
21
22
|
tags:
|
|
22
23
|
category: prompt-injection
|
|
23
24
|
subcategory: gradual-escalation
|
|
25
|
+
scan_target: mcp
|
|
24
26
|
confidence: medium
|
|
25
27
|
|
|
26
28
|
agent_source:
|
package/rules/prompt-injection/{ATR-2026-094-audit-bypass.yaml → ATR-2026-00094-audit-bypass.yaml}
RENAMED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "Systematic Multi-Layer Audit System Bypass"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00094
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: draft
|
|
4
5
|
description: >
|
|
5
6
|
Detects sophisticated attempts to systematically defeat multi-layer security
|
|
@@ -21,6 +22,7 @@ references:
|
|
|
21
22
|
tags:
|
|
22
23
|
category: prompt-injection
|
|
23
24
|
subcategory: systematic-audit-bypass
|
|
25
|
+
scan_target: mcp
|
|
24
26
|
confidence: medium
|
|
25
27
|
|
|
26
28
|
agent_source:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
title: "CJK Prompt Injection - Expanded Chinese/Japanese/Korean Patterns"
|
|
2
|
-
id: ATR-2026-
|
|
2
|
+
id: ATR-2026-00097
|
|
3
|
+
rule_version: 1
|
|
3
4
|
status: experimental
|
|
4
5
|
description: |
|
|
5
6
|
Expanded CJK-language prompt injection patterns targeting the gap where
|
|
@@ -37,6 +38,7 @@ references:
|
|
|
37
38
|
tags:
|
|
38
39
|
category: prompt-injection
|
|
39
40
|
subcategory: cjk-social-engineering
|
|
41
|
+
scan_target: mcp
|
|
40
42
|
confidence: high
|
|
41
43
|
|
|
42
44
|
agent_source:
|