Back to skill

Security audit

multi-platform-translator

Security checks for vulnerabilities and agentic risk

Overview

This translation skill is useful in purpose, but it misleadingly says text stays local while its instructions send that text to external translation and chat services.

Review before installing. Do not use this skill for passwords, API keys, personal data, confidential business text, legal documents, or regulated material unless you are comfortable sending that text to the selected provider and possibly to fallback providers. The publisher should replace the local-only privacy claim with clear provider-by-provider disclosure and require confirmation before fallback transmission.

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 (1)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:54
Finding
Misleading Privacy Claim and Unconsented Disclosure to Multiple Translation Providers<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 54–85 and line 182 **Vulnerability Type**: External transmission of user content under a contradictory privacy statement **Risk Level**: Medium ### Relevant Skill Instructions The following English translation preserves the complete security-relevant behavior described by the affected instructions: ```text Lines 54–58 — XFYun: Open: https://fanyi.xfyun.cn/console/trans/text Wait for loading to complete and locate the input field. Clear the content and enter the text to be translated. Select the target language if specified. Click the Translate button and return the content from the result area. Lines 61–63 — DeepL: Open: https://www.deepl.com/zh/translator Wait for loading to complete and clear the source-text input field. Enter the text, select the target language if specified, and return the translated result. Lines 65–67 — iCIBA: Open: https://www.iciba.com/ Enter the text to be translated in the search field and submit it. Return the principal translation from the results area. Lines 70–72 — Doubao: Open: https://www.doubao.com/chat Enter a translation instruction in the input field. Send the message, wait for a reply, and return the translation. Lines 75–77 — Tencent Yuanbao: Open: https://yuanbao.tencent.com/chat/naQivTmsDa Enter a translation instruction in the input field. Send the message, wait for a reply, and return the translation. Lines 83–85 — Automatic fallback: If XFYun fails to load, automatically switch to the next engine: DeepL, iCIBA, Doubao, or Yuanbao. If Doubao or Yuanbao is not logged in, notify the user and automatically switch to another engine. Line 182 — Privacy assurance: All translated content is transmitted only within the local browser and will not be uploaded to third-party services. ``` ### Technical Analysis The skill directs an agent to enter user-supplied text into websites operated by XFYun, DeepL, iCIBA, Doubao, and Tencent Yuanbao. Entering ...[truncated 2502 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Replace the inaccurate privacy statement with an explicit disclosure that translation text is transmitted to remote third-party services. 2. Identify every supported provider that may receive the content and link to the applicable privacy, retention, and data-processing policies. 3. Obtain informed user consent before transmitting content to the initially selected provider. 4. Do not automatically resend content to a fallback provider. Explain the failure, name the proposed fallback provider, and obtain separate confirmation before retransmission. 5. Allow users to disable fallback entirely or restrict fallback to an approved provider list. 6. Clearly warn users not to submit passwords, API keys, private keys, regulated records, or other highly sensitive information. 7. Offer a genuinely local or offline translation engine when claiming that content remains local. 8. Minimize submitted data by translating only the user-selected text and avoiding unnecessary surrounding context or metadata. 9. Document whether authenticated providers may associate translations with the user's account and browser session. 10. Add a visible audit trail indicating which provider received the text and whether any fallback occurred. ]]>
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Hidden Instructions

High
Category
Prompt Injection
Content
---
name: multi-platform-translator
version: 1.2.0
description: "Translate content across multiple platforms and languages with context-aware localization"
Confidence
60% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Missing User Warnings

High
Confidence
98% confidence
Finding
The skill description and notes fail to provide an accurate warning that content is sent to third-party translation websites, and nearby text even implies the opposite. Because the skill is designed around external web translators and chat services, missing or misleading disclosure materially increases the risk of accidental exfiltration of confidential, personal, or proprietary text.

Intent-Code Divergence

High
Confidence
99% confidence
Finding
The skill explicitly automates browser interactions with external translation services such as xfyun, DeepL, Doubao, Yuanbao, and Iciba, which necessarily transmits user-provided text to third-party systems. The documentation claim that translation content 'will not be uploaded to third-party services' is therefore false and can mislead users into submitting sensitive or regulated data under incorrect privacy assumptions.

Vague Triggers

Medium
Confidence
90% confidence
Finding
The trigger conditions include broad phrases around 'translate' and related wording, making the skill likely to activate for a wide range of user requests without adequate scoping. In this skill’s context, overbroad activation is risky because activation can cause user text to be sent to external websites, potentially exposing content the user did not intend to route through third-party services.

Natural-Language Policy Violations

Low
Confidence
90% confidence
Finding
The description states the tool supports only Chinese-English translation ("中英互译功能"), which is a natural-language locale constraint. Because the manifest text does not indicate that this limitation is optional, configurable, or justified as region-specific, it may violate language/locale policy expectations.

Static analysis

No suspicious patterns detected.