Back to skill

Security audit

clawec-tiktok-shop-analysis

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed TikTok Shop product-analysis API helper that sends product identifiers to ClawEC using the user's API key.

Install only if you intend to use ClawEC for TikTok Shop product analysis. Product IDs or links, region choices, log IDs, and your CLAWEC_API_KEY-backed requests will be sent to clawec.com, so avoid submitting sensitive or tracking-heavy URLs unless you are comfortable sharing them with that service.

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 (16)

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

声明的核心用途是“对 TikTok Shop 单品做商品分析”,预期行为应是接收商品标识并调用相应分析接口获取渠道分布、内容形式、流量结构或趋势等结果。而实际代码只是请求 product_analysis/search/logs 日志列表接口,参数也仅有分页用的 start、size,没有任何商品链接、商品 ID 或分析选项输入。这表明代码的主要功能是查看历史搜索/分析日志,而不是执行商品分析本身,因此属于实质性描述不符。

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 73)May include surrounding context.

sh
"aiInterpret": ai_interpret,
}

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
84% confidence
Finding

The skill documents use of shell and environment-sourced credentials (bash, curl, CLAWEC_API_KEY) but does not declare an explicit tool/permission scope. That weakens least-privilege controls and makes it harder for a host agent or reviewer to constrain execution, especially if the skill is invoked automatically.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The invocation description includes broad triggers such as generic product analysis, link parsing, and command-like aliases, which can cause the skill to activate on loosely related user requests. Overbroad routing increases the chance of unintended external API calls and data sharing without a sufficiently specific user intent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill instructs sending product links/IDs and an API credential to a third-party service but does not include a clear user-facing disclosure that data will leave the local environment. This creates privacy and consent risk, particularly if product URLs contain tracking parameters or if users do not expect external transmission.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
90% confidence
Finding

The skill explicitly transmits user-provided product data and an authorization-backed request to an external domain. External transmission is expected for an API integration, but it is still security-relevant because it exposes user inputs and metadata to a third party and can incur unintended data leakage if invoked without consent.

Content

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

| JP | 日本 |

bash
curl -s -X POST "https://www.clawec.com/api/aigc/ec/tiktok/product_analysis/search" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $CLAWEC_API_KEY" \
  -d '{"product":"1732414658666402537","region":"US","aiInterpret":true}'

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The workflow says to '整理中文摘要' and the output guidance says '默认中文摘要', which imposes a specific language on users. The policy allows locale or language constraints only when users are given a choice or the constraint is clearly justified and documented.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This code performs a network request to an external API and includes an authorization credential from an environment variable, but the script provides no comment, prompt, or user-facing output disclosing that data will be transmitted. For code files, outbound network calls involving user or system data and credentials should have some visible warning unless clearly documented elsewhere.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This shell script performs an HTTP request and sends a bearer token from the CLAWEC_API_KEY environment variable in the Authorization header. The file contains no user-facing warning, confirmation, logging, or explanatory comment/docstring disclosing that it will use a sensitive credential in a network call.

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 62)May include surrounding context.

sh
print(json.dumps(body, ensure_ascii=False))
' "$PRODUCT" "$REGION" "$AI_INTERPRET")

curl -s -X POST "https://www.clawec.com/api/aigc/ec/tiktok/product_analysis/search" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d "$PAYLOAD"

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

This shell script performs an outbound HTTP POST that transmits user-supplied product data and region information to an external service. Aside from the help text describing arguments, there is no runtime notice, confirmation, or warning that user input will be sent over the network.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This shell script presents its usage text and operational description entirely in Chinese, and later emits Chinese-only status/error messages as well. Because the file does not offer any user opt-in or alternative locale, it creates a natural-language locale policy concern under the rule for forced language selection.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The script returns JSON messages containing Chinese-only text for not-found and timeout conditions. These user-visible strings enforce a single language at runtime without presenting a choice or documenting a justified locale restriction.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
97% confidence
Finding

The only natural-language user messages in the script are in Chinese, which imposes a specific language on all users without opt-in. The policy calls for flagging language or locale constraints unless the skill offers a choice or clearly documents a justified region-specific requirement.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The error message for a missing environment variable is hard-coded in Chinese: '请设置环境变量 CLAWEC_API_KEY'. This imposes a specific language in user-facing text without any opt-in, choice, or documented locale-specific justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The script's help output and error messaging are presented only in Chinese, with no option for the user to select another language or locale. This is a natural-language policy concern because it imposes a specific language choice rather than offering opt-in or documenting a justified locale restriction.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.