Back to skill

Security audit

抖音文案提取

Security checks for vulnerabilities and agentic risk

Overview

The skill does the advertised Douyin transcript task, but it runs an unpinned npm package that can change after review.

Install only if you are comfortable letting this skill download and run the latest `socialdatax-skills` npm package with access to your SocialDataX API key. Prefer a version-pinned or preinstalled reviewed CLI before using it in sensitive workspaces.

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:29
Finding
Unpinned npm Package Is Automatically Retrieved and Executed## Vulnerability Details **File Location**: `SKILL.md`, lines 5, 29–41, and 83 **Vulnerability Type**: Mutable and unverified third-party dependency execution **Risk Level**: Medium ### Vulnerable Code ```yaml metadata: {"openclaw":{"requires":{"env":["SOCIALDATAX_API_KEY"],"bins":["node","npm"]},"primaryEnv":"SOCIALDATAX_API_KEY","install":[{"kind":"node","package":"socialdatax-skills","bins":[]}],"emoji":"🎙️","homepage":"https://socialdatax.com/ai?from=clawhub"}} ``` ```bash npx -y socialdatax-skills@latest douyin transcript \ --url "<douyin_content_url_or_share_text>" --pretty \ --source-client socialdatax-skills --source-platform clawhub \ --source-skill douyin-video-copy-extract npx -y socialdatax-skills@latest douyin transcript \ --aweme-id "<aweme_id>" --pretty --source-client socialdatax-skills \ --source-platform clawhub --source-skill douyin-video-copy-extract npx -y socialdatax-skills@latest douyin transcript \ --job-id "<job_id>" --pretty --source-client socialdatax-skills \ --source-platform clawhub --source-skill douyin-video-copy-extract ``` ```text If the current environment has permission, install or restore automatically. ``` ### Technical Analysis The Skill instructs the agent to run `socialdatax-skills@latest` through `npx -y`. The `@latest` tag is mutable and can resolve to different package contents after this Skill has been reviewed. The `-y` option suppresses interactive installation confirmation, while the metadata installation declaration also references the package without an exact version. The project contains no lockfile, integrity hash, vendored implementation, or exact package version that would bind execution to reviewed content. Therefore, the effective code executed by this Skill is controlled by the npm package version available at runtime rather than by the audited project. This is an insecure dependency and supply-chain execution pa ...[truncated 1637 chars]
Remediation
## Remediation Suggestions 1. Replace `socialdatax-skills@latest` with an exact, reviewed package version in every command, such as `socialdatax-skills@X.Y.Z`. 2. Pin the same exact version in the Skill metadata installation declaration. 3. Use a lockfile or npm integrity metadata so the downloaded artifact is cryptographically bound to an expected package archive. 4. Upgrade only through an explicit review process that verifies the new package contents and provenance before changing the pinned version. 5. Avoid automatic restoration or installation without user approval, particularly when the dependency version or integrity cannot be verified. 6. Disable npm lifecycle scripts during installation where operationally feasible, and verify that the package remains functional under that restriction. 7. Execute the CLI in a restricted environment with minimal filesystem permissions, narrowly scoped network access, and only the required environment variables. 8. Avoid exposing unrelated credentials to the subprocess; provide only `SOCIALDATAX_API_KEY` when it is required. 9. Consider vendoring and auditing the necessary implementation or distributing a verified artifact through a trusted, controlled release channel.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (5)

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The skill instructs the agent to execute `npx -y socialdatax-skills@latest ...`, which pulls and runs the newest package version at execution time without pinning. This creates a supply-chain risk: a compromised upstream package, malicious new release, or dependency hijack could lead to arbitrary code execution in the agent environment.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This command also uses `npx -y socialdatax-skills@latest`, causing runtime installation and execution of unpinned remote code. If the package publisher account, registry path, or a transitive dependency is compromised, the agent may execute attacker-controlled code with access to environment variables such as `SOCIALDATAX_API_KEY`.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The job polling example repeats the same unpinned `npx` execution pattern, so every invocation can fetch newly published code and execute it immediately. Repeated polling increases exposure because an attacker only needs one compromised release window to gain execution.

Natural-Language Policy Violations

Medium
Confidence
96% confidence
Finding
The markdown instructs a fixed output structure in Chinese and prescribes response wording, which imposes a specific language/locale on all users. There is no indication that the user can choose another language or that this locale restriction is optional or justified as region-specific compliance.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Static analysis

No suspicious patterns detected.