Back to skill

Security audit

Seedance Video

Security checks for vulnerabilities and agentic risk

Overview

This is a straightforward video-generation API skill, with expected external API use and an optional package install that users should handle carefully.

Use this only with prompts and image URLs you are comfortable sending to AceDataCloud/Seedance. Treat `ACEDATACLOUD_API_TOKEN` as a secret, avoid committing or logging it, and install `mcp-seedance` only in an isolated environment after checking the package source or pinning a reviewed version.

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.md:89
Finding
Unpinned Third-Party Package Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 89–93 **Vulnerability Type**: Supply-chain risk from an unpinned third-party dependency **Risk Level**: Medium ```markdown ## MCP Server ```bash pip install mcp-seedance ``` ``` ### Technical Analysis The skill instructs users to install `mcp-seedance` from the configured Python package index without specifying a reviewed version or cryptographic hashes. The package is external to this project, and its implementation was not included in the audited artifact. Python package installation may execute package-controlled build or installation logic. Because the dependency is unpinned, a later compromised or malicious release could be installed even if an earlier version had been reviewed. The instruction also does not require source provenance verification, hash validation, an isolated virtual environment, or a restricted installation account. This is classified as **T08: Insecure Dependencies**. The audit found no evidence that the package is currently malicious; the vulnerability is the unsafe, mutable dependency-installation process. ### Attack Path 1. An attacker compromises the package publisher account, package repository, release pipeline, or another relevant supply-chain component. 2. The attacker publishes a malicious release under the expected `mcp-seedance` package name. 3. A user follows the documented `pip install mcp-seedance` instruction. 4. Pip resolves the unpinned dependency to the attacker-controlled release. 5. Malicious build or package code executes during installation or when the installed MCP integration is subsequently invoked. 6. The code operates with the privileges of the user running pip and may access resources available to that account. ### Impact Assessment Successful exploitation could permit arbitrary code execution with the installing user's privileges. Depending on the local environment, this may expose files, API cre ...[truncated 447 chars]
Remediation
## Remediation Suggestions 1. Pin the dependency to a specifically reviewed version, for example `mcp-seedance==X.Y.Z`. 2. Verify package provenance and provide a link to the authoritative source repository and publisher identity. 3. Use a lock file or requirements file containing cryptographic hashes, and install with `pip --require-hashes`. 4. Review the pinned package, its build configuration, and all transitive dependencies before recommending installation. 5. Recommend installation inside a dedicated virtual environment or disposable container under a non-privileged account. 6. Avoid exposing `ACEDATACLOUD_API_TOKEN` during package installation and grant the token only to the runtime process that requires it. 7. Prefer the documented direct HTTPS API workflow when MCP functionality is unnecessary. 8. Establish a controlled upgrade process so newer package versions are reviewed and hash-pinned before adoption.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (5)

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The skill instructs users to send prompts and, in later examples, image URLs to a third-party API without clearly warning that user-supplied content will leave the local environment and be processed by an external service. In a skill specifically designed for media generation, users may include sensitive text, private images, or proprietary URLs, so the missing disclosure increases privacy and data-governance risk.

External Transmission

Medium
Category
Data Exfiltration
Content
## Quick Start

```bash
curl -X POST https://api.acedata.cloud/seedance/videos \
  -H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "a dancer performing contemporary ballet in a misty forest", "model": "seedance-1.0", "wait": true}'
Confidence
94% confidence
Finding
This example explicitly posts user-provided prompt content and an authorization token to an external domain, which is the intended behavior of the integration but still constitutes real external data transmission. In the context of an API-integration skill, the risk is contextual rather than malicious: sensitive prompts or metadata may be disclosed to a third party, and misuse or misunderstanding of the command could expose secrets or confidential content.

External Transmission

Medium
Category
Data Exfiltration
Content
## Quick Start

```bash
curl -X POST https://api.acedata.cloud/seedance/videos \
  -H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "a dancer performing contemporary ballet in a misty forest", "model": "seedance-1.0", "wait": true}'
Confidence
94% confidence
Finding
This example explicitly posts user-provided prompt content and an authorization token to an external domain, which is the intended behavior of the integration but still constitutes real external data transmission. In the context of an API-integration skill, the risk is contextual rather than malicious: sensitive prompts or metadata may be disclosed to a third party, and misuse or misunderstanding of the command could expose secrets or confidential content.

Missing User Warnings

Low
Confidence
88% confidence
Finding
The authentication section tells users to export `ACEDATACLOUD_API_TOKEN` but does not warn that this credential is sensitive or provide basic handling guidance. While common in setup docs, omission of secure-handling advice can lead to accidental token exposure through shell history, screenshots, logs, or committed environment files.

Rp1

Low
Category
MCP Rug Pull
Confidence
60% confidence
Finding
pip install without ==version installs the latest release, which could include malicious changes.

Static analysis

No suspicious patterns detected.