Back to skill

Security audit

抖音数据分析 SocialDataX 作品详情

Security checks for vulnerabilities and agentic risk

Overview

The skill matches its Douyin lookup purpose, but it tells agents to run a mutable npm package at runtime with access to the user's API key.

Review this before installing. Use it only if you trust the SocialDataX npm package and are comfortable exposing SOCIALDATAX_API_KEY to that CLI. Prefer a pinned, reviewed package version and run it in a restricted environment with only the needed API key and output directory available.

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:30
Finding
Execution of a Mutable, Unpinned npm Dependency## Vulnerability Details **File Location**: `SKILL.md:7, 30-37, 67, 74` **Vulnerability Type**: Supply-chain risk caused by downloading and executing an unpinned dependency **Risk Level**: Medium ### Evidence ```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 detail \ --aweme-id "<aweme_id>" --pretty --source-client socialdatax-skills \ --source-platform clawhub --source-skill socialdatax-douyin-detail npx -y socialdatax-skills@latest douyin detail \ --url "<douyin_content_url_or_share_text>" --pretty \ --source-client socialdatax-skills --source-platform clawhub \ --source-skill socialdatax-douyin-detail ``` ```text When the user wants to save Douyin media after detail, pass each returned `images[].url`, `images[].live_photo.play_url`, `video.play_url`, `music.play_url`, or `cover_image_url` to `npx -y socialdatax-skills@latest douyin download-media --url "<media_url>" --output-dir <directory> --pretty`; this local save command does not require `SOCIALDATAX_API_KEY`. ``` ```text If the current environment has permission, install or restore automatically. ``` ### Technical Analysis The Skill instructs the agent to use `npx -y socialdatax-skills@latest`. The `@latest` selector is mutable: it resolves to whichever package release the npm registry currently marks as latest rather than to the version reviewed during this audit. The `-y` option suppresses the normal installation confirmation. The project contains no package lockfile, integrity hash, vendored package source, or implementation of `socialdatax-skills`. Therefore, the package's lifecycle scripts, CLI behavior, network destinations, local-file access, and handling of `SOCIALDATAX_API_KEY` cannot be verified from the audit ...[truncated 1844 chars]
Remediation
## Remediation Suggestions 1. Replace `socialdatax-skills@latest` with an exact, reviewed package version, such as `socialdatax-skills@X.Y.Z`. 2. Commit a lockfile containing registry-resolved integrity hashes and enforce lockfile-based installation. 3. Verify package provenance, signatures, publisher identity, and release artifacts before approving upgrades. 4. Review the package source and lifecycle scripts for every version change. 5. Avoid automatic dependency restoration. Require explicit authorization before installing or upgrading executable dependencies. 6. Disable npm lifecycle scripts where they are unnecessary and compatible with the package. 7. Run the package in a restricted environment with: - Only the required API key exposed. - Minimal filesystem permissions. - Limited outbound network access. - No elevated operating-system privileges. 8. Prefer a vendored or internally mirrored, integrity-verified release so the executed artifact cannot change independently of the reviewed Skill. 9. Pin the version consistently in both the metadata installation declaration and every documented `npx` command.
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 (4)

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% 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 to a known-good release. This creates a supply-chain risk: if the package is compromised or a malicious/broken update is published, the agent may execute attacker-controlled code in its environment.

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding
This command again uses `npx -y socialdatax-skills@latest`, causing runtime retrieval and execution of whatever version is current at the time. In an agent context with access to environment variables such as `SOCIALDATAX_API_KEY`, an upstream compromise could lead to arbitrary code execution and secret exposure.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The media download example also directs execution of `npx -y socialdatax-skills@latest`, repeating the same unpinned dependency risk. Because this path may process attacker-influenced URLs and runs code fetched on demand, compromise of the package or dependency chain could result in arbitrary command execution or data exfiltration.

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.