Back to skill

Security audit

Douyin Creator Marketplace (Xingtu) Creator Search API

Security checks for vulnerabilities and agentic risk

Overview

This is a narrow JustOneAPI wrapper for a Douyin/Xingtu creator search endpoint, with a real but disclosed token-handling weakness.

Install only if you trust JustOneAPI with the API token and account quota. Avoid sharing logs, command histories, screenshots, or error traces that might include the token, and prefer a narrowly scoped or disposable token if the provider supports it.

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
bin/run.mjs:24
Finding

API Authentication Token Exposed Through URL Query Parameters

Content
View full analysis
item.location === "query")) { const value = params[parameter.name]; if (value === undefined) { continue; } appendValue(url.searchParams, parameter.name, value); } } ``` The resulting URL includes the credential in the following form: ```text https://api.justoneapi.com/api/douyin-xingtu/.../v1?token=&... ``` ### Technical Analysis The helper injects the authentication token into `params.token`. Because the token is declared as a query parameter, `applyQueryParams()` places it in `url.searchParams`, and the complete URL is then supplied to `fetch()`. HTTPS encrypts the URL while it is in transit between the client and server, so this is not plaintext network transmission. However, query strings are commonly captured outside the encrypted transport channel by: - API gateway, reverse-proxy, and origin-server access logs - Application performance monitoring and network diagnostic systems - Error reports and request traces - Debugging or observability tools that record complete request URLs - Browser or tooling history if the URL is reproduced outside this helper The documented invocation also passes the ...[truncated 2013 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding

The skill invokes a network-capable helper (node {baseDir}/bin/run.mjs) and documents an authenticated outbound API call, but it does not declare any explicit tool scope such as permissions or allowed-tools. That mismatch can cause the runtime or reviewers to underestimate what the skill is allowed to do, increasing the risk of unintended external requests or data exfiltration through network access.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill sends the authentication token as a URL query parameter and also injects it from the CLI if not already present in params. Query-string secrets are commonly exposed through logs, shell history, monitoring systems, browser/proxy history, referrer leakage, and upstream infrastructure, so the token may be disclosed even when HTTPS is used.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The API requires an authentication token to be sent in the URL query string, which is commonly logged by clients, proxies, load balancers, browser history, monitoring systems, and server access logs. This increases the chance of credential exposure and replay by anyone with access to those logs or captured URLs, even if TLS is used in transit.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The operation documentation requires a user authentication token in a query parameter but provides no warning about handling it as a secret. Query parameters are commonly exposed in logs, browser history, analytics, referrers, and debugging output, so documenting token use this way without caution increases the chance of credential leakage and downstream account/API abuse.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
73% confidence
Finding

The documented enum values mix English descriptions with Chinese-only parameter values, effectively requiring a specific language/locale for correct use. There is no explicit note that this endpoint is region- or locale-specific, nor any user opt-in or guidance about the language constraint.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.