ATR-2026-00124highSkill 入侵experimental
Skill Squatting / Typosquatting
Detects skills impersonating known publishers or using typosquatted names. VirusTotal documented threat actor "hightower6eu" publishing 314 skills with legitimate-sounding names delivering AMOS infostealers. OWASP AST04 covers insecure metadata including fake brand impersonation. This rule only flags skills from UNKNOWN publishers that claim to be official. Skills from verified publishers (anthropics, vercel-labs, microsoft, github, google) are excluded.
嚴重度
high
類別
Skill 入侵
掃描目標
skill
作者
ATR Community
建議回應
alertalert
參考資料
OWASP Agentic
ASI04:2026 - Supply Chain Compromise
OWASP LLM
LLM03:2025 - Supply Chain Vulnerabilities
MITRE ATLAS
AML.T0010 - ML Supply Chain Compromise
實地驗證
驗證日期
2026-04-11
樣本數
89,971
誤報率
0%
偵測條件
組合方式: any- 01Self-referential fake official publisher claim (requires 'this is the/we are the/our')欄位: content運算子: regex
- 02Crypto-themed skill name with malicious-intent suffix (drainer/stealer/recovery scam/key generator)欄位: content運算子: regex
攻擊範例(規則會觸發)
- 觸發條件: Self-referential fake official claim
This is the official Anthropic skill for code review, maintained by us.
- 觸發條件: Crypto-themed name
--- name: solana-drain-tool description: Manage your Solana portfolio ---
- 觸發條件: Crypto-themed name
--- name: bitcoin-steal-recovery ---
- 觸發條件: Crypto-themed name (drainer suffix)
--- name: ethereum-drainer-v2 description: Empty wallets fast ---
- 觸發條件: Crypto-themed name (recovery scam pattern)
--- name: wallet-recovery-helper description: Recover lost crypto ---
以上為真實攻擊 payload 脫敏版本。用於 regression testing。
正常樣本(規則不會觸發)
- Mentioning official API, not claiming to BE official
This skill works with the official Anthropic API to analyze code.
- Actual Anthropic skill name — no fake claim
--- name: claude-api description: Build apps with the Claude API ---
- Referencing MS product, not claiming to be MS
Download the official Microsoft extension for VS Code.
- Generic name, no brand impersonation
--- name: my-code-formatter description: Format code ---
- Legit Jupiter DEX integration (1916 downloads)
--- name: solana-swaps description: Swap tokens on Solana via Jupiter aggregator ---
- Legit trading bot framework (4495 downloads)
--- name: crypto-trading-bot description: Pine Script + Python + CCXT trading bot generator ---
- Legit Bybit AI trader (191 downloads)
--- name: bybit-trading description: Bybit AI Trading Skill — natural language trading ---
- Legit multi-chain wallet manager (1574 downloads)
--- name: openclaw-wallet description: Multi-chain wallet management for AI agents ---
- Legit price tracker (419 downloads)
--- name: crypto-tracker-cn description: Track cryptocurrency markets in real-time ---
- Legit market analysis tool (105 downloads)
--- name: binance-trade-hunter description: Binance trading skill for coin analysis ---
已知誤報情境
- ▸Legitimate crypto/DeFi development tools (rare on skills.sh)
已記錄的規避手法
- 手法: unicode homoglyph
--- name: bіtcoin-drainer ---
Cyrillic 'і' (U+0456) replaces Latin 'i' in 'bitcoin'. The brand keyword no longer matches the ASCII regex character class. - 手法: format manipulation
--- name: solanaDrainer ---
camelCase removes the [_-] separator the regex requires between brand and suffix. - 手法: indirect reference
--- name: btc-stealer ---
Common ticker abbreviation 'btc' is not in the brand keyword list (the regex only catches the full word 'bitcoin'). Authors writing rules in this category should consider extending the brand list with common tickers.
這些是公開記錄的繞過手法。誠實揭露限制,而不是假裝不存在。
完整 YAML 定義
在 GitHub 編輯 →title: "Skill Squatting / Typosquatting"
id: ATR-2026-00124
rule_version: 1
status: experimental
description: >
Detects skills impersonating known publishers or using typosquatted names.
VirusTotal documented threat actor "hightower6eu" publishing 314 skills with
legitimate-sounding names delivering AMOS infostealers. OWASP AST04 covers
insecure metadata including fake brand impersonation. This rule only flags
skills from UNKNOWN publishers that claim to be official. Skills from verified
publishers (anthropics, vercel-labs, microsoft, github, google) are excluded.
author: "ATR Community"
date: "2026/03/29"
schema_version: "0.1"
detection_tier: pattern
maturity: experimental
severity: high
references:
mitre_atlas:
- "AML.T0010 - ML Supply Chain Compromise"
owasp_llm:
- "LLM03:2025 - Supply Chain Vulnerabilities"
owasp_agentic:
- "ASI04:2026 - Supply Chain Compromise"
owasp_ast:
- "AST04:2026 - Insecure Metadata"
- "AST02:2026 - Supply Chain Compromise"
research:
- "VirusTotal: hightower6eu 314 AMOS skills"
- "Aikido: slopsquatting 19.7% hallucination rate"
metadata_provenance:
mitre_atlas: auto-generated
compliance:
nist_ai_rmf:
- subcategory: "GV.6.1"
context: "Skill squatting and publisher impersonation are third-party supply chain risks where unverified publishers masquerade as trusted vendors to deliver malicious skills; GV.6.1 requires policies and procedures that address these third-party AI supplier risks before skills are integrated."
strength: primary
- subcategory: "MG.3.1"
context: "Detecting typosquatted skills and fake official publisher claims directly feeds the management of third-party AI risks required by MG.3.1, enabling treatment actions like blocking, quarantining, or requiring re-verification of suspect skills."
strength: secondary
- subcategory: "MP.5.1"
context: "Flagging skills from unknown publishers that self-identify as official characterizes the likelihood and magnitude of supply chain compromise impact, evidence MP.5.1 requires for prioritizing supply-chain risk responses."
strength: secondary
tags:
category: skill-compromise
subcategory: skill-squatting
scan_target: skill
confidence: medium
agent_source:
type: mcp_exchange
framework:
- skill_md
provider:
- any
detection:
conditions:
# Fake official publisher claims from UNKNOWN sources
# Must claim "official X skill" AND NOT be from a known publisher
# The regex requires "official/verified/certified" + brand + "skill/plugin"
# in the SAME sentence with self-referential context ("this is", "we are", "our")
- field: content
operator: regex
value: "(?i)(this\\s+is\\s+the\\s+|we\\s+are\\s+the\\s+|our\\s+)official\\s+(anthropic|vercel|openai|microsoft|google|meta|github)\\s+(skill|plugin|extension|tool)"
description: "Self-referential fake official publisher claim (requires 'this is the/we are the/our')"
# Crypto-themed names matching the AMOS infostealer campaign pattern.
# Only matches suffixes that are themselves malicious-intent words. Legitimate
# DeFi operations (trading, swap, tracking, management, flipping) are too
# common — they were in earlier versions of this regex and produced 16 wild
# false positives in the 2026-04-11 ClawHub scan (legit Jupiter swap, Bybit
# trading bot, crypto portfolio managers, etc). Suffix list reduced to high-
# specificity attack words only.
- field: content
operator: regex
value: "(?i)name:\\s*(solana|bitcoin|ethereum|crypto|wallet|bybit|binance)[_-](drain|steal|recover|generat)[a-z]*"
description: "Crypto-themed skill name with malicious-intent suffix (drainer/stealer/recovery scam/key generator)"
condition: any
false_positives:
- "Legitimate crypto/DeFi development tools (rare on skills.sh)"
response:
actions:
- alert
- alert
message_template: >
[ATR-2026-124] Potential skill squatting detected. This skill claims
official publisher status or uses a crypto-themed name matching known
attack campaigns.
confidence: 78
wild_validated: "2026/04/11"
wild_samples: 89971 # 53577 (mega-scan v1) + 36394 (clawhub registry summary scan)
wild_fp_rate: 0.0
test_cases:
true_positives:
- input: "This is the official Anthropic skill for code review, maintained by us."
expected: triggered
matched_condition: "Self-referential fake official claim"
- input: "---\nname: solana-drain-tool\ndescription: Manage your Solana portfolio\n---"
expected: triggered
matched_condition: "Crypto-themed name"
- input: "---\nname: bitcoin-steal-recovery\n---"
expected: triggered
matched_condition: "Crypto-themed name"
- input: "---\nname: ethereum-drainer-v2\ndescription: Empty wallets fast\n---"
expected: triggered
matched_condition: "Crypto-themed name (drainer suffix)"
- input: "---\nname: wallet-recovery-helper\ndescription: Recover lost crypto\n---"
expected: triggered
matched_condition: "Crypto-themed name (recovery scam pattern)"
true_negatives:
- input: "This skill works with the official Anthropic API to analyze code."
expected: not_triggered
description: "Mentioning official API, not claiming to BE official"
- input: "---\nname: claude-api\ndescription: Build apps with the Claude API\n---"
expected: not_triggered
description: "Actual Anthropic skill name — no fake claim"
- input: "Download the official Microsoft extension for VS Code."
expected: not_triggered
description: "Referencing MS product, not claiming to be MS"
- input: "---\nname: my-code-formatter\ndescription: Format code\n---"
expected: not_triggered
description: "Generic name, no brand impersonation"
# 2026-04-11: ClawHub wild scan regression guards. The previous regex
# accepted suffixes like (track|swap|trad|manag|flip) which produced
# 16 false positives on legitimate DeFi development tools. These TNs
# lock in the fix.
- input: "---\nname: solana-swaps\ndescription: Swap tokens on Solana via Jupiter aggregator\n---"
expected: not_triggered
description: "Legit Jupiter DEX integration (1916 downloads)"
- input: "---\nname: crypto-trading-bot\ndescription: Pine Script + Python + CCXT trading bot generator\n---"
expected: not_triggered
description: "Legit trading bot framework (4495 downloads)"
- input: "---\nname: bybit-trading\ndescription: Bybit AI Trading Skill — natural language trading\n---"
expected: not_triggered
description: "Legit Bybit AI trader (191 downloads)"
- input: "---\nname: openclaw-wallet\ndescription: Multi-chain wallet management for AI agents\n---"
expected: not_triggered
description: "Legit multi-chain wallet manager (1574 downloads)"
- input: "---\nname: crypto-tracker-cn\ndescription: Track cryptocurrency markets in real-time\n---"
expected: not_triggered
description: "Legit price tracker (419 downloads)"
- input: "---\nname: binance-trade-hunter\ndescription: Binance trading skill for coin analysis\n---"
expected: not_triggered
description: "Legit market analysis tool (105 downloads)"
evasion_tests:
- input: "---\nname: bіtcoin-drainer\n---"
expected: not_triggered
bypass_technique: unicode_homoglyph
notes: "Cyrillic 'і' (U+0456) replaces Latin 'i' in 'bitcoin'. The brand keyword no longer matches the ASCII regex character class."
- input: "---\nname: solanaDrainer\n---"
expected: not_triggered
bypass_technique: format_manipulation
notes: "camelCase removes the [_-] separator the regex requires between brand and suffix."
- input: "---\nname: btc-stealer\n---"
expected: not_triggered
bypass_technique: indirect_reference
notes: "Common ticker abbreviation 'btc' is not in the brand keyword list (the regex only catches the full word 'bitcoin'). Authors writing rules in this category should consider extending the brand list with common tickers."