Back to skill

Security audit

clawec-ozon-product-traffic-keywords

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward ClawEC API helper that sends user-supplied Ozon product IDs to ClawEC to retrieve keyword metrics.

Install only if you are comfortable sending Ozon product IDs, keyword filters, and an authenticated ClawEC API request to ClawEC. Store CLAWEC_API_KEY as a secret environment variable, avoid sharing logs that include commands or headers, and review ClawEC's handling of business data before using it with sensitive product research.

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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (10)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
89% confidence
Finding

The skill instructs sending product IDs and an API bearer token to an external third-party service, which is a real data transmission boundary. While expected for an API-integration skill, it still creates confidentiality and supply-chain risk because user-supplied business data and credentials leave the local environment and are exposed to the vendor's handling, logging, and retention practices.

Content

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

调用

bash
curl -s -X POST "https://www.clawec.com/api/aigc/ec/ozon/data/product/traffic-keywords" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $CLAWEC_API_KEY" \
  -d '{"itemIds":"123456789","keywordType":"ALL","pageNo":1,"pageSize":15,"sortField":"SEARCH_INDEX","sortDirection":"DESC"}'

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

This markdown file contains user-facing natural-language content only in Chinese, including headings, field descriptions, and parsing guidance. Under the stated policy, forcing a specific language without user opt-in can be a locale-policy violation unless the constraint is clearly documented and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The usage string is presented only in Chinese, which imposes a specific language on users without opt-in. The policy requires language or locale constraints to be optional or clearly justified, and no such choice or justification appears in the file.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The environment-variable error message is hardcoded in Chinese only, which is a natural-language locale restriction without user choice. No documented regional or compliance reason is provided for this constraint.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The script emits validation failures in Chinese only for empty and oversized item ID input. This is a language policy issue because the file enforces a specific language without opt-in or stated justification.

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/query.sh (reported line 33)May include surrounding context.

sh
print(json.dumps(body, ensure_ascii=False))
' "$ITEM_IDS" "$KEYWORD_TYPE" "$PAGE_NO" "$PAGE_SIZE" "$SORT_FIELD" "$SORT_DIRECTION" "$KEYWORD")

curl -s -X POST "https://www.clawec.com/api/aigc/ec/ozon/data/product/traffic-keywords" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d "$PAYLOAD"

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

This shell script performs an HTTP POST to an external API using a bearer token from an environment variable, but there is no confirmation prompt, print/log message, or comment/docstring disclosing that data will be transmitted off-host. For code files, outbound network transmission of user/system data should have some visible user disclosure unless clearly surfaced elsewhere.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The instructions state '输出中文流量词解读与选词建议' and '默认中文报告', which impose a specific language/locale behavior in the skill's natural-language guidance. The policy allows language constraints only when the user is given a choice or the constraint is clearly justified as region-specific, which is not stated here.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The script reads a bearer token from the sensitive environment variable CLAWEC_API_KEY and uses it for authentication, but there is no explanatory comment or user-facing notice about credential use or handling. The existing error text only tells the user to set the variable and does not function as a warning about sensitive credential access.

Content

No source excerpt is available for this finding.