agent-threat-rules 1.2.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/README.md +39 -30
  2. package/dist/cli.js +0 -0
  3. package/dist/engine.d.ts.map +1 -1
  4. package/dist/engine.js +80 -35
  5. package/dist/engine.js.map +1 -1
  6. package/dist/quality/quality-gate.d.ts +26 -8
  7. package/dist/quality/quality-gate.d.ts.map +1 -1
  8. package/dist/quality/quality-gate.js +59 -12
  9. package/dist/quality/quality-gate.js.map +1 -1
  10. package/dist/tc-reporter.js +1 -1
  11. package/dist/tc-reporter.js.map +1 -1
  12. package/package.json +1 -1
  13. package/rules/agent-manipulation/ATR-2026-00032-goal-hijacking.yaml +106 -55
  14. package/rules/agent-manipulation/ATR-2026-00074-cross-agent-privilege-escalation.yaml +94 -55
  15. package/rules/agent-manipulation/ATR-2026-00076-inter-agent-message-spoofing.yaml +89 -65
  16. package/rules/agent-manipulation/ATR-2026-00077-human-trust-exploitation.yaml +102 -66
  17. package/rules/agent-manipulation/ATR-2026-00108-consensus-sybil-attack.yaml +78 -42
  18. package/rules/agent-manipulation/ATR-2026-00116-a2a-message-validation.yaml +72 -35
  19. package/rules/agent-manipulation/ATR-2026-00117-agent-identity-spoofing.yaml +82 -38
  20. package/rules/agent-manipulation/ATR-2026-00118-approval-fatigue.yaml +80 -43
  21. package/rules/agent-manipulation/ATR-2026-00119-social-engineering-via-agent.yaml +88 -42
  22. package/rules/agent-manipulation/ATR-2026-00132-casual-authority-escalation.yaml +84 -55
  23. package/rules/agent-manipulation/ATR-2026-00139-casual-authority-redirect.yaml +88 -23
  24. package/rules/agent-manipulation/ATR-2026-00164-skill-scope-hijack.yaml +72 -0
  25. package/rules/context-exfiltration/ATR-2026-00075-agent-memory-manipulation.yaml +80 -53
  26. package/rules/context-exfiltration/ATR-2026-00102-disguised-analytics-exfiltration.yaml +86 -29
  27. package/rules/context-exfiltration/ATR-2026-00113-credential-theft.yaml +73 -43
  28. package/rules/context-exfiltration/ATR-2026-00114-oauth-token-abuse.yaml +80 -43
  29. package/rules/context-exfiltration/ATR-2026-00115-env-var-harvesting.yaml +92 -44
  30. package/rules/context-exfiltration/ATR-2026-00136-tool-response-data-piggyback.yaml +76 -46
  31. package/rules/context-exfiltration/ATR-2026-00141-example-format-key-leak.yaml +68 -21
  32. package/rules/context-exfiltration/ATR-2026-00142-piggyback-transition-words.yaml +81 -21
  33. package/rules/context-exfiltration/ATR-2026-00145-obfuscated-key-disclosure.yaml +70 -19
  34. package/rules/context-exfiltration/ATR-2026-00146-env-var-existence-probe.yaml +88 -21
  35. package/rules/context-exfiltration/ATR-2026-00150-credential-in-tool-response.yaml +67 -43
  36. package/rules/context-exfiltration/ATR-2026-00152-obfuscated-credential-leak.yaml +81 -39
  37. package/rules/context-exfiltration/ATR-2026-00162-skill-credential-exfil-combo.yaml +73 -0
  38. package/rules/data-poisoning/ATR-2026-00070-data-poisoning.yaml +118 -73
  39. package/rules/excessive-autonomy/ATR-2026-00050-runaway-agent-loop.yaml +96 -56
  40. package/rules/excessive-autonomy/ATR-2026-00051-resource-exhaustion.yaml +94 -59
  41. package/rules/excessive-autonomy/ATR-2026-00052-cascading-failure.yaml +112 -71
  42. package/rules/excessive-autonomy/ATR-2026-00098-unauthorized-financial-action.yaml +84 -63
  43. package/rules/excessive-autonomy/ATR-2026-00099-high-risk-tool-gate.yaml +88 -64
  44. package/rules/model-security/ATR-2026-00072-model-behavior-extraction.yaml +93 -55
  45. package/rules/model-security/ATR-2026-00073-malicious-finetuning-data.yaml +100 -52
  46. package/rules/privilege-escalation/ATR-2026-00040-privilege-escalation.yaml +81 -80
  47. package/rules/privilege-escalation/ATR-2026-00041-scope-creep.yaml +100 -52
  48. package/rules/privilege-escalation/ATR-2026-00107-delayed-execution-bypass.yaml +82 -26
  49. package/rules/privilege-escalation/ATR-2026-00110-eval-injection.yaml +85 -45
  50. package/rules/privilege-escalation/ATR-2026-00111-shell-escape.yaml +101 -45
  51. package/rules/privilege-escalation/ATR-2026-00112-dynamic-import-exploitation.yaml +81 -43
  52. package/rules/privilege-escalation/ATR-2026-00143-casual-privilege-escalation.yaml +80 -23
  53. package/rules/privilege-escalation/ATR-2026-00144-rationalized-safety-bypass.yaml +74 -21
  54. package/rules/prompt-injection/ATR-2026-00004-system-prompt-override.yaml +149 -153
  55. package/rules/prompt-injection/ATR-2026-00080-encoding-evasion.yaml +75 -40
  56. package/rules/prompt-injection/ATR-2026-00081-semantic-multi-turn.yaml +78 -35
  57. package/rules/prompt-injection/ATR-2026-00082-fingerprint-evasion.yaml +68 -38
  58. package/rules/prompt-injection/ATR-2026-00083-indirect-tool-injection.yaml +74 -37
  59. package/rules/prompt-injection/ATR-2026-00085-audit-evasion.yaml +69 -38
  60. package/rules/prompt-injection/ATR-2026-00086-visual-spoofing.yaml +69 -36
  61. package/rules/prompt-injection/ATR-2026-00087-rule-probing.yaml +76 -39
  62. package/rules/prompt-injection/ATR-2026-00088-adaptive-countermeasure.yaml +74 -38
  63. package/rules/prompt-injection/ATR-2026-00089-polymorphic-skill.yaml +75 -40
  64. package/rules/prompt-injection/ATR-2026-00090-threat-intel-exfil.yaml +83 -38
  65. package/rules/prompt-injection/ATR-2026-00091-nested-payload.yaml +70 -36
  66. package/rules/prompt-injection/ATR-2026-00092-consensus-poisoning.yaml +77 -41
  67. package/rules/prompt-injection/ATR-2026-00093-gradual-escalation.yaml +76 -40
  68. package/rules/prompt-injection/ATR-2026-00094-audit-bypass.yaml +71 -39
  69. package/rules/prompt-injection/ATR-2026-00097-cjk-injection-patterns.yaml +122 -132
  70. package/rules/prompt-injection/ATR-2026-00104-persona-hijacking.yaml +91 -26
  71. package/rules/prompt-injection/ATR-2026-00130-indirect-authority-claim.yaml +74 -49
  72. package/rules/prompt-injection/ATR-2026-00131-fictional-academic-framing.yaml +69 -49
  73. package/rules/prompt-injection/ATR-2026-00133-paraphrase-injection.yaml +74 -61
  74. package/rules/prompt-injection/ATR-2026-00137-authority-claim-injection.yaml +76 -19
  75. package/rules/prompt-injection/ATR-2026-00138-fictional-framing-bypass.yaml +101 -21
  76. package/rules/prompt-injection/ATR-2026-00140-indirect-reference-reversal.yaml +69 -22
  77. package/rules/prompt-injection/ATR-2026-00148-language-switch-injection.yaml +77 -26
  78. package/rules/prompt-injection/ATR-2026-00153-tool-with-embedded-instruction-to-bypass.yaml +93 -23
  79. package/rules/prompt-injection/ATR-2026-00154-unauthorized-background-task-execution-v.yaml +102 -23
  80. package/rules/prompt-injection/ATR-2026-00155-hidden-llm-instructions-in-skill-descrip.yaml +96 -22
  81. package/rules/prompt-injection/ATR-2026-00156-ssh-remote-command-execution-with-creden.yaml +78 -23
  82. package/rules/prompt-injection/ATR-2026-00163-skill-hidden-override-instruction.yaml +77 -0
  83. package/rules/skill-compromise/ATR-2026-00060-skill-impersonation.yaml +72 -67
  84. package/rules/skill-compromise/ATR-2026-00120-skill-instruction-injection.yaml +111 -65
  85. package/rules/skill-compromise/ATR-2026-00121-skill-dangerous-script.yaml +115 -98
  86. package/rules/skill-compromise/ATR-2026-00122-skill-weaponized-instruction.yaml +118 -62
  87. package/rules/skill-compromise/ATR-2026-00123-skill-overreach-permissions.yaml +86 -64
  88. package/rules/skill-compromise/ATR-2026-00124-skill-name-squatting.yaml +55 -8
  89. package/rules/skill-compromise/ATR-2026-00125-context-poisoning-compaction.yaml +85 -43
  90. package/rules/skill-compromise/ATR-2026-00126-skill-rug-pull-setup.yaml +74 -45
  91. package/rules/skill-compromise/ATR-2026-00127-subcommand-overflow.yaml +46 -6
  92. package/rules/skill-compromise/ATR-2026-00128-html-comment-hidden-payload.yaml +131 -33
  93. package/rules/skill-compromise/ATR-2026-00134-fork-claim-impersonation.yaml +85 -50
  94. package/rules/skill-compromise/ATR-2026-00135-exfil-url-in-instructions.yaml +90 -37
  95. package/rules/skill-compromise/ATR-2026-00149-skill-exfil-compound.yaml +112 -110
  96. package/rules/tool-poisoning/ATR-2026-00011-tool-output-injection.yaml +118 -112
  97. package/rules/tool-poisoning/ATR-2026-00012-unauthorized-tool-call.yaml +112 -115
  98. package/rules/tool-poisoning/ATR-2026-00013-tool-ssrf.yaml +125 -132
  99. package/rules/tool-poisoning/ATR-2026-00095-supply-chain-poisoning.yaml +82 -41
  100. package/rules/tool-poisoning/ATR-2026-00096-registry-poisoning.yaml +68 -39
  101. package/rules/tool-poisoning/ATR-2026-00100-consent-bypass-instruction.yaml +86 -36
  102. package/rules/tool-poisoning/ATR-2026-00103-hidden-safety-bypass-instruction.yaml +75 -25
  103. package/rules/tool-poisoning/ATR-2026-00105-silent-action-concealment.yaml +89 -28
  104. package/rules/tool-poisoning/ATR-2026-00161-important-tag-cross-tool-shadowing.yaml +182 -0
