Douyin Hot Trend 1

PassAudited by VirusTotal on May 11, 2026.

Overview

Type: OpenClaw Skill Name: douyin-hot-trend-1 Version: 1.0.3 The skill bundle is a Douyin trending data aggregator that fetches, stores, and visualizes hot list data. It is classified as suspicious due to a SQL injection vulnerability in scripts/db.py and scripts/query.py, where the 'days' parameter is inserted into SQL queries using string formatting (.format()) instead of safe parameterization. While the current entry-point scripts attempt to sanitize this input by casting it to an integer, the underlying database logic remains inherently vulnerable. The bundle also performs external network requests to Douyin's API and uses subprocess.run in scripts/save_to_db.py to bridge Node.js and Python execution.

Findings (0)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Running the skill sends requests to Douyin and exposes normal network metadata such as IP address and user-agent.

Why it was flagged

The script makes an outbound request to Douyin's public hot-search endpoint using browser-like headers. This is purpose-aligned and disclosed, but users should know it contacts Douyin and may trigger rate limits.

Skill content
hostname: 'www.douyin.com',
      path: '/aweme/v1/hot/search/list/',
...
        'User-Agent': getRandomUserAgent()
Recommendation

Use it only when you intend to query Douyin, and avoid frequent automated polling unless you understand Douyin's rate limits and terms.

What this means

The skill may fail or require manual setup if Node.js is not already installed.

Why it was flagged

The package declares Node.js as required, and SKILL.md uses node commands, while the registry requirements list no required binaries. This is an under-declared runtime prerequisite, not evidence of malicious behavior.

Skill content
"openclaw": {
    "requires": {
      "bins": ["node"]
    }
  }
Recommendation

Declare Node.js consistently in registry metadata and installation requirements.

What this means

A generated report could display or execute untrusted content if the data source were malicious or compromised.

Why it was flagged

The optional HTML report renders fetched trend titles and links via innerHTML. If upstream data contained HTML or script-like content, opening the generated report could render unintended active content.

Skill content
const items = {json.dumps(items, ensure_ascii=False)};
...
<div class="item-title">${item.title}</div>
...
container.innerHTML = html;
Recommendation

Escape HTML, validate links, or build report entries with textContent/setAttribute instead of innerHTML.

What this means

Fetched trend history can remain on disk after use.

Why it was flagged

Optional helper scripts persist fetched hot-list entries and logs in a local SQLite database. The stored data appears to be public Douyin trend data, not user secrets.

Skill content
DB_PATH = Path(__file__).parent.parent / "data" / "douyin.db"
...
INSERT INTO hot_items
Recommendation

Treat data/douyin.db and generated reports as local artifacts to delete if you do not want trend history retained.