Back to skill

Security audit

clawec-tiktok-product-research

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed ClawEC API wrapper for TikTok Shop product research, with no hidden persistence, destructive behavior, or unrelated data access found.

Install only if you intend to use ClawEC for TikTok Shop research and are comfortable sending category queries, market parameters, log IDs, and your CLAWEC_API_KEY-authenticated requests to clawec.com. Keep the API key in the CLAWEC_API_KEY environment variable and avoid placing sensitive business strategy details in category inputs unless you trust the provider.

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
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (14)

Tp4

High
Category
MCP Tool Poisoning
Confidence
90% confidence
Finding

声明描述的是一个面向 TikTok Shop 品类选品机会分析的能力,预期应返回热销排行、阶段判断、进入窗口或达人/视频趋势等分析结果。但代码实际仅调用 logs 接口,按分页参数拉取 product_opportunity search 的日志记录,没有体现执行品类扫描、机会分析或 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 77)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
92% confidence
Finding

The skill uses sensitive capabilities implicitly: it reads an API key from the environment and instructs execution of shell scripts/curl, but it does not declare any tool scope or permissions boundary. This increases the chance that an agent runtime grants broader-than-necessary access, making secret exposure or unintended command execution more likely.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
89% confidence
Finding

The skill sends user-provided category queries and authentication credentials to an external third-party API. Any external transmission can expose sensitive business intent, user data, or secrets if users are not clearly informed, inputs are broader than necessary, or the endpoint is invoked from a privileged environment.

Content

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

未指定 region 时默认 US;未指定 days 时默认 7。

bash
curl -s -X POST "https://www.clawec.com/api/aigc/ec/tiktok/product_opportunity/search" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $CLAWEC_API_KEY" \
  -d '{"region":"US","category":"瑜伽裤","days":7,"aiInterpret":true}'

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The instructions require the agent to produce a Chinese summary and explicitly state '默认中文摘要', which imposes a specific language by default. Under the policy, locale or language constraints should either be optional, user-selected, or clearly justified as region-specific; that opt-in is not present here.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

This code performs an HTTP request to an external service and includes a sensitive authorization header, but the script contains no comment, echo output, or other user-facing notice explaining that data will be transmitted. For a code file, outbound network transmission using credentials should have some visible disclosure unless it is clearly documented in the skill description, which is not present here.

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

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

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

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This shell script performs an HTTP POST to a third-party endpoint and includes user-supplied search parameters in the request body, but the normal execution path provides no confirmation prompt or visible disclosure before transmitting the data. For code files, outbound network transmission of user data should have some form of user disclosure unless clearly surfaced elsewhere in the skill description, which is not present in this file.

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 natural-language messages are hard-coded in Chinese, which imposes a specific language on users without any opt-in or explanation. This matches the language/locale policy concern for files that force a language without offering a choice.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
98% confidence
Finding

The shell parameter expansion emits a hard-coded Chinese message when CLAWEC_API_KEY is missing. This imposes a specific language on users without opt-in or justification, which matches the natural-language locale policy violation category.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

This code performs an external HTTP request using a bearer token from an environment variable, but the script provides no confirmation prompt, logging, or inline disclosure to the user at the point of execution. For a code file, outbound transmission of data and use of credentials should have some visible warning unless clearly disclosed elsewhere.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

The script's user-facing usage and argument descriptions are presented only in Chinese, and the missing-API-key error is also Chinese-only. A skill that forces a specific language without user opt-in can violate language/locale policy unless the locale restriction is explicitly justified, which is not indicated here.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

When the required environment variable is missing, the script emits an error message solely in Chinese. This is another user-facing language constraint without any visible language selection or documented rationale in the file.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
98% confidence
Finding

This shell script is a code file, so SQP-3 applies to natural-language strings inside it. The usage and environment-variable help text are entirely in Chinese, which imposes a specific language on users without opt-in or justification, matching the language/locale policy-violation criterion.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.