Back to skill

Security audit

Douyin Content Tracker Skill

Security checks across malware telemetry and agentic risk

Overview

This Douyin scraping skill is mostly purpose-aligned, but it stores and reuses login cookies and has local file-handling and dependency risks users should review before installing.

Install only in a trusted or isolated environment. Use a dedicated Douyin account if possible, protect or delete .douyin_cookies.json after use, avoid syncing or committing it, review and pin MediaCrawler and Python dependencies, and fix the blogger-name path handling before processing untrusted account data.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (10)

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The README instructs users to generate and store Douyin login cookies locally in a JSON file, but it does not warn that these cookies are effectively authentication material and should be protected like credentials. If the file is exposed through weak filesystem permissions, backups, commits, or malware, an attacker may be able to hijack the user's authenticated Douyin session.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill stores authenticated Douyin session cookies in a local JSON file but provides no warning that these are sensitive credentials equivalent to a logged-in session. If the file is exposed through backups, shared directories, malware, or accidental disclosure, an attacker could reuse the cookies to hijack the user's Douyin session until expiry or revocation.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The script reads authentication cookies from a local file and forwards them to a child process on the command line via the `--cookies` argument. Command-line arguments are often exposed to local process inspection tools and shell history/logging, so Douyin session credentials may be disclosed to other local users or monitoring software. In this skill's context, the cookies are real account credentials used for scraping, which makes the exposure more meaningful than a purely synthetic example.

Unpinned Dependencies

Low
Category
Supply Chain
Content
# 采集
playwright

# 数据处理
pandas
Confidence
90% confidence
Finding
Using an unpinned dependency like playwright allows future installs to resolve to unexpected versions, including breaking changes or compromised releases. In a scraping skill that automates browsers, dependency drift increases supply-chain risk and can make builds non-reproducible.

Unpinned Dependencies

Low
Category
Supply Chain
Content
playwright

# 数据处理
pandas
jieba

# 音频提取(ffmpeg wrapper,用于获取 ffmpeg 可执行文件)
Confidence
94% confidence
Finding
An unpinned pandas dependency can cause installs to pull in different versions over time, which increases exposure to vulnerable or incompatible releases. Because this skill processes scraped content, reproducibility and dependency integrity matter for safe operation.

Unpinned Dependencies

Low
Category
Supply Chain
Content
# 数据处理
pandas
jieba

# 音频提取(ffmpeg wrapper,用于获取 ffmpeg 可执行文件)
imageio-ffmpeg
Confidence
88% confidence
Finding
Leaving jieba unpinned creates supply-chain and reproducibility risk because future environments may install unreviewed versions. Although the direct security impact is lower than for browser automation packages, it still weakens build integrity.

Unpinned Dependencies

Low
Category
Supply Chain
Content
jieba

# 音频提取(ffmpeg wrapper,用于获取 ffmpeg 可执行文件)
imageio-ffmpeg

# 语音识别
openai-whisper
Confidence
92% confidence
Finding
Unpinned imageio-ffmpeg may resolve to versions that change how ffmpeg binaries are acquired or invoked, which can affect integrity and execution safety. Since this skill downloads media and extracts audio, that makes dependency control more important than in a purely offline library.

Unpinned Dependencies

Low
Category
Supply Chain
Content
imageio-ffmpeg

# 语音识别
openai-whisper

# 其他
python-dotenv
Confidence
93% confidence
Finding
An unpinned openai-whisper dependency can introduce untested code or transitive dependency changes into an audio transcription pipeline. In a media-processing workflow, that raises supply-chain risk and can destabilize execution across environments.

Unpinned Dependencies

Low
Category
Supply Chain
Content
openai-whisper

# 其他
python-dotenv
Confidence
91% confidence
Finding
An unpinned python-dotenv dependency means new installs may pick up changed behavior or vulnerable releases without review. Because this package often handles environment configuration and secrets-adjacent workflows, version drift can have outsized operational impact.

Known Vulnerable Dependency: python-dotenv — 1 advisory(ies): CVE-2026-28684 (python-dotenv: Symlink following in set_key allows arbitrary file overwrite via )

Low
Category
Supply Chain
Confidence
80% confidence
Finding
If the installed python-dotenv version is affected by the reported symlink-following issue in set_key, code that updates .env files could overwrite arbitrary files via a crafted symlink. This requirements file does not prove exploitability, but because the package is unpinned, installs may resolve to a vulnerable release and the skill context suggests .env handling may be relevant.

VirusTotal

66/66 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.