package/README.md CHANGED
@@ -9,12 +9,12 @@ AI Agent 威脅偵測規則 -- 開源、社群驅動
9
9
  <br />
10
10
 
11
11
  [![License](https://img.shields.io/badge/license-MIT-brightgreen?style=flat-square)](LICENSE)
12
- [![Rules](https://img.shields.io/badge/rules-108-blue?style=flat-square)](#what-atr-detects)
13
- [![Tests](https://img.shields.io/badge/tests-297_passing-green?style=flat-square)](#ecosystem)
14
- [![PINT Recall](https://img.shields.io/badge/PINT_recall-62.7%25-green?style=flat-square)](#evaluation)
15
- [![SKILL.md Recall](https://img.shields.io/badge/SKILL.md_recall-96.9%25-brightgreen?style=flat-square)](#evaluation)
12
+ [![Rules](https://img.shields.io/badge/rules-113-blue?style=flat-square)](#what-atr-detects)
13
+ [![Tests](https://img.shields.io/badge/tests-361_passing-green?style=flat-square)](#ecosystem)
14
+ [![SKILL.md Recall](https://img.shields.io/badge/SKILL.md_recall-100%25-brightgreen?style=flat-square)](#evaluation)
15
+ [![Wild Scan](https://img.shields.io/badge/wild_scan-96%2C096_skills-blue?style=flat-square)](#ecosystem-scan)
16
16
  [![OWASP](https://img.shields.io/badge/OWASP_Agentic_Top_10-10%2F10-brightgreen?style=flat-square)](#standards-coverage)
17
- [![Status](https://img.shields.io/badge/status-v1.1.1-brightgreen?style=flat-square)](#roadmap)
17
+ [![Status](https://img.shields.io/badge/status-v2.0.0-brightgreen?style=flat-square)](#roadmap)
18
18
 
19
19
  </div>
20
20
 
@@ -45,19 +45,27 @@ ATR maps to **10/10 OWASP Agentic Top 10 categories** ([full mapping](docs/OWASP
45
45
 
46
46
  > ATR rules are consumed as a standard -- not a product. MIT licensed, auto-updated via npm, zero strings attached.
47
47
 
48
- ### Ecosystem scan (90,000+ skills)
48
+ ### Ecosystem scan (96,000+ skills)
49
49
 
50
- We scanned the three largest MCP skill registries: ClawHub (37,394), OpenClaw (50,283), and Skills.sh (3,115).
50
+ We scanned every major AI agent skill registry. **We found 751 skills actively distributing malware.**
51
51
 
52
- | Metric | Number |
53
- |--------|--------|
54
- | Skills scanned | **90,000+** |
55
- | ClawHub CRITICAL | 182 |
56
- | ClawHub HIGH | 1,124 |
57
- | SKILL.md benchmark | 498 samples, **96.9% recall**, **100% precision**, **0% FP** |
58
- | Wild scan FP rate | 0.48% on 3,115 real-world Skills.sh files |
52
+ | Source | Scanned | Flagged | Threats |
53
+ |--------|---------|---------|---------|
54
+ | OpenClaw | 56,480 | 1,260 | **751 confirmed malware** |
55
+ | Skills.sh | 3,115 | 40 | -- |
56
+ | Hermes Agent | 123 | 2 | -- |
57
+ | ClawHub | 36,378 | 0 | -- |
58
+ | **Total** | **96,096** | **1,302 (1.35%)** | **1,349 threats** |
59
59
 
60
- Raw data: [mega-scan-report.json](data/mega-scan-report.json) / [ecosystem-report.csv](data/clawhub-scan/ecosystem-report.csv)
60
+ Key finding: at least 3 coordinated threat actors mass-published poisoned skills on OpenClaw, disguised as Solana wallets, Google Workspace tools, and image generators. One actor embedded a base64-encoded reverse shell pointing to C2 IP `91.92.242.30`. Full report: [OpenClaw Malware Campaign](docs/research/openclaw-malware-campaign-2026-04.md)
61
+
62
+ | Benchmark | Samples | Recall | Precision | FP Rate |
63
+ |-----------|---------|--------|-----------|---------|
64
+ | SKILL.md (498 labeled samples) | 498 | **100%** | **97%** | **0.20%** |
65
+ | PINT (Invariant Labs, adversarial) | 850 | -- | 99.6% | 62.7% |
66
+ | Wild scan (96K real-world) | 96,096 | -- | -- | 1.35% flag rate |
67
+
68
+ Raw data: [full-scan-v3-2026-04-15.json](data/full-scan-v3-2026-04-15.json)
61
69
 
62
70
  ```bash
63
71
  npm install -g agent-threat-rules
@@ -65,7 +73,7 @@ npm install -g agent-threat-rules
65
73
  atr scan skill.md # scan a SKILL.md for threats
66
74
  atr scan mcp-config.json # scan MCP events for threats
67
75
  atr scan skill.md --sarif # output SARIF v2.1.0 for GitHub Security tab
68
- atr convert generic-regex # export 108 rules as JSON (685 regex patterns)
76
+ atr convert generic-regex # export 113 rules as JSON (714+ regex patterns)
69
77
  atr convert splunk # export to Splunk SPL
70
78
  atr convert elastic # export to Elasticsearch Query DSL
71
79
  atr stats # show rule collection stats
@@ -91,19 +99,19 @@ One line. Zero config. SARIF results in your Security tab.
91
99
 
92
100
  ## What ATR Detects
93
101
 
94
- 108 rules across 9 categories, mapped to real CVEs:
102
+ 113 rules across 9 categories, mapped to real CVEs:
95
103
 
96
104
  | Category | What it catches | Rules | Real CVEs |
97
105
  |----------|----------------|-------|-----------|
98
- | **Prompt Injection** | "Ignore previous instructions", persona hijacking, encoded payloads, CJK attacks | 22 | CVE-2025-53773, CVE-2025-32711 |
99
- | **Tool Poisoning** | Malicious MCP responses, consent bypass, hidden LLM instructions, schema contradictions | 11 | CVE-2025-68143/68144/68145 |
100
- | **Skill Compromise** | Typosquatting, context poisoning, subcommand overflow, rug pull, supply chain attacks | 20 | CVE-2025-59536, CVE-2026-28363 |
101
- | **Agent Manipulation** | Cross-agent attacks, goal hijacking, Sybil consensus attacks | 10 | -- |
106
+ | **Prompt Injection** | "Ignore previous instructions", persona hijacking, encoded payloads, CJK attacks, hidden override instructions | 33 | CVE-2025-53773, CVE-2025-32711 |
107
+ | **Skill Compromise** | Typosquatting, context poisoning, subcommand overflow, rug pull, supply chain attacks, credential exfil combos | 23 | CVE-2025-59536, CVE-2026-28363 |
108
+ | **Context Exfiltration** | API key leakage, system prompt theft, credential harvesting, env variable exfiltration | 14 | CVE-2026-24307 |
109
+ | **Tool Poisoning** | Malicious MCP responses, consent bypass, hidden LLM instructions, schema contradictions | 12 | CVE-2025-68143/68144/68145 |
110
+ | **Agent Manipulation** | Cross-agent attacks, goal hijacking, Sybil consensus attacks, scope hijacking | 12 | -- |
111
+ | **Privilege Escalation** | Scope creep, delayed execution bypass, admin function access | 8 | CVE-2026-0628 |
102
112
  | **Excessive Autonomy** | Runaway loops, resource exhaustion, unauthorized financial actions | 5 | -- |
103
- | **Context Exfiltration** | API key leakage, system prompt theft, credential harvesting, env variable exfiltration | 15 | CVE-2026-24307 |
104
- | **Privilege Escalation** | Scope creep, delayed execution bypass, admin function access | 9 | CVE-2026-0628 |
105
- | **Model Security** | Behavior extraction, malicious fine-tuning data | 5 | -- |
106
- | **Data Poisoning** | RAG/knowledge base tampering, memory manipulation | 3 | -- |
113
+ | **Model Security** | Behavior extraction, malicious fine-tuning data | 2 | -- |
114
+ | **Data Poisoning** | RAG/knowledge base tampering, memory manipulation | 1 | -- |
107
115
 
108
116
  > **Limitations:** Regex catches known patterns, not paraphrased attacks. We publish [evasion tests](LIMITATIONS.md) showing what we can't catch. See [LIMITATIONS.md](LIMITATIONS.md) for honest benchmark numbers including external PINT results.
109
117
 
@@ -111,14 +119,15 @@ One line. Zero config. SARIF results in your Security tab.
111
119
 
112
120
  ## Evaluation
113
121
 
114
- We test ATR with our own tests AND external benchmarks we've never seen before:
122
+ We test ATR with our own tests, external benchmarks, AND real-world wild scanning:
115
123
 
116
124
  | Benchmark | Source | Samples | Precision | Recall |
117
125
  |-----------|--------|---------|-----------|--------|
118
- | Self-test (own test cases) | Internal | 341 | 100% | 88.5% |
126
+ | **SKILL.md benchmark** | **498 labeled samples** | **498** | **97.0%** | **100%** |
127
+ | **96K wild scan** | **OpenClaw + Skills.sh + Hermes + ClawHub** | **96,096** | **--** | **--** |
119
128
  | **PINT (adversarial)** | **Invariant Labs** | **850** | **99.6%** | **62.7%** |
120
129
  | **Garak (real-world jailbreaks)** | **NVIDIA** | **666** | -- | **69.7%** |
121
- | **53K ecosystem scan** | **OpenClaw + Skills.sh** | **53,377** | **99.7%** | -- |
130
+ | Self-test (own test cases) | Internal | 361 | 100% | 88.5% |
122
131
 
123
132
  ```bash
124
133
  npm run eval # run self-test evaluation
@@ -148,7 +157,7 @@ ATR maps to established AI security frameworks so teams can go from "understand
148
157
 
149
158
  | Component | Description | Status |
150
159
  |-----------|-------------|--------|
151
- | [TypeScript engine](src/engine.ts) | Reference engine with 5-tier detection | 297 tests passing |
160
+ | [TypeScript engine](src/engine.ts) | Reference engine with 5-tier detection | 361 tests passing |
152
161
  | [Eval framework](src/eval/) | Precision/recall/F1, regression gate, PINT benchmark | v1.0.0 |
153
162
  | [Python engine (pyATR)](python/) | Local install only (`cd python && pip install -e .`) | 48 tests passing |
154
163
  | [GitHub Action](action.yml) | One-line CI scan with SARIF output | **New** |
@@ -239,7 +248,7 @@ Every rule is a YAML file answering: **what** to detect, **how** to detect it, *
239
248
  ### Export rules
240
249
 
241
250
  ```bash
242
- # For your security platform (108 rules, 685 regex patterns as JSON)
251
+ # For your security platform (113 rules, 714+ regex patterns as JSON)
243
252
  atr convert generic-regex --output atr-rules.json
244
253
 
245
254
  # For SIEM integration
package/dist/cli.js CHANGED
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/engine.js CHANGED
@@ -24,29 +24,51 @@ import { buildBlacklistMatch, resolveSkillId as resolveBlacklistSkillId } from '
24
24
  * Threshold: >0.5% FP on 466 real-world SKILL.md files (skills-sh corpus).
25
25
  * Re-evaluate when adding new rules or updating detection patterns.
26
26
  */
27
+ /**
28
+ * Rules excluded from skill-context scanning due to high false-positive rate.
29
+ *
30
+ * Audit 2026-04-14: denylist reduced from 22 → 10 rules.
31
+ * Rules with ≤2 FP on 466 benign SKILL.md samples were removed from denylist
32
+ * to improve wild scan coverage (previously missing 2000+ potential threats).
33
+ *
34
+ * Threshold: >2 FP on 466 benchmark benign samples (>0.43%).
35
+ * Re-evaluate when adding new rules or updating detection patterns.
36
+ */
27
37
  const SKILL_CONTEXT_DENYLIST = new Set([
28
- 'ATR-2026-00111', // Shell Escape — 95.2% FP on benign skills (matches any shell/exec mention)
29
- 'ATR-2026-00118', // Approval Fatigue84.8% FP on benign skills (matches any approval/confirm pattern)
30
- 'ATR-2026-00032', // Goal Hijacking3.2% FP (skills naturally contain instructional language)
31
- 'ATR-2026-00115', // Env Var Harvesting 1.7% FP (skills legitimately reference env vars)
32
- 'ATR-2026-00051', // Resource Exhaustion 1.6% FP (matches loop/retry patterns in normal skills)
38
+ // HIGH FP (>20%) must stay denylisted until regex rewrite
39
+ 'ATR-2026-00111', // Shell Escape70% FP (matches any shell/exec mention in code examples)
40
+ 'ATR-2026-00118', // Approval Fatigue27% FP (matches any approval/confirm pattern)
41
+ 'ATR-2026-00051', // Resource Exhaustion23% FP (SQL/loop patterns in normal skills)
42
+ // MEDIUM FP (1-6%) denylisted, need regex tightening to unlock
43
+ 'ATR-2026-00030', // Cross-Agent Attack — 6% FP (multi-agent communication patterns)
44
+ 'ATR-2026-00032', // Goal Hijacking — 3.2% FP (instructional language)
45
+ 'ATR-2026-00002', // Indirect Prompt Injection — 2.4% FP (content-fetch patterns)
46
+ 'ATR-2026-00115', // Env Var Harvesting — 1.7% FP (legitimate env var references)
33
47
  'ATR-2026-00113', // Credential Theft — 1.5% FP (security skills reference credential files)
34
- 'ATR-2026-00110', // eval() Injection — 1.3% FP (coding skills mention eval/exec patterns)
35
- 'ATR-2026-00112', // Dynamic Import0.9% FP (normal skills reference import/require)
36
- 'ATR-2026-00030', // Cross-Agent Attack0.8% FP (matches multi-agent communication patterns)
37
- 'ATR-2026-00002', // Indirect Prompt Injection — 0.8% FP (matches content-fetch patterns)
38
- 'ATR-2026-00142', // Piggyback Transition — 0.6% FP (descriptive text triggers false match)
39
- 'ATR-2026-00050', // Runaway Agent Loop — 0.4% FP (matches loop patterns in automation skills)
40
- 'ATR-2026-00117', // Agent Identity Spoofing0.4% FP (matches persona/identity patterns)
41
- 'ATR-2026-00116', // A2A Message Injection0.4% FP (matches agent communication patterns)
42
- 'ATR-2026-00114', // OAuth Token Interception2.57% FP on 53K skills (matches normal auth patterns)
43
- 'ATR-2026-00060', // MCP Skill Impersonation0.2% FP (matches normal skill metadata patterns)
44
- 'ATR-2026-00077', // Human-Agent Trust Exploitation — 0.2% FP (SRE/monitoring skills trigger)
45
- 'ATR-2026-00076', // Insecure Inter-Agent Communication0.2% FP (SDK skills mention agent comms)
46
- 'ATR-2026-00148', // Multilingual Prompt Injection0.2% FP (bilingual skills trigger)
47
- 'ATR-2026-00123', // Over-Privileged Skill — 0.2% FP (legitimate admin skills trigger)
48
- 'ATR-2026-00074', // Cross-Agent Privilege Escalation0.2% FP (automation skills trigger)
49
- 'ATR-2026-00098', // Unauthorized Financial Action 0.2% FP (testing skills mention payments)
48
+ 'ATR-2026-00110', // eval() Injection — 1.3% FP (coding skills mention eval/exec)
49
+ 'ATR-2026-00114', // OAuth Token Interception 1.3% FP (normal auth patterns)
50
+ 'ATR-2026-00050', // Runaway Agent Loop1.1% FP (loop patterns in automation skills)
51
+ 'ATR-2026-00112', // Dynamic Import — 0.9% FP (import/require references)
52
+ 'ATR-2026-00142', // Piggyback Transition — 0.6% FP (descriptive text triggers)
53
+ 'ATR-2026-00116', // A2A Message Injection — 0.4% FP (agent communication patterns)
54
+ // LOW FP but zero wild hits kept in denylist for precision
55
+ 'ATR-2026-00060', // MCP Skill Impersonation1 FP, 0 wild hits
56
+ 'ATR-2026-00074', // Cross-Agent Privilege Escalation1 FP, 0 wild hits
57
+ 'ATR-2026-00076', // Insecure Inter-Agent Communication1 FP, 0 wild hits
58
+ 'ATR-2026-00077', // Human-Agent Trust Exploitation — 1 FP, 0 wild hits
59
+ 'ATR-2026-00098', // Unauthorized Financial Action1 FP, 0 wild hits
60
+ 'ATR-2026-00117', // Agent Identity Spoofing1 FP, 0 wild hits
61
+ 'ATR-2026-00123', // Over-Privileged Skill — 1 FP, 0 wild hits
62
+ 'ATR-2026-00148', // Multilingual Prompt Injection1 FP, 0 wild hits
63
+ // REMOVED from denylist (≤1 FP + has wild value):
64
+ // ATR-2026-00117 Agent Identity Spoofing (1 FP)
65
+ // ATR-2026-00060 MCP Skill Impersonation (1 FP)
66
+ // ATR-2026-00077 Human-Agent Trust Exploitation (1 FP)
67
+ // ATR-2026-00076 Insecure Inter-Agent Communication (1 FP)
68
+ // ATR-2026-00148 Multilingual Prompt Injection (1 FP)
69
+ // ATR-2026-00123 Over-Privileged Skill (1 FP)
70
+ // ATR-2026-00074 Cross-Agent Privilege Escalation (1 FP)
71
+ // ATR-2026-00098 Unauthorized Financial Action (1 FP)
50
72
  ]);
51
73
  /**
52
74
  * Detect and decode base64-encoded blocks in content.
@@ -209,9 +231,6 @@ export class ATREngine {
209
231
  // Skip deprecated and draft rules
210
232
  if (rule.status === 'deprecated' || rule.status === 'draft')
211
233
  continue;
212
- // Skill context denylist: skip rules known to cause high FP on SKILL.md content
213
- if (isSkillContext && SKILL_CONTEXT_DENYLIST.has(rule.id))
214
- continue;
215
234
  // Source type filtering: skip rules that don't apply to this event type
216
235
  // When scanContext is 'skill', skip source-type filtering — all rules fire
217
236
  if (!isSkillContext && eventSourceType && rule.agent_source.type !== eventSourceType) {
@@ -222,11 +241,25 @@ export class ATREngine {
222
241
  }
223
242
  const matchResult = this.evaluateRule(rule, event);
224
243
  if (matchResult) {
225
- // Skip MCP-only rules in skill context they cause FP on security skills
226
- // that describe attack patterns as examples. Skill context only runs
227
- // skill-targeted rules + denylist-filtered rules.
228
- if (isSkillContext && rule.tags.scan_target === 'mcp') {
229
- continue;
244
+ // Skill context compound gating: rules not designed for SKILL.md
245
+ // must match 2+ CONDITIONS (not patterns) to trigger. A single
246
+ // condition with many patterns fires too easily on long documents.
247
+ // 2+ condition co-occurrence means the document exhibits multiple
248
+ // distinct threat signals — strongly indicates a real attack, not
249
+ // security documentation that happens to describe one attack type.
250
+ // Rules with scan_target 'skill' or 'both' fire normally.
251
+ // Compound gate: rules not designed for skill scanning need 30%+
252
+ // conditions to match. Rules with scan_target 'skill' or 'both'
253
+ // have verified FP rates and fire normally.
254
+ if (isSkillContext && rule.tags.scan_target !== 'skill' && rule.tags.scan_target !== 'both') {
255
+ // Require at least 30% of conditions to match (min 2) — long documents
256
+ // with many technical terms easily hit 2 conditions; percentage-based
257
+ // threshold scales with rule complexity.
258
+ const totalConds = Number(rule.detection?.conditions?.length ?? 1);
259
+ const minRequired = Math.max(2, Math.ceil(totalConds * 0.3));
260
+ if ((matchResult.matchedConditions?.length ?? 0) < minRequired) {
261
+ continue;
262
+ }
230
263
  }
231
264
  matches.push(matchResult);
232
265
  allMatchedPatterns.push(...matchResult.matchedPatterns);
@@ -461,12 +494,18 @@ export class ATREngine {
461
494
  if (!rawFieldValue)
462
495
  return false;
463
496
  const fieldValue = normalizeUnicode(rawFieldValue);
464
- // Code block suppression: for rules that commonly false-positive on
465
- // documentation content (shell commands, file paths in code examples),
466
- // check if the match falls inside a markdown code block.
467
- // Prompt injection rules (ATR-001 through ATR-005, ATR-080+) are NOT suppressed
468
- // because attackers can hide injections in code blocks too.
469
- const suppressInCodeBlocks = this.shouldSuppressInCodeBlocks(ruleId);
497
+ // Code block suppression: for runtime events, rules that commonly
498
+ // false-positive on documentation content are suppressed when the match
499
+ // falls inside a markdown code block.
500
+ // Code block suppression in skill context:
501
+ // - scan_target: 'skill' rules NOT suppressed (their patterns are designed
502
+ // for SKILL.md code blocks which ARE executable instructions)
503
+ // - Other rules → suppressed (their patterns FP on code examples)
504
+ const isSkillCtx = event.scanContext === 'skill';
505
+ const isSkillRule = this.rules.find(r => r.id === ruleId)?.tags?.scan_target === 'skill';
506
+ const suppressInCodeBlocks = (isSkillCtx && !isSkillRule)
507
+ ? true // non-skill rules: always suppress code blocks in SKILL.md
508
+ : (!isSkillCtx && this.shouldSuppressInCodeBlocks(ruleId));
470
509
  const codeRanges = suppressInCodeBlocks ? buildCodeBlockRanges(fieldValue) : [];
471
510
  // Get pre-compiled patterns
472
511
  const compiled = this.compiledPatterns.get(ruleId)?.get(condName);
@@ -743,6 +782,12 @@ export class ATREngine {
743
782
  * Resolve a field value from an agent event.
744
783
  */
745
784
  resolveField(fieldName, event) {
785
+ // Skill context: a SKILL.md is the entire document. ALL fields resolve to
786
+ // content so every rule can scan it. FP is controlled by requiring 2+
787
+ // condition matches in skill context (see evaluate()), not by field filtering.
788
+ if (event.scanContext === 'skill' && event.content) {
789
+ return event.content;
790
+ }
746
791
  // Check explicit fields first
747
792
  if (event.fields?.[fieldName]) {
748
793
  return event.fields[fieldName];
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
@@ -13,11 +13,19 @@
13
13
  import type { Maturity, QualityGateResult, RuleMetadata } from "./types.js";
14
14
  /**
15
15
  * Minimum requirements for each maturity level.
16
- * Thresholds match RFC-001 §3. Adjust here to tune the bar.
17
16
  *
18
- * The experimental gate uses 3/3 (matching Cisco-merge practice) and
19
- * accepts any provenance (auto-generated OK). The stable gate requires
20
- * 5/5 with 3 evasion tests AND human-reviewed provenance for MITRE/OWASP.
17
+ * RFC-001 v1.1 (effective 2026-04-12) splits the quality bar:
18
+ * - experimental: 3/3/0 low barrier for community contribution. OWASP,
19
+ * MITRE, evasion tests, and FP docs are encouraged but NOT required.
20
+ * The upgrade pipeline adds these during promotion to stable.
21
+ * - stable: 5/5/3 — production-quality bar with verified provenance,
22
+ * OWASP + MITRE mapping, evasion tests, and wild validation.
23
+ *
24
+ * Rationale: VirusTotal doesn't reject "low quality" samples — everything
25
+ * gets in. Sigma experimental is loose. A strict experimental gate kills
26
+ * community contribution velocity. Data velocity > data purity at scale.
27
+ *
28
+ * See docs/proposals/001-atr-quality-standard-rfc.md §1 and §3.
21
29
  */
22
30
  declare const REQUIREMENTS: {
23
31
  readonly draft: {
@@ -31,13 +39,13 @@ declare const REQUIREMENTS: {
31
39
  readonly requireHumanReviewedProvenance: false;
32
40
  };
33
41
  readonly experimental: {
34
- readonly minConditions: 3;
42
+ readonly minConditions: 1;
35
43
  readonly minTruePositives: 3;
36
44
  readonly minTrueNegatives: 3;
37
45
  readonly minEvasionTests: 0;
38
- readonly requireOwasp: true;
39
- readonly requireMitre: true;
40
- readonly requireFalsePositiveDocs: true;
46
+ readonly requireOwasp: false;
47
+ readonly requireMitre: false;
48
+ readonly requireFalsePositiveDocs: false;
41
49
  readonly requireHumanReviewedProvenance: false;
42
50
  };
43
51
  readonly stable: {
@@ -51,6 +59,16 @@ declare const REQUIREMENTS: {
51
59
  readonly requireHumanReviewedProvenance: true;
52
60
  };
53
61
  };
62
+ /**
63
+ * RFC-001 v1.1 §1.1 — Single-Pattern Rule Exception threshold.
64
+ *
65
+ * A rule with fewer than `minConditions` for its target maturity level
66
+ * is still accepted if it has been validated against at least this many
67
+ * real-world samples with a measured false-positive rate of exactly 0.
68
+ * Set to the size of the most recent ATR mega scan as of effective date,
69
+ * which is the empirical evidence baseline the standard authors used.
70
+ */
71
+ export declare const SINGLE_PATTERN_EXCEPTION_MIN_SAMPLES = 50000;
54
72
  /**
55
73
  * Validate a rule against the quality bar for a target maturity level.
56
74
  *
@@ -1 +1 @@
1
- {"version":3,"file":"quality-gate.d.ts","sourceRoot":"","sources":["../../src/quality/quality-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,QAAQ,EAER,iBAAiB,EACjB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB;;;;;;;GAOG;AACH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BR,CAAC;AAQX;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,YAAY,EAClB,MAAM,CAAC,EAAE,QAAQ,GAChB,iBAAiB,CAiFnB;AAMD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,YAAY,CAErD"}
1
+ {"version":3,"file":"quality-gate.d.ts","sourceRoot":"","sources":["../../src/quality/quality-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,QAAQ,EAER,iBAAiB,EACjB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BR,CAAC;AAEX;;;;;;;;GAQG;AACH,eAAO,MAAM,oCAAoC,QAAS,CAAC;AAQ3D;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,YAAY,EAClB,MAAM,CAAC,EAAE,QAAQ,GAChB,iBAAiB,CAiHnB;AAMD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,YAAY,CAErD"}