Back to skill

Security audit

downloader

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent social-video API reference, but it asks users to submit Douyin/TikTok account cookies to an unspecified service without adequate security scoping or retention guidance.

Review this skill carefully before installing. Use it only with a trusted HTTPS API host, avoid submitting primary-account cookies, assume any cookie you provide could grant account access until revoked, and prefer public-data endpoints or a dedicated low-privilege account where possible.

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

Error
Location
SKILL.md:12
Finding

Authenticated Session Cookies May Be Transmitted to an Unspecified API over Plaintext or in GET Query Parameters

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:12-13, SKILL.md:644-673, SKILL.md:810-842, SKILL.md:1374-1398, SKILL.md:1558-1591, and SKILL.md:1858-1883
Vulnerability Type: Insecure transport and handling of reusable session credentials
Risk Level: High

Vulnerable Code Segments

The documented configuration permits a plaintext HTTP API destination:

json
{
  "host": "http://xxx.com",
  "base_url": "http://xxx.com"
}

The Douyin collection endpoint requires a full web session cookie through a GET request:

text
### GET /api/douyin/web/fetch_user_collection_videos
**Summary**: Get user collection video data

### Parameters:
- cookie: User's web version of Douyin Cookie (This interface requires users to provide their own Cookie)
- max_cursor: Maximum cursor
- count: Maximum number

cookie = "YOUR_COOKIE"
max_cursor = 0
counts = 20

The Douyin live-product endpoint similarly requires the user's cookie:

text
### GET /api/douyin/web/fetch_live_room_product_result
**Summary**: Douyin live room product information

### Parameters:
- cookie: User's web version of Douyin Cookie (This interface requires users to provide their own Cookie, if the acquisition fails, please manually pass the captcha code once)
- room_id: Room room_id
- author_id: Author id
- limit: Number

cookie = "YOUR_COOKIE"
room_id = "7356742011975715619"
author_id = "2207432981615527"
limit = 20

The generic cookie-update endpoint sends a replacement credential to the configured service:

text
### POST /api/hybrid/update_cookie
**Summary**: Update Cookie

### Purpose:
- Update Cookie for specified service
### Parameters:
- service: Service name (e.g.: douyin_web)
- cookie: New Cookie value
### Return:
- Update result

service = "douyin_web"
cookie = "YOUR_NEW_COOKIE"

The TikTok favorites endpoint also places a full account cookie in the param ...[truncated 4393 chars]

Remediation
View remediation

Remediation Suggestions

  1. Enforce encrypted transport

    • Require https:// for every configured API endpoint.
    • Reject plaintext HTTP base URLs at configuration-validation time.
    • Enable certificate verification and do not provide an option to bypass it.
    • Consider certificate pinning when the API is controlled by the Skill publisher.
  2. Do not transmit credentials in URLs

    • Replace authenticated GET endpoints with POST requests.
    • Carry credentials in a dedicated authorization header or an encrypted request body.
    • Explicitly prohibit query-string, path, fragment, and referrer transmission of cookies.
    • Configure responses and authenticated requests with appropriate no-store cache controls.
  3. Apply credential minimization

    • Identify and accept only the specific cookie fields required by each endpoint.
    • Prefer official, narrowly scoped, short-lived authorization tokens where available.
    • Perform authenticated extraction locally when possible so the session cookie never reaches a third-party service.
    • Separate public-data endpoints from authenticated endpoints and require explicit user consent before the latter are invoked.
  4. Protect credentials on the server

    • Never log request headers or body fields containing credentials.
    • Add application-level redaction for cookie names and values in errors, traces, metrics, and audit logs.
    • Do not persist cookies by default.
    • If retention is unavoidable, obtain explicit consent, encrypt credentials with a managed key, apply a short expiration, and tightly restrict decryption access.
    • Ensure the cookie-update endpoint is strongly authenticated and authorized, or remove it if remote credential storage is unnecessary.
  5. Clarify trust and lifecycle requirements

    • Document the API operator, destination domains, credential use, retention period, subprocessors, and deletion behavior.
    • Warn user ...[truncated 599 chars]
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 (7)

Ssd 3

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill instructs users to provide their Douyin web cookie to retrieve collection data, normalizing disclosure of sensitive session material to the skill. Because cookies often act as bearer credentials, anyone with access to them may access the user's private data or hijack the session, especially if the skill transmits them to a third-party host.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The markdown states that the download endpoint retrieves remote media and downloads it locally, which affects local storage and system state. However, the description does not include a caution about local file creation, disk usage, overwrite/location behavior, or the need for user awareness before downloading content.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The documented cookie-update endpoint explicitly asks users to submit raw cookie values, but the skill provides no warning about credential sensitivity, secure transport, storage, masking, or retention. In the context of social-platform session cookies, this can expose active session credentials and enable account takeover or unauthorized access if the skill logs, forwards, or mishandles them.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

A generic endpoint for updating service cookies encourages operators or users to paste fresh session cookies directly into the system. This creates a direct pathway for credential collection and persistence, increasing the risk of secret leakage, replay, and unauthorized account access if the backend, documentation examples, or clients mishandle those values.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The TikTok favorites endpoint requires the user's own account cookie to access private favorites, which explicitly encourages users to hand over session credentials for private data access. This is dangerous because the cookie can grant broader account access than the single operation implies, enabling privacy violations or account compromise.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The ttwid generation endpoint asks for a user cookie as input, again training users to expose session secrets to the service. Even if the immediate purpose is token generation, the submitted cookie may be valid for other authenticated actions and could be reused if intercepted, logged, or stored.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The route path hard-codes the CN-specific Douyin web endpoint context, and the payload repeatedly fixes the region to China elsewhere in the file, indicating this skill data is tied to a single locale. There is no accompanying natural-language justification or opt-in mechanism for this locale restriction.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.