Back to skill

Security audit

Edge TTS 儿童配音定制版

Security checks for vulnerabilities and agentic risk

Overview

This TTS skill appears purpose-aligned, but it requires mutable external code and can automatically send generated audio back into chat, so users should review it before installing.

Install only if you are comfortable with Chinese-focused Edge TTS behavior, generated audio being sent back into the conversation, and dependency/script execution that is not fully pinned in this package. Prefer a version that pins dependencies and asks before sending audio derived from sensitive text.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
skill-info.json:7
Finding
Mutable and Unverified External TTS Dependency## Vulnerability Details **File Location**: `skill-info.json`, lines 7-9 **Vulnerability Type**: Unpinned third-party dependency and unaudited external execution **Risk Level**: Medium ```json "dependencies": { "edge-tts": "latest" } ``` ### Technical Analysis The project declares the `edge-tts` dependency using the mutable `latest` version selector. This prevents the installed component from being tied to the version that existed when the skill was reviewed. A future installation can therefore resolve to different code without any modification to this project. The accompanying skill documentation also instructs the agent to execute `tts-converter.js` from an external skill directory rather than shipping the implementation in the audited package. The metadata names `edge-tts`, while the documentation refers to the `node-edge-tts` npm package, creating additional ambiguity over which component is expected to be installed and trusted. No lockfile, integrity hash, exact version, vendored implementation, or other mechanism is present to verify the identity and contents of the effective dependency. This creates a supply-chain boundary in which unaudited code may be installed or executed. ### Attack Path 1. An attacker compromises the dependency publisher account, upstream package, distribution registry, or externally referenced skill directory. 2. The attacker publishes or substitutes a malicious release that becomes the value resolved by `latest`, or replaces the externally referenced `tts-converter.js`. 3. A user installs or updates the skill's dependencies, receiving the attacker-controlled component. 4. The agent invokes the documented TTS workflow. 5. The malicious dependency or script executes with the permissions of the agent or Node.js process. ### Impact Assessment Successful exploitation could provide arbitrary code execution within the security context of the process running the skill. The resulting access ...[truncated 535 chars]
Remediation
## Remediation Suggestions 1. Replace `latest` with an exact, reviewed dependency version. 2. Clarify whether the required component is the `edge-tts` skill, the `node-edge-tts` npm package, or both, and use consistent identifiers throughout the metadata and documentation. 3. Commit an appropriate lockfile containing integrity hashes and enforce immutable installation in deployment. 4. Retrieve dependencies only from an explicitly trusted registry and verify package provenance or signatures where supported. 5. Include the required conversion script in the reviewed package or separately audit and pin the external skill containing `tts-converter.js`. 6. Validate the expected script path and file digest before execution to prevent local replacement. 7. Run TTS processing with least privilege, restricted filesystem access, minimal environment variables, and outbound network access limited to the required speech service. 8. Establish a controlled dependency-update process that requires security review and testing before changing the pinned version.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The skill description states that generated audio is automatically sent to the conversation, but it does not present this as a clear user-facing warning or consent checkpoint. Because the body of the skill makes direct sending mandatory, users may unknowingly cause generated files derived from sensitive text to be posted back into chat, increasing privacy and surprise-action risk.

Natural-Language Policy Violations

Medium
Confidence
84% confidence
Finding
The skill is presented as a '中文定制版' and all examples, presets, and workflow assume Chinese voices and Chinese-language operation, but the description does not clearly state this as an optional locale choice or a justified region-specific limitation. This can violate language/locale policy when a skill implicitly forces a specific language without user opt-in.

Vague Triggers

Medium
Confidence
96% confidence
Finding
The trigger phrases include very common terms such as “语音”, “TTS”, and “配音”, which are likely to match ordinary conversation and activate the skill unintentionally. In this skill, accidental activation is more risky because the workflow explicitly requires generating audio and automatically sending the resulting file into the conversation, creating unintended actions and content disclosure.

Natural-Language Policy Violations

Medium
Confidence
90% confidence
Finding
The description states "Edge TTS 中文定制版" and the tags reinforce a Chinese-only orientation, but there is no indication that users can choose another language or explicitly opt into this locale constraint. This is a natural-language locale policy concern because the file presents a fixed language behavior rather than an offered preference.

Static analysis

No suspicious patterns detected.