Back to skill

Security audit

clawec-amazon-aba-selection

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed ClawEC API helper for Amazon ABA market research, but users should know it sends search inputs and account credentials to Clawec and may use account credits.

Install or use this only if you intend to connect your agent to ClawEC. Keep CLAWEC_API_KEY scoped to this service, avoid sharing sensitive unrelated business data in search parameters, and remember that searches or AI interpretation may consume account points or expose query history through the ClawEC account API.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (14)

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

The skill documents use of environment variables and shell commands to call an external API, but it declares no explicit tool scope or allowed-tools metadata. That creates a governance gap: an agent/runtime may permit broader tool access than intended, increasing the chance of unauthorized shell execution or secret access beyond what is necessary for the skill.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% 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 · SKILL.md (reported line 76)May include surrounding context.

| 6 | 长尾市场 |

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

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The markdown explicitly states "默认中文摘要", which imposes a specific output language as the default behavior. Under the policy, language constraints should offer user choice or clear opt-in unless justified as region-specific; no such opt-in or justification is provided here.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

This shell script performs a network call to an external API and transmits user-supplied data (LOG_ID) along with authorization credentials. In this file there is no confirmation prompt, logging, or explanatory comment warning the user that data will be sent off-host.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

This code performs a network call and transmits a bearer token in the Authorization header, but the script provides no confirmation prompt, logging, comment, or docstring explaining that it will contact a remote API using credentials from the environment. For code files, network calls that transmit user or system data should have some form of disclosure unless the warning is documented elsewhere, which is not visible in this file.

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

sh
if sm.strip(): body["searchModel"]=int(sm)
print(json.dumps(body, ensure_ascii=False))
' "$MARKETPLACE" "$DATE" "$DEPARTMENTS" "$SEARCH_MODEL" "$AI")
curl -s -X POST "https://www.clawec.com/api/aigc/ec/amazon/market_trend/search" -H "Content-Type: application/json" -H "Authorization: Bearer $API_KEY" -d "$PAYLOAD"

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

This shell script performs an outbound HTTP POST to an external service and includes both the generated payload and a bearer token from an environment variable. There is no confirmation prompt, visible disclosure, or explanatory comment warning the user that their inputs will be transmitted off-system.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The usage/help text is presented only in Chinese, which imposes a specific language choice in the skill's natural-language interface without any opt-in or alternative. Under the stated policy, language constraints should either offer user choice or be explicitly justified as region-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The script's only user-visible messages are in Chinese (用法, 请设置环境变量), which imposes a specific language on all users. There is no opt-in, fallback, or documented justification for restricting messages to that locale.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

该技能描述聚焦于通过 ClawEC API 进行亚马逊 ABA 市场趋势分析与选品,但脚本实现依赖读取环境变量中的 CLAWEC_API_KEY 作为认证凭据。虽然调用外部 API 对该技能目的本身是合理的,但从开发者意图审计角度看,凭据读取属于额外能力,描述中并未说明认证或密钥访问行为。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

The environment-variable error text is hard-coded in Chinese ("请设置环境变量 CLAWEC_API_KEY"), which imposes a specific language on users without opt-in or documented locale justification. The policy requires avoiding forced language or locale choices unless the tool explicitly offers selection or is clearly region-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
96% confidence
Finding

The script's user-facing text is presented in Chinese only ("用法" and "请设置环境变量"), which imposes a specific language on users without opt-in or justification. This is a natural-language policy issue because the file does not offer any locale selection or explain that the skill is intentionally limited to Chinese-speaking users.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The script invokes external helper scripts via subprocess.run and raises errors silently to the caller, but this file does not include a confirmation prompt, print/log disclosure, or comments/docstrings explaining that it will execute other local scripts. Because shell/subprocess execution is a safety-relevant operation for code files, the lack of any visible user disclosure meets the missing-warning criterion here.

Content

No source excerpt is available for this finding.