Tp4
- Category
- MCP Tool Poisoning
- Confidence
- 97% confidence
- Finding
声明描述的是一个用于亚马逊选品调研的功能,核心应是根据调研条件发起产品研究查询并返回分析结果。但实际代码仅访问搜索日志接口,行为是读取历史日志列表,而不是执行产品调研本身。它既没有实现声明中的关键输入参数(市场、月份、类目、关键词、fastMode),也没有体现 AI 解读功能。因此代码的实际主要用途与声明的主要用途存在实质性不一致。
- Content
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a disclosed wrapper around ClawEC's Amazon product-research API, using a user-provided API key and product-search parameters in a purpose-aligned way.
Install only if you are comfortable sending Amazon product-research queries and your CLAWEC_API_KEY to Clawec. Use a dedicated API key if possible, avoid entering highly sensitive proprietary search terms unless appropriate, and keep the key in the environment rather than hardcoding it.
声明描述的是一个用于亚马逊选品调研的功能,核心应是根据调研条件发起产品研究查询并返回分析结果。但实际代码仅访问搜索日志接口,行为是读取历史日志列表,而不是执行产品调研本身。它既没有实现声明中的关键输入参数(市场、月份、类目、关键词、fastMode),也没有体现 AI 解读功能。因此代码的实际主要用途与声明的主要用途存在实质性不一致。
Code enumerates, copies, or searches environment variables for secrets. Bulk environment access can collect credentials unrelated to the skill's stated purpose.
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")
The skill explicitly instructs use of environment variables and shell/curl, but it does not declare any tool scope or permissions boundary. That creates an authorization gap: an agent may invoke shell or access env-backed secrets without an explicit least-privilege declaration, increasing the chance of unintended secret use or command execution.
The skill sends user-supplied research parameters and an authorization bearer token to an external third-party API. External transmission is expected for this skill’s purpose, but it is still security-relevant because sensitive business queries, usage metadata, and credentials are involved; without explicit consent and scoping, this can expose proprietary research activity or misuse API secrets.
| beginner | 新手推荐 |
curl -s -X POST "https://www.clawec.com/api/aigc/ec/amazon/product_research/search" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $CLAWEC_API_KEY" \
-d '{"marketplace":"US","month":"202505","keyword":"phone case","matchType":2,"page":1,"size":50,"nodeIdPathEqual":false,"aiInterpret":true}'
The workflow explicitly instructs the skill to '输出中文摘要', which imposes a specific language on all users. This is a natural-language policy concern because the file does not offer a language choice or state that Chinese output is optional or context-limited.
This code file performs a network call using curl and sends the provided log ID to a remote API while authenticating with a sensitive environment variable. There is no confirmation prompt, logging, comment, or other user-facing disclosure in the script explaining that data will be sent off-system.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
print(json.dumps(body, ensure_ascii=False))
' "$MARKETPLACE" "$MONTH" "$KEYWORD" "$NODE_PATHS" "$FAST_MODE" "$AI")
curl -s -X POST "https://www.clawec.com/api/aigc/ec/amazon/product_research/search" -H "Content-Type: application/json" -H "Authorization: Bearer $API_KEY" -d "$PAYLOAD"
This shell script performs an HTTP POST to an external service and includes both the generated payload and a bearer token derived from an environment variable. There is no confirmation prompt, visible logging, or comment/docstring warning the user that their inputs and credential will be transmitted off-system.
The usage and error messages are hard-coded in Chinese, which imposes a specific language on users without opt-in. Under the policy, locale-specific behavior should either offer a choice or clearly document why the constraint is required.
The required-environment-variable error text is hardcoded in Chinese: "请设置环境变量 CLAWEC_API_KEY". This is a natural-language locale choice imposed on all users, with no indication that the skill is region-specific or that users can select their preferred language.
All visible usage instructions and option descriptions are written in Chinese, with no alternative language or mechanism for user language selection. This can violate language/locale policy when a skill imposes a specific language without offering opt-in or choice.
The user-facing usage section is presented only in Chinese ("环境变量", related descriptions) with no indication of language choice or opt-in. This can violate language/locale policy when a skill forces a specific language for user interaction without offering alternatives.