ClawAudit verdict
douyin-daily-report
douyin-analyse-batch
Automated Douyin hot-list report system that fetches trending videos via TikHub API, runs LLM analysis, and emails a Word document to configured recipients; all data flows are transparent and user-controlled.
⚠ Flagged for review — coarse, uncorroborated signal, not a confirmed exploit. Review the config yourself before installing.
Automated static analysis — not a human review. ClawAudit flags capabilities, not confirmed intent, and can produce false positives. Disagree with this verdict? Use Dispute below.
Findings (11)
Recursive delete from root or home — destructive command
SKILL.md · code · rm -rf /
Possible hardcoded credential
dependencies/douyin-mcp-server/douyin-video/SKILL.md · code · API_KEY="your-siliconflow-api-key
Pipe-to-shell pattern (curl | sh) — supply chain attack vector
dependencies/douyin-mcp-server/README.md · prose · downgraded · curl -LsSf https://astral.sh/uv/install.sh \| sh
Pipe to sh — executes piped content as shell commands
dependencies/douyin-mcp-server/README.md · prose · downgraded · | sh
Pipe to python — executes piped content as Python code
dependencies/douyin-mcp-server/README.md · prose · downgraded · | Python
References child_process — can spawn system processes
dependencies/douyin-hot-trend/cron-job.js · prose · downgraded · child_process
subprocess execution — runs system commands from Python
dependencies/douyin-video-analysis/helpers/douyin_grab.py · prose · downgraded · subprocess.run(
Node http/https module — low-level network access
dependencies/douyin-hot-trend/scripts/douyin-with-cover.js · prose · downgraded · require('https')
Python shutil file operation — copies/moves/deletes files
dependencies/douyin-mcp-server/douyin_mcp_server/server.py · prose · downgraded · shutil.rmtree(
Python os.getenv — reads environment variable
dependencies/douyin-mcp-server/douyin_mcp_server/server.py · prose · downgraded · os.getenv(
Python os.environ.get — reads environment variable
dependencies/douyin-video-analysis/helpers/douyin_grab.py · prose · downgraded · os.environ.get(
Why the tier is capped
Execution sink present in raw bytes (Hard Floor: class A/B/D). Final tier capped at Caution — cannot be lifted by any downgrade, example-payload opt-in, or allowlist.
Permissions & capabilities
No declared permissions — minimal attack surface.
network_in Is this flag fair?
Thanks — recorded.