Caveat verdict

douyin-upload-mcp-skill

88
🟢 Trusted
No high-risk patterns surfaced by the deep scan — automated capability review, not behavioral proof.

Complex Douyin content automation (digital human training, Feishu notifications, scheduled publishing) that matches its stated purpose; all operations route through the declared MCP tool and require explicit user confirmation at key stages.

⚠ Flagged for review — coarse, uncorroborated signal, not a confirmed exploit. Review the config yourself before installing.

Automated static analysis — not a human review. Caveat flags capabilities, not confirmed intent, and can produce false positives. Disagree with this verdict? Use Dispute below.

0
security
80
transparency
80
maintenance

Permission integrity

Installs packages at runtime — transitive dependencies are not auditable

package_install

Findings (18)

Pattern match critical

Possible hardcoded credential

vendor/xiaoice-video-tool/README.md · code · TOKEN='+r());console.log(

Pattern match high

References sudo — requests elevated privileges

README.md · code · sudo

Pattern match high

HTTP request to bare IP address — common in malicious payloads

vendor/xiaoice-video-tool/adapters/openclaw-plugin/skills/xiaoice-video/SKILL.md · code · http://127.0.0.1

Pattern match high

Uses eval() — can execute arbitrary code

scripts/douyin-comment-reply.js · prose · downgraded · eval(

Pattern match medium

References tunneling service

vendor/xiaoice-video-tool/docs/04-deployment.md · code · NGROK

Pattern match medium

References child_process — can spawn system processes

scripts/agent-ready.js · prose · downgraded · child_process

Pattern match medium

Uses spawn() — can execute external programs

scripts/background-job.js · prose · downgraded · spawn(

Pattern match medium

apt-get install — installs system packages

scripts/bootstrap-openclaw.js · prose · downgraded · apt-get install

Pattern match medium

Uses exec() — may execute shell commands

scripts/douyin-auto-reply.js · prose · downgraded · exec(

Pattern match medium

Dynamic import() — loads module at runtime

scripts/douyin-cli.js · prose · downgraded · import('

Pattern match medium

setuid — privilege escalation mechanism

src/daemon/engine.js · prose · downgraded · setuid

Pattern match medium

Instructs covert action — may act without user awareness

vendor/xiaoice-video-tool/docs/07-openclaw-thin-plugin-plan.md · prose · downgraded · silently

Pattern match low

Python os.environ.get — reads environment variable

scripts/close-browser-prompts.py · prose · downgraded · os.environ.get(

Pattern match low

Accesses sensitive environment variables

scripts/digital-human-training.js · prose · downgraded · process.env.DIGITAL_HUMAN_TRAINING_API_KEY

Pattern match low

Opens WebSocket connection

scripts/publish-task.js · prose · downgraded · WebSocket

Pattern match low

Popular HTTP library — network access

vendor/xiaoice-video-tool/adapters/openclaw-plugin/__tests__/openclaw-plugin.test.js · prose · downgraded · got

Pattern match low

References webhook/callback URL

vendor/xiaoice-video-tool/docs/00-migration-plan.md · prose · downgraded · callbackUrl

Pattern match low

Node http/https module — low-level network access

vendor/xiaoice-video-tool/src/service/server.js · prose · downgraded · require('http')

Why the tier is capped

Execution sink present in raw bytes (Hard Floor: class 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.

package_install

Is this flag fair?

Check another skill Browse the registry Auditing your own skills or configs? Use the API