Douyin Hot Trend

Security checks across static analysis, malware telemetry, and agentic risk

Overview

The core Douyin trend fetcher is coherent, but included helper scripts add unsafe shell execution and an under-disclosed Telegram auto-push path.

Review before installing. The documented command `node scripts/douyin.js hot [number]` appears aligned with fetching public Douyin trend data, but avoid invoking `scripts/get-hot-trend.js` with any untrusted or non-numeric argument. Also inspect or remove `cron-job.js` unless you explicitly want Telegram-style scheduled output, and replace its hardcoded chat_id with your own opt-in configuration.

Static analysis

Dangerous exec

Critical
Finding
Shell command execution detected (child_process).

Dangerous exec

Critical
Finding
Shell command execution detected (child_process).

VirusTotal

63/63 vendors flagged this skill as clean.

View on VirusTotal

Risk analysis

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.

#
ASI05: Unexpected Code Execution
High
What this means

If an agent or user passes an unexpected value instead of a simple number, local commands could run with the user's permissions.

Why it was flagged

The limit argument is taken from process.argv and inserted into a shell command string without numeric validation or an argument-array API, allowing crafted input to append arbitrary shell commands if this helper is invoked.

Skill content
const limit = process.argv[2] || 10; ... execSync(`node "${scriptPath}" hot ${limit}`, {
Recommendation

Validate the limit as an integer and replace execSync with execFileSync/spawnSync using an argument array, or import the fetching function directly instead of invoking a shell.

#
ASI10: Rogue Agents
Medium
What this means

If this helper is connected to OpenClaw messaging automation, trend reports could be sent to a hardcoded Telegram destination rather than a user-selected chat.

Why it was flagged

The helper is framed as a scheduled Telegram push and includes a fixed chat_id, while the main skill documentation only describes fetching and outputting Douyin trend data.

Skill content
直接发送到 Telegram ... message += '_每天下午6点自动推送_' ... chat_id: '8428610733', channel: 'telegram'
Recommendation

Remove the hardcoded chat_id, require an explicit user-provided destination, document the Telegram behavior in SKILL.md/metadata, and require user opt-in before any scheduled messaging.

#
ASI02: Tool Misuse and Exploitation
Info
What this means

Running the skill contacts Douyin and may expose normal request metadata such as IP address and User-Agent to that service.

Why it was flagged

The skill makes an external HTTPS request to Douyin's public web endpoint, which is expected for the stated trend-fetching purpose.

Skill content
hostname: 'www.douyin.com', path: '/aweme/v1/hot/search/list/', method: 'GET'
Recommendation

Use reasonable request frequency and only run the skill if contacting Douyin's public endpoint is acceptable.