Back to skill

Security audit

Douyin Creator Marketplace (Xingtu) Item Report Analysis API

Security checks for vulnerabilities and agentic risk

Overview

This skill is a focused JustOneAPI client, but it handles the API token in ways that can expose it in process lists and URL logs.

Review this before installing if the JustOneAPI token is sensitive or high-value. Use a narrowly scoped, revocable token, avoid exposing command lines or full request URLs in logs, and rotate the token if it may have been captured. No evidence was found of persistence, unrelated data access, destructive actions, or network calls outside the declared JustOneAPI endpoint.

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 Token Exposed Through Process Arguments and URL Query Parameters

Content
View full analysis
parameter.name === "token"); if (!tokenParam || params.token !== undefined) { return; } if (!cliToken) { fail("--token is required for this operation.", { operationId: operation.operationId, }); } params.token = cliToken; } ``` All query parameters, including the token, are appended to the request URL: ```js function applyQueryParams(operation, params, url) { for (const parameter of operation.parameters.filter((item) => item.location === "query")) { const value = params[parameter.name]; if (value === undefined) { continue; } appendValue(url.searchParams, parameter.name, value); } } ``` ```js functio ...[truncated 3343 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • 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
94% confidence
Finding

The skill invokes a network-capable helper (node .../bin/run.mjs) and is explicitly designed to call an external API, but it does not declare any explicit tool scope such as permissions or allowed-tools. That weakens policy enforcement and reviewability because an agent platform may permit broader-than-intended outbound access or fail to clearly constrain when network actions are allowed.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

Passing an authentication token as a query parameter is risky because query strings are commonly logged by clients, proxies, servers, analytics systems, and browser history. In this skill, the token is sent to an external API service, and the schema provides no warning or safer auth mechanism, increasing the chance of credential leakage and downstream account compromise.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The documentation explicitly requires a user authentication token in a query parameter but provides no warning that the token is sensitive or should be handled securely. Query parameters are commonly exposed in logs, browser history, analytics, and intermediary systems, so encouraging token placement there without caution increases the risk of credential leakage and unauthorized API access.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

This file is a JSON manifest, so vague-trigger checks apply. The skill is described only by a general capability statement about calling an API with an itemId, but it does not define any explicit trigger phrases, scope limits, or negative examples clarifying when the skill should or should not be invoked.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

This markdown file describes the operation's purpose and endpoint details, but it does not specify how or when a user or agent should invoke it, nor any constraints or exclusion conditions. For markdown files, vague or missing trigger specificity can lead to overly broad activation in tooling that derives invocation behavior from descriptions.

Content

No source excerpt is available for this finding.