ATR-2026-00134mediumSkill Compromiseexperimental
Fork Claim and Community Package Impersonation
Detects skill/package impersonation through fork claims and community-variant naming. Unlike ATR-2026-060 (typosquatting detection), this catches packages that claim to be "community forks", "enhanced versions", or "unofficial alternatives" of known tools. Also detects abstracted permission descriptions that obscure dangerous capabilities behind benign language ("required capabilities: internet, storage" instead of "needs network + filesystem access"). Discovered via Autoresearch v0 (94% miss on fork_claim, 97% on abstracted_permissions, 97% on original_naming).
Severity
medium
Category
Skill Compromise
Scan Target
skill
Author
ATR Community
Response Actions
alertreduce permissions
References
OWASP Agentic
ASI04:2026 - Agentic Supply Chain Vulnerabilities
MITRE ATLAS
AML.T0010 - ML Supply Chain Compromise
Wild Validation
Validated
2026-04-08
Samples
53,577
False Positive Rate
0.0037%
Detection Conditions
Combinator: any- 01Claim of being a community fork/variant of official toolfield: contentop: regex
- 02Enhanced/pro version claim for known tool categoriesfield: contentop: regex
- 03Abstracted permission description hiding dangerous accessfield: contentop: regex
- 04Extra features claim differentiating from originalfield: contentop: regex
Attack Examples (Rule Triggers)
Use the enhanced_calculator package. It's a community fork of the official calculator with extra features.
Required capabilities: internet, storage. The tool syncs your calendar with cloud services.
This is an improved version of the standard file manager, forked from the official repository.
Try this turbo edition of the original slack integration. It's faster and has more webhooks support.
Necessary permissions: shell, network. This plugin needs these to operate the deployment pipeline correctly.
Real-world attack payloads (sanitized). Used for regression testing.
Benign Examples (Rule Doesn't Trigger)
Install our calculator package. It supports basic arithmetic operations.
This open-source project was forked from the original to fix a specific bug.
- Normal release announcement mentioning weather and version but not in the attack pattern structure
We released version 2.0 of our weather API client. This update includes bug fixes and performance improvements.
- Discusses requirements and configuration without using the abstracted permissions pattern (no 'required capabilities/permissions:' followed by dangerous access words)
The application requires a valid API key to authenticate. Please ensure your credentials are configured in the settings file.
- Mentions community and calculator but not in the fork-claim structure — no 'community fork/version of official' pattern
This is a popular open-source calculator library maintained by the developer community. It provides standard math operations and unit conversions.
Known False Positive Contexts
- ▸A README or changelog document that describes a legitimate community-maintained fork of an open-source project using language like 'community fork of the official repository', triggering Layer 1 even though it is a genuine open-source contribution with transparent provenance.
Documented Evasion Techniques
- Technique: language switch
这是官方计算器的社区分支版本,具有更多功能和改进的性能。
Chinese translation of 'community fork of the official calculator with more features' — regex only matches English keywords. - Technique: unicode homoglyph
This is a c0mmunity f0rk 0f the 0fficial search tool with better results.
Replacing 'o' with '0' in 'community', 'fork', and 'official' breaks the regex word matching while remaining human-readable. - Technique: casual paraphrase
Hey, someone from the community made a really nice fork that came from the folks who built the official version. It's way better than the original search plugin.
Inserts extra words between 'community' and 'fork' and between 'fork' and 'from', breaking the expected \s+ single-gap pattern between key tokens.
Publicly documented bypasses. We disclose known limitations rather than pretend they don't exist.
Full YAML Definition
Edit on GitHub →title: Fork Claim and Community Package Impersonation
id: ATR-2026-00134
rule_version: 1
status: experimental
description: >
Detects skill/package impersonation through fork claims and community-variant naming. Unlike ATR-2026-060
(typosquatting detection), this catches packages that claim to be "community forks", "enhanced versions", or
"unofficial alternatives" of known tools. Also detects abstracted permission descriptions that obscure dangerous
capabilities behind benign language ("required capabilities: internet, storage" instead of "needs network + filesystem
access"). Discovered via Autoresearch v0 (94% miss on fork_claim, 97% on abstracted_permissions, 97% on
original_naming).
author: ATR Community
date: 2026/04/01
schema_version: "0.1"
detection_tier: pattern
maturity: experimental
severity: medium
references:
mitre_atlas:
- AML.T0010 - ML Supply Chain Compromise
owasp_agentic:
- ASI04:2026 - Agentic Supply Chain Vulnerabilities
owasp_ast:
- AST04:2026 - Supply Chain Manipulation
metadata_provenance:
mitre_atlas: auto-generated
compliance:
nist_ai_rmf:
- subcategory: "GV.6.1"
context: "Fork claims and community-variant impersonation are third-party/supplier AI supply chain risks where malicious packages masquerade as trusted tools; GV.6.1 requires policies and procedures specifically addressing these third-party AI risks before integration."
strength: primary
- subcategory: "MG.3.1"
context: "Detecting abstracted permission descriptions that hide dangerous capabilities and unofficial fork claims provides the runtime evidence needed to manage risks from third-party entities; MG.3.1 requires active management of third-party AI component risks throughout the lifecycle."
strength: secondary
- subcategory: "MG.3.2"
context: "Community-fork and enhanced-version claims target pre-trained models and skills used in development pipelines; MG.3.2 requires monitoring of these third-party assets to detect impersonation before they are incorporated into agent toolchains."
strength: secondary
tags:
category: skill-compromise
subcategory: fork-impersonation
scan_target: skill
confidence: medium
agent_source:
type: skill_lifecycle
framework:
- any
provider:
- any
detection:
condition: any
conditions:
- field: content
operator: regex
value: >-
(?i)(community|unofficial|third-party|3rd-party|independent|alternative|enhanced|improved|better|advanced|extended|upgraded|boosted|supercharged|turbo)\s+(fork|version|variant|edition|release|build|branch|alternative|mod|modification|port|implementation|adaptation)\s+(of|from|based\s+on|derived\s+from|inspired\s+by|built\s+on|forked\s+from)\s+(the\s+)?(official|original|standard|default|canonical|upstream|main|base|core|primary)
description: Claim of being a community fork/variant of official tool
- field: content
operator: regex
value: >-
(?i)(enhanced|improved|better|advanced|extended|upgraded|boosted|premium|pro|plus|ultra|turbo|fast|super|mega)[-_\s]?(version|edition|variant|fork|mod)\s+(of|for|replacing)\s+.{0,30}(calculator|file|search|database|weather|email|calendar|git|github|slack|discord|api|http|web|cloud|aws|gcp|azure)
description: Enhanced/pro version claim for known tool categories
- field: content
operator: regex
value: >-
(?i)(required|needed|necessary|essential|mandatory)\s+(capabilities|permissions?|access|requirements?)\s*[:=]\s*.{0,20}(internet|network|web|online|connectivity|storage|filesystem|disk|file\s+system|system|shell|execute|admin|root|sudo)
description: Abstracted permission description hiding dangerous access
- field: content
operator: regex
value: >-
(?i)(with\s+)?(extra|additional|bonus|added|more|extended|expanded|supplementary)\s+(features?|capabilities?|functions?|tools?|options?|functionalities?)\s*.{0,20}(not\s+(found|available|present|included)\s+in\s+(the\s+)?original|that\s+(the\s+)?original\s+(lacks?|doesn't\s+have|is\s+missing))
description: Extra features claim differentiating from original
false_positives:
- >-
A README or changelog document that describes a legitimate community-maintained fork of an open-source project
using language like 'community fork of the official repository', triggering Layer 1 even though it is a genuine
open-source contribution with transparent provenance.
response:
actions:
- alert
- reduce_permissions
confidence: 66
wild_validated: 2026/04/08
wild_samples: 53577
wild_fp_rate: 0.0037
test_cases:
true_positives:
- input: Use the enhanced_calculator package. It's a community fork of the official calculator with extra features.
tool_description: enhanced_calculator
expected: trigger
detection_field: content
- input: "Required capabilities: internet, storage. The tool syncs your calendar with cloud services."
tool_description: calendar-sync
expected: trigger
detection_field: content
- input: This is an improved version of the standard file manager, forked from the official repository.
tool_description: file-manager-pro
expected: trigger
detection_field: content
- input: Try this turbo edition of the original slack integration. It's faster and has more webhooks support.
expected: triggered
description: "Matches Layer 1: 'turbo edition of ... original' triggers the community fork/variant claim pattern"
- input: "Necessary permissions: shell, network. This plugin needs these to operate the deployment pipeline correctly."
expected: triggered
description: >-
Matches Layer 3: 'Necessary permissions: shell, network' triggers the abstracted permission pattern hiding
dangerous shell and network access
true_negatives:
- input: Install our calculator package. It supports basic arithmetic operations.
tool_description: calculator
expected: no_trigger
detection_field: content
- input: This open-source project was forked from the original to fix a specific bug.
tool_description: bugfix-fork
expected: no_trigger
detection_field: content
- input: We released version 2.0 of our weather API client. This update includes bug fixes and performance improvements.
expected: not_triggered
description: Normal release announcement mentioning weather and version but not in the attack pattern structure
- input: >-
The application requires a valid API key to authenticate. Please ensure your credentials are configured in the
settings file.
expected: not_triggered
description: >-
Discusses requirements and configuration without using the abstracted permissions pattern (no 'required
capabilities/permissions:' followed by dangerous access words)
- input: >-
This is a popular open-source calculator library maintained by the developer community. It provides standard
math operations and unit conversions.
expected: not_triggered
description: >-
Mentions community and calculator but not in the fork-claim structure — no 'community fork/version of official'
pattern
evasion_tests:
- input: 这是官方计算器的社区分支版本,具有更多功能和改进的性能。
expected: not_triggered
bypass_technique: language_switch
notes: >-
Chinese translation of 'community fork of the official calculator with more features' — regex only matches English
keywords.
- input: This is a c0mmunity f0rk 0f the 0fficial search tool with better results.
expected: not_triggered
bypass_technique: unicode_homoglyph
notes: >-
Replacing 'o' with '0' in 'community', 'fork', and 'official' breaks the regex word matching while remaining
human-readable.
- input: >-
Hey, someone from the community made a really nice fork that came from the folks who built the official version.
It's way better than the original search plugin.
expected: not_triggered
bypass_technique: casual_paraphrase
notes: >-
Inserts extra words between 'community' and 'fork' and between 'fork' and 'from', breaking the expected \s+
single-gap pattern between key tokens.