Back to skill

Security audit

clawec-amazon-competitor-monitor

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed ClawEC Amazon competitor-monitoring API wrapper, with expected external data sharing and no hidden persistence or destructive behavior.

Install this only if you are comfortable sending Amazon competitor research inputs and account log lookups to ClawEC using your CLAWEC_API_KEY. Prefer a dedicated API key, review ClawEC account cost or retention expectations, and note that the interface is primarily Chinese.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (15)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

声明描述的核心能力是进行亚马逊竞品检索与监控查询,但该代码片段的实际行为是访问 /competitor/search/logs 端点读取查询日志记录,且只接受分页参数 start 和 size。它没有实现竞品搜索输入(品牌、卖家、ASIN、关键词)相关逻辑,也没有任何 AI 解读处理。因此代码的主要用途与声明的主要用途存在实质性偏差,应判定为不匹配。

Content

No source excerpt is available for this finding.

Env Variable Harvesting

High
Category
Data Exfiltration
Confidence
60% confidence
Finding

Code enumerates, copies, or searches environment variables for secrets. Bulk environment access can collect credentials unrelated to the skill's stated purpose.

Content

Scanner excerpt · scripts/search_and_poll.sh (reported line 36)May include surrounding context.

sh
script_dir = sys.argv[3]
args = sys.argv[4:]

env = os.environ.copy()
search_sh = os.path.join(script_dir, "search.sh")
logs_sh = os.path.join(script_dir, "logs.sh")
detail_sh = os.path.join(script_dir, "log_detail.sh")

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
88% confidence
Finding

The skill documents use of environment variables and shell commands but does not declare any explicit tool scope or allowed tools. That increases the risk of over-broad execution privileges, making it easier for an agent runtime to invoke shell or read secrets beyond what is necessary for the stated API-query task.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The manifest description says the skill should be used when the user needs 'competitor monitor' or '竞品 lookup', but it does not define concrete invocation boundaries, exclusions, or negative examples. These phrases are broad enough to overlap with general product-research requests, which could cause unintended activation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill instructs sending seller, brand, keyword, and ASIN query data to a third-party external API without an explicit user-facing warning or consent step. In an agent setting, this can lead to unintended disclosure of commercially sensitive research data, especially when users may not realize their inputs are being transmitted off-platform.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
93% confidence
Finding

The documented curl command performs authenticated external transmission to a third-party service using a bearer token and user-supplied product/seller data. In context this is the skill's intended function, but it still creates real security/privacy risk if invoked without least privilege, clear consent, or safeguards around secret handling and outbound data disclosure.

Content

Scanner excerpt · SKILL.md (reported line 66)May include surrounding context.

| JP | 日本 |

bash
curl -s -X POST "https://www.clawec.com/api/aigc/ec/amazon/competitor/search" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $CLAWEC_API_KEY" \
  -d '{"marketplace":"US","brand":"Anker","month":"202505","aiInterpret":true}'

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The script reads a sensitive API key from the environment and immediately uses it in a curl request to a remote service. There is no confirmation prompt, visible warning, or explanatory comment/log output disclosing that user-provided input and credentials will be sent over the network.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

This shell script reads a sensitive API credential from the environment and sends a POST request containing user-provided inputs such as brand, seller, ASINs, and keyword to an external service. There is no confirmation prompt, visible disclosure beyond a Chinese usage string, or inline warning that the data will be transmitted off-system.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
70% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · scripts/search.sh (reported line 34)May include surrounding context.

sh
if kw.strip(): body["keyword"]=kw.strip()
print(json.dumps(body, ensure_ascii=False))
' "$MARKETPLACE" "$MONTH" "$BRAND" "$SELLER" "$ASINS" "$KEYWORD" "$AI")
curl -s -X POST "https://www.clawec.com/api/aigc/ec/amazon/competitor/search" -H "Content-Type: application/json" -H "Authorization: Bearer $API_KEY" -d "$PAYLOAD"

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The script's natural-language interface includes help text and runtime messages in Chinese, such as the environment variable descriptions and status/error strings. Because the file does not offer a locale option or indicate that Chinese is a justified, region-specific requirement, this creates a language policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

The natural-language instructions and operational guidance are presented in Chinese, but the skill does not state that it is Chinese-only or offer an alternative language option. This can violate language/locale policy when a specific language is effectively forced without user opt-in or justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
98% confidence
Finding

The usage and error messages are hard-coded in Chinese, which imposes a specific language on all users without opt-in or justification. This can violate language/locale policy when the skill is intended for general use across users with different language preferences.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
96% confidence
Finding

The shell parameter expansion error text is hard-coded in Chinese ("请设置环境变量 CLAWEC_API_KEY"). This imposes a specific language on users without offering a language/locale choice, which matches the language-policy violation criteria.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The usage text and missing-environment-variable error message are presented only in Chinese, which imposes a specific language on users without any opt-in or documented locale constraint. This is a natural-language policy issue because the script does not provide a language choice or justify the locale restriction.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

This code launches other scripts via subprocess to perform searches and repeatedly query historical logs/details, which may access remote services or user-associated operational data. The file provides usage text but no explicit warning, confirmation, or user-facing disclosure that running it will trigger external commands and poll job/log data.

Content

No source excerpt is available for this finding.