Grades are a hygiene check, not a security guarantee.

Claude Code, Skill

Douyin Skills

抖音网页版与创作者中心的本地自动化技能包入口。用于组合登录、搜索、热门话题、图文/视频发布、点赞、收藏、评论、分享链接,或解释整体能力、安全边界与多步骤流程;单一任务优先使用对应的 douyin- 子技能。

Compatibility: Not stated.

Grade C

One Medium finding. Read the findings before installing.

Graded by PlugVetRubric v2

Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.

Rescanned at commit 09e9ccb6c484, unchanged since the check below.

NETWORK_HOST_FROM_INPUT

Why this grade

  • NETWORK_HOST_FROM_INPUT Medium

    A file takes a URL or endpoint as input and has no fixed host list.

    scripts/cdp_client.mjs, line 61 const req = http.request({ host, port, path, method }, (res) => {

Any High, or two or more Medium findings, give D. One Medium gives C. Low findings or a security Note give B. Each code names a finding behind the letter.

If you think this grade is wrong, email [email protected] with the entry link and your evidence. We aim to acknowledge within two working days and decide within seven. If we confirm an error, we aim to correct it within 24 hours of confirming it. These are aims, not guarantees.

Grades are a hygiene check of the source at the commit shown, on the date checked, not a security audit or a guarantee. The free directory grades are automated. Before release, a PlugVet engineer reviews every paid report and any grade we hold back, including all F grades, against the source code and the evidence we quote.

What was checked

Plain notes from the hygiene checks.

  • Permissions

    Note

    requests shell access. The manifest names this permission.

    PERMISSION_SHELL_DECLARED

    scripts/browser_runtime.py, line 39

    proc = subprocess.run(

    scripts/build_release.py, line 71

    result = subprocess.run(

    scripts/build_release.py, line 87

    result = subprocess.run(

    Show more

    scripts/build_release.py, line 112

    result = subprocess.run(

    scripts/chrome_launcher.py, line 123

    result = subprocess.run(

    scripts/chrome_launcher.py, line 236

    result = subprocess.run(

    scripts/chrome_launcher.py, line 244

    result = subprocess.run(

    scripts/chrome_launcher.py, line 305

    ) -> subprocess.Popen:

  • Install and update

    Pass

    No install-time script found, and dependencies are pinned or absent.

  • Network

    Serious

    accepts a host from input, with no fixed list in this file.

    NETWORK_HOST_FROM_INPUT

    scripts/cdp_client.mjs, line 61

    const req = http.request({ host, port, path, method }, (res) => {

    scripts/cdp_client.mjs, line 97

    const ws = new WebSocket(debuggerUrl(target.webSocketDebuggerUrl, host, port), {

    scripts/chrome_launcher.py, line 258

    with urllib.request.urlopen(

    Show more

    scripts/render_demo.mjs, line 82

    const request = http.get(

    scripts/render_demo.mjs, line 133

    const socket = new WebSocket(target.webSocketDebuggerUrl, {

    scripts/updates.py, line 137

    def fetch(url: str, stream, limit: int) -> None:

    scripts/updates.py, line 177

    fetch(url, buffer, limit)

    scripts/updates.py, line 322

    fetch(release["archive_url"], stream, MAX_ARCHIVE_BYTES)

    scripts/douyin/login.py, line 169

    const response = await fetch(node.src, {{ credentials: '

  • Secrets

    Pass

    No read of a credential file or secret environment variable found.

  • Agent instructions

    Pass

    No instruction to ignore earlier instructions or to hide a step.

  • Obfuscation

    Pass

    No encoded or minified payload found.

  • Licence

    Pass

    A licence file is present (LICENSE).

  • Maintainer activity

    Pass

    The latest commit is within the last 365 days.

Note

Hygiene check of commit 09e9ccb6c484. requests shell access. The manifest names this permission. accepts a host from input, with no fixed list in this file.

Date and source

Date checked:

View source

github.com

Commit graded: 09e9ccb6c484c59d69e11dbb4bc975c47e5510e5

This link goes to the original host. PlugVet does not host or check what you download from there, and installing it is your own decision and risk.

Read how this letter is chosen