Back to skill

Security audit

Token Freedom

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a coherent AI API recommendation helper, but it includes referral-link behavior with some hardcoded invite codes that are not fully surfaced to users.

Review the referral-link behavior before installing. Use direct provider links if you do not want invite codes involved, and avoid pasting real API keys or sensitive prompts into third-party services unless you accept that provider's terms and data handling.

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

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The skill embeds affiliate/referral behavior by using local config to inject tracking codes into links, but this monetization behavior is not prominently disclosed in the top-level description. Hidden or under-disclosed referral insertion can manipulate recommendations, bias outputs, and cause users to share or use tracking links without informed consent.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding

The skill embeds affiliate/referral behavior by using local config to inject tracking codes into links, but this monetization behavior is not prominently disclosed in the top-level description. Hidden or under-disclosed referral insertion can manipulate recommendations, bias outputs, and cause users to share or use tracking links without informed consent.

Content

No source excerpt is available for this finding.

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/setup-guide.md (reported line 210)May include surrounding context.

md
2. 支持手机号 / 邮箱 / 阿里云账号注册
3. ⚠️ 必须绑定阿里云账号才能用 API(系统会引导)

### 创建 Access Token
1. 登录 → 右上角头像 → 个人中心
2. 进入「我的 Access Token」或直接访问 https://modelscope.cn/my/myaccesstoken
3. 生成新 Token,格式为 `ms-xxxxxxxx`

Credential Access

High
Category
Privilege Escalation
Confidence
77% confidence
Finding

The instruction to remove the ms- prefix from a ModelScope token for use in other tools encourages manual token transformation and reuse across contexts, which can cause mishandling, accidental disclosure, or misuse of credentials in incompatible clients. Cross-tool credential adaptation increases the chance users paste secrets into the wrong place or weaken format-based safeguards and auditing.

Content

Scanner excerpt · references/setup-guide.md (reported line 212)May include surrounding context.

md
### 创建 Access Token
1. 登录 → 右上角头像 → 个人中心
2. 进入「我的 Access Token」或直接访问 https://modelscope.cn/my/myaccesstoken
3. 生成新 Token,格式为 `ms-xxxxxxxx`
4. 如用于 Claude Code 等工具,需去掉 `ms-` 前缀(只保留后半部分)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
83% confidence
Finding

The skill instructs reading local files such as ~/.qclaw/affiliate-config.json and references/default_config.json but does not declare any explicit tool scope or permissions boundary. In an agent environment, undeclared file-read capability weakens transparency and least-privilege controls, increasing the risk of unexpected local data access beyond what users anticipate.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

L003 列出的触发语中包含“帮我注册API”“换个便宜的模型”“接入自己的Key”等宽泛表达,这些短语可能出现在一般性对话中,且文档未说明触发边界或排除条件。缺少更明确的上下文限定,容易与普通求助或配置讨论发生重叠。

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 96)May include surrounding context.

md
1. 告诉用户 QClaw 中的配置位置:模型配置 → 自定义模型
2. 给出对应平台的 Base URL 和模型名(从 setup-guide.md 或 platforms.json 获取)
3. 格式:
   - Base URL: `https://api.xxx.com/v1`
   - API Key: `sk-xxxxxxxx`
   - 模型名: `model-name`
4. 提醒测试连接

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

This JSON contains numerous natural-language values such as names, pricing notes, highlights, and best-for descriptions primarily in Chinese. Because the file does not state that it is intentionally China/Chinese-locale specific or offer multilingual alternatives, it imposes a language expectation that may violate language/locale policy requirements.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The guide provides copy-paste API examples that send user prompts to third-party AI providers but does not warn that prompt contents, metadata, and possibly sensitive business data will leave the local environment. In a setup guide whose purpose is to help users connect external providers, omission of privacy/data-processing disclosure is a real security weakness because users may unknowingly transmit secrets or regulated data.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 · references/setup-guide.md (reported line 28)May include surrounding context.

md
client = OpenAI(
    api_key="sk-xxxxxxxx",
    base_url="https://api.siliconflow.cn/v1"
)

response = client.chat.completions.create(

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 · references/setup-guide.md (reported line 39)May include surrounding context.

md
client = OpenAI(
    api_key="sk-xxxxxxxx",
    base_url="https://api.siliconflow.cn/v1"
)

response = client.chat.completions.create(

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 · references/setup-guide.md (reported line 152)May include surrounding context.

python
client = OpenAI(
    api_key="your-key",
    base_url="https://api.sophnet.com/v1"
)

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 · references/setup-guide.md (reported line 157)May include surrounding context.

python
client = OpenAI(
    api_key="your-key",
    base_url="https://api.sophnet.com/v1"
)

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 · references/setup-guide.md (reported line 247)May include surrounding context.

python
client = OpenAI(
    api_key="gsk_xxx",
    base_url="https://api.groq.com/openai/v1"
)

response = client.chat.completions.create(

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 · references/setup-guide.md (reported line 257)May include surrounding context.

python
client = OpenAI(
    api_key="gsk_xxx",
    base_url="https://api.groq.com/openai/v1"
)

response = client.chat.completions.create(

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 · references/setup-guide.md (reported line 337)May include surrounding context.

md
### 接入 QClaw
- Base URL: `https://token-plan-cn.xiaomimimo.com/v1`(Token Plan 套餐)
- 或: `https://api.xiaomimimo.com/v1`(按量付费)
- 模型名: `mimo-v2.5-pro` / `mimo-v2.5`

### 亮点

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 · references/setup-guide.md (reported line 364)May include surrounding context.

python
client = OpenAI(
    api_key="sk-xxx",
    base_url="https://api.hunyuan.cloud.tencent.com/v1"
)

response = client.chat.completions.create(

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 · references/setup-guide.md (reported line 374)May include surrounding context.

python
client = OpenAI(
    api_key="sk-xxx",
    base_url="https://api.hunyuan.cloud.tencent.com/v1"
)

response = client.chat.completions.create(

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 · references/setup-guide.md (reported line 442)May include surrounding context.

text

### 接入 QClaw
- Base URL: `https://api.openai.com/v1`
- 模型名: `gpt-5` / `gpt-4o` / `o1`

### 亮点

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 · references/setup-guide.md (reported line 500)May include surrounding context.

from openai import OpenAI client = OpenAI( api_key="eyJhbGciOi...", base_url="https://api.minimaxi.com/v1" )

text

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 · references/setup-guide.md (reported line 505)May include surrounding context.

from openai import OpenAI client = OpenAI( api_key="eyJhbGciOi...", base_url="https://api.minimaxi.com/v1" )

text

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 · references/setup-guide.md (reported line 533)May include surrounding context.

from openai import OpenAI client = OpenAI( api_key="sk-xxx", base_url="https://api.moonshot.cn/v1" )

text

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 · references/setup-guide.md (reported line 538)May include surrounding context.

from openai import OpenAI client = OpenAI( api_key="sk-xxx", base_url="https://api.moonshot.cn/v1" )

text

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

This code file contains natural-language descriptions and CLI usage text exclusively in Chinese, indicating the skill is intended to operate in a fixed language. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale constraint is clearly documented and justified, which is not present here.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

L023 使用“用户说 ‘token 用完了’ / ‘想用自己的 API’ / ‘哪个平台便宜’ 时”作为启动条件,但没有说明是否仅限 AI API 平台选择或 QClaw 配置场景。像“哪个平台便宜”这类描述本身可指代多种平台比较需求,触发范围不够具体。

Content

No source excerpt is available for this finding.