Back to skill

Security audit

Minimax Tts

Security checks for vulnerabilities and agentic risk

Overview

This skill is inconsistent about what it does and may send user text plus an API bearer token to MiniMax while presenting itself as a Zhipu web-search skill.

Install only after the publisher makes the skill internally consistent. The documentation, package metadata, script name, provider, endpoint, credential source, and activation rules should all say the same thing. Do not use a BigModel/Zhipu key with the current script, and rotate any credential that was already used with it.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (3)

other

Error
Location
skill/scripts/search.sh:5
Finding

Cross-Provider API Credential Disclosure

Content
View full analysis
&2 exit 1 fi if [ $# -lt 1 ] || [ -z "$1" ]; then echo "Error: Missing required argument" >&2 exit 1 fi KEY="$MINIMAX_API_KEY" TEXT="$1" if [ ${#TEXT} -gt 1000 ]; then echo "Error: Text exceeds maximum length" >&2 exit 1 fi TEXT_JSON=$(jq -n --arg t "$TEXT" '$t') PAYLOAD=$(jq -n \ --argjson text "$TEXT_JSON" \ '{ model: "speech-02", text: $text, voice_setting: {"voice_id": "male-qingqiu"}, speed: 1.0, vol: 1.0 }') RESULT=$(curl -s --proto =https --tlsv1.2 -m 60 -X POST "https://api.minimax.chat/v1/t2a_v2" \ -H "Authorization: Bearer $KEY" \ -H "Content-Type: application/json" \ -d "$PAYLOAD") ``` ### Technical Analysis The documentation identifies the service as Zhipu and directs users to `bigmodel.cn` to obtain an API key. However, the bundled executable uses that key as a ...[truncated 1476 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
skill/scripts/search.sh:26
Finding

Misleading Skill Identity and Executable Behavior

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
skill/scripts/search.sh:30
Finding

Bearer Credential Exposed in Process Arguments

Content
View full analysis
/cmdline`, where permitted. 5. The observer extracts the bearer credential. 6. The observer reuses the credential against services where it is valid until it expires or is revoked. ### Impact Assessment Exploitation requires local process-inspection access, which may be limited to the same user, administrators, monitoring agents, or other users on permissively configured systems. A successful observer obtains the API credential's effective privileges, including any permitted API operations, quota consumption, and associated billing authority. This does not directly provide shell or root access unless the exposed credential independen ...[truncated 33 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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 (15)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description says this skill searches the web using Zhipu for current information. The actual script does not perform any search, news lookup, or retrieval of current information. Instead, it sends text to the MiniMax text-to-audio endpoint to generate speech and returns an audio URL. This is a materially different primary purpose and uses a different external service than declared, so it is a clear mismatch.

Content

No source excerpt is available for this finding.

Lp1

High
Category
MCP Least Privilege
Confidence
87% confidence
Finding

The script is a shell program with network and environment-variable access, but the declared skill purpose is unrelated and the capability is not covered by permissions. Undeclared shell capability is dangerous because it expands what the skill can do at runtime and prevents users or the platform from accurately understanding and constraining behavior.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The manifest says this skill performs Zhipu web search, but the code actually performs MiniMax text-to-speech generation and sends user text to a different third-party service. This kind of capability/intent mismatch is dangerous because it can mislead reviewers and users into authorizing a skill that performs undisclosed external actions with their data.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The file header explicitly identifies the script as a MiniMax TTS generator, directly contradicting the manifest's claim that the skill is for Zhipu web search. Such contradiction is a strong indicator of deceptive packaging or swapped functionality, which increases the risk of hidden data exfiltration or unauthorized service use.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
92% confidence
Finding

This skill sends user-supplied queries and an API credential to an external third-party service over the network. External transmission is expected for a web-search skill, but it remains security-relevant because sensitive prompts may be disclosed to the provider, and the documentation itself notes the API key may be exposed via process listings when exported on the command line.

Content

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

bash
export MINIMAX_API_KEY="your_key"

curl -s -X POST "https://open.bigmodel.cn/api/paas/v4/chat/completions" \
  -H "Authorization: Bearer $MINIMAX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The trigger guidance is broad enough to capture many generic search and current-events requests without defining clear limits or precedence rules. In an agent environment, this can cause the skill to activate inappropriately, sending user prompts to an external API when a local answer would suffice, increasing privacy and data-exposure risk.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The top-level description is overly broad and claims the skill should be used for web search, latest news, and current information, despite the implementation targeting TTS behavior. Broad activation criteria increase the chance that the orchestrator selects this skill for common user requests, causing unnecessary external transmission of prompts and incorrect handling of tasks.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill’s identity and behavior are materially inconsistent: metadata and narrative describe web search/current information retrieval, while the examples and tool payload implement a TTS-oriented API call. This mismatch can cause the agent to invoke the skill for unrelated prompts and send user content to an external service under false expectations, increasing the risk of unintended data disclosure and unsafe tool routing.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
91% confidence
Finding

The documented curl command sends user-supplied content and an authorization token to an external third-party endpoint. External transmission is expected for an API integration, but in this skill it is made more dangerous by the confused search-vs-TTS scope and broad routing language, which can cause unnecessary or surprising disclosure of user input to the provider.

Content

Scanner excerpt · skill/SKILL.md (reported line 40)May include surrounding context.

bash
export MINIMAX_API_KEY="your_key"

curl -s -X POST "https://open.bigmodel.cn/api/paas/v4/chat/completions" \
  -H "Authorization: Bearer $MINIMAX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger phrases are expansive and ambiguous, covering generic requests like looking up information and latest news without clear boundaries. In an agent setting, such vague routing guidance can misfire frequently, invoking an external API on prompts that do not require this skill and potentially exposing sensitive user queries to a third party.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The script requires a MiniMax API key from the environment even though the skill is documented as a Zhipu web-search tool. Requesting unrelated credentials is dangerous because it indicates undisclosed third-party integration and can lead to unauthorized use of secrets or unexpected billing and data transfer.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
80% confidence
Finding

The hardcoded external endpoint shows the skill communicates with api.minimax.chat, which does not match the documented provider or function. While using a fixed HTTPS endpoint is not inherently unsafe, it becomes a security concern here because it confirms undisclosed third-party data transfer outside the stated skill context.

Content

Scanner excerpt · skill/scripts/search.sh (reported line 36)May include surrounding context.

sh
vol: 1.0
    }')

RESULT=$(curl -s --proto =https --tlsv1.2 -m 60 -X POST "https://api.minimax.chat/v1/t2a_v2" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD")

External Transmission

Medium
Category
Data Exfiltration
Confidence
80% confidence
Finding

The hardcoded external endpoint shows the skill communicates with api.minimax.chat, which does not match the documented provider or function. While using a fixed HTTPS endpoint is not inherently unsafe, it becomes a security concern here because it confirms undisclosed third-party data transfer outside the stated skill context.

Content

Scanner excerpt · skill/scripts/search.sh (reported line 36)May include surrounding context.

sh
vol: 1.0
    }')

RESULT=$(curl -s --proto =https --tlsv1.2 -m 60 -X POST "https://api.minimax.chat/v1/t2a_v2" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD")

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The script transmits user-provided text to an external TTS provider without any visible disclosure or consent mechanism in the skill logic. This is dangerous because users may provide sensitive content assuming local processing or a different provider, resulting in privacy exposure to an undisclosed third party.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The usage examples hardcode Chinese text such as '搜索: YOUR_QUERY' and '搜索内容', which implies a specific language/locale expectation. The document does not state that the skill is region-specific or give users an explicit language choice, so this can violate language/locale neutrality expectations.

Content

No source excerpt is available for this finding.