Grades are a hygiene check, not a security guarantee.

Claude Code, Skill

WorkBuddy

WorkBuddy, a skill listed in the PlugVet directory.

Compatibility: Not stated.

Grade D

Two or more Medium findings, or a High. Only try it in a sandbox.

Graded by PlugVetRubric v2

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

INSTALL_REMOTE_SCRIPT PERMISSION_SHELL_UNDECLARED

Why this grade

  • INSTALL_REMOTE_SCRIPT High

    Fetches a script from the network and runs it (a pipe to a shell, or an install hook with a URL).

    experts/ilang-wechat-awesome/skills/remote-dispatch/scripts/setup-gateway.sh, line 27 curl -fsSL https://deb.nodesource.com/setup_22.x | bash - >/dev/null

  • PERMISSION_SHELL_UNDECLARED Medium

    Runs shell commands that the manifest or description does not mention.

    experts/ilang-wechat-awesome/skills/wechat-draft-push/scripts/newspic_cards.py, line 180 os.remove(png_path)

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

    Concern

    can delete files. requests shell access. No manifest field names shell or command execution.

    PERMISSION_SHELL_UNDECLARED PERMISSION_DELETE_FILES

    experts/ilang-wechat-awesome/skills/wechat-draft-push/scripts/newspic_cards.py, line 180

    os.remove(png_path)

    experts/ilang-wechat-awesome/skills/wechat-draft-push/scripts/newspic_cards.py, line 182

    subprocess.run(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, timeout=timeout)

    experts/ilang-wechat-awesome/skills/wechat-draft-push/scripts/newspic_cards.py, line 193

    shutil.rmtree(profile, ignore_errors=True)

    Show more

    scripts/build_packages.py, line 83

    r = subprocess.run([sys.executable, "-m", "iml", "compile", "-"], cwd=IML_REPO, input=chain + "\n", capture_output=True, text=True, encoding="utf-8")

    scripts/build_packages.py, line 88

    r = subprocess.run([sys.executable, "-m", "iml", "decompile", "-"], cwd=IML_REPO, input=line + "\n", capture_output=True, text=True, encoding="utf-8")

    scripts/build_packages.py, line 222

    r = subprocess.run([sys.executable, tq], cwd=ROOT, capture_output=True, text=True, encoding="utf-8")

    scripts/release.py, line 24

    r = subprocess.run(cmd, cwd=ROOT, text=True, encoding="utf-8", capture_output=capture)

    scripts/release.py, line 113

    r = subprocess.run([sys.executable, os.path.join(ROOT, "scripts", "build_packages.py")], cwd=ROOT, env=env, text=True, encoding="utf-8")

  • Install and update

    Serious

    install fetches a script from the network.

    INSTALL_REMOTE_SCRIPT

    experts/ilang-wechat-awesome/skills/remote-dispatch/scripts/setup-gateway.sh, line 27

    curl -fsSL https://deb.nodesource.com/setup_22.x | bash - >/dev/null

  • Network

    Concern

    can reach a host that is not written as a fixed address. can reach api.github.com. The description does not name that host. can reach api.ipify.org. The description does not name that host.

    NETWORK_NO_FIXED_HOST NETWORK_UNNAMED_HOST

    experts/ilang-wechat-awesome/skills/remote-dispatch/scripts/dispatch.py, line 86

    with urllib.request.urlopen(req, timeout=timeout) as resp:

    experts/ilang-wechat-awesome/skills/remote-dispatch/scripts/dispatch.py, line 141

    resp = urllib.request.urlopen(req, timeout=max_wait)

    experts/ilang-wechat-awesome/skills/remote-dispatch/scripts/setup-gateway.sh, line 23

    apt-get install -y -qq curl git unzip ca-certificates python3 python3-venv >/dev/null

    Show more

    experts/ilang-wechat-awesome/skills/remote-dispatch/scripts/setup-gateway.sh, line 36

    URL=$(curl -fsSL "https://api.github.com/repos/$REP

    experts/ilang-wechat-awesome/skills/remote-dispatch/scripts/setup-gateway.sh, line 39

    [ -f "$ZIP" ] || curl -fsSL -o "$ZIP" "$URL"

    experts/ilang-wechat-awesome/skills/remote-dispatch/scripts/setup-gateway.sh, line 92

    curl -s -m 5 -H "X-CodeBuddy-Request: 1" -H "Host: localhost:$PORT" "http://127.0.0.1:$PORT/api/v1/health"; echo

    experts/ilang-wechat-awesome/skills/remote-dispatch/scripts/setup-gateway.sh, line 93

    IP=$(curl -s -m 5 https://api.ipify.org || echo "<这台机的公网IP>")

    experts/ilang-wechat-awesome/skills/wechat-draft-push/scripts/wechat_draft.py, line 159

    raw_sock = socket.create_connection(TUNNEL, timeout=timeout)

    experts/ilang-wechat-awesome/skills/wechat-draft-push/scripts/wechat_draft.py, line 208

    with urllib.request.urlopen(req, timeout=timeout) as resp:

  • Secrets

    Note

    reads an environment variable.

    SECRETS_ENV_READ

    experts/ilang-wechat-awesome/skills/wechat-draft-push/scripts/wechat_draft.py, line 174

    secret = os.environ.get("WECHAT_MP_SECRET", "").strip()

    experts/ilang-wechat-awesome/skills/wechat-topic-hunter/scripts/wxrank_topics.py, line 46

    k = os.environ.get("WXRANK_KEY", "").strip()

  • Agent instructions

    Pass

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

  • Obfuscation

    Concern

    contains an encoded blob in a file that should be readable.

    OBFUSCATION_ENCODED_BLOB

    HOT-LIST.md, line 28

    - Google News AI(英文):Microsoft offers voluntary buyouts to 60,000 employees as AI leads to efficiency push - CNBC https://news.google.com/rss/articles/CBMieEFVX3lxTE9nNklNQlZSV0JkM

    HOT-LIST.md, line 29

    - Google News AI(英文):Microsoft Offers Buyouts to 60,000 Employees as It Spends on A.I. - The New York Times https://news.google.com/rss/articles/CBMihwFBVV95cUxPVGVaVGpaNnhKVm1GV0U

    HOT-LIST.md, line 65

    - Google News AI(英文):Microsoft offers a quarter of its global workforce voluntary buyouts as AI spending accelerates - AP News https://news.google.com/rss/articles/CBMilgFBVV95cUxP

    Show more

    HOT-LIST.md, line 74

    | AI election ad causing controversy for Fort Bend County Judge candidate - FOX 26 Houston | Google News AI(英文) | 1 | 10-27 09:10 | https://news.google.com/rss/articles/CBMid0FVX3l

    HOT-LIST.md, line 75

    | Asian Chip Stocks Rise as Anthropic IPO Filing Rekindles AI Bets - Bloomberg.com | Google News AI(英文) | 1 | 10-27 09:00 | https://news.google.com/rss/articles/CBMitgFBVV95cUxNYUR

    data/hot/2026-10-09.json, line 560

    "url": "https://news.google.com/rss/articles/CBMiqgFBVV95cUxQNGZhQW8wekFLemJVekpfQlR4elIzdF95ZERxbXFJSUVHQ2lFLVpTRXd6UHJOeXM3Z0RUX1RqRVlmdzhucmJBYW1NbWZQajVrU2U2V1Z2dnlVYlo0WGF0c09

    data/hot/2026-10-09.json, line 635

    "url": "https://news.google.com/rss/articles/CBMijwFBVV95cUxQS2FqOUdoZzRuNV9zSmRpbk9RRE1LVVdKM1M4NzdjQ1QyZkI5ZzFEY0NtSTh0VGJSZlJKQkZtT1FoSDNnOERSd1dNc0N2Qk5xY05VQVlSUFFKbTlyQXc5a3F

    data/hot/2026-10-09.json, line 699

    "url": "https://news.google.com/rss/articles/CBMirgFBVV95cUxOYmNFZTZjVkZJRVlHX2RHTmxEYURkbnMwVEJWZjkyR0hTemo3YW9Za3hjc1F2RkFiT2NRZVFjYVJLYWxFakdfRHJKd1JiMVNNOVZkckREVXRuWUNDbV96Tld

  • 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 ab8b1688c0ac. can delete files. requests shell access. No manifest field names shell or command execution. install fetches a script from the network. can reach a host that is not written as a fixed address. can reach api.github.com. The description does not name that host. can reach api.ipify.org. The description does not name that host. reads an environment variable. contains an encoded blob in a file that should be readable.

Date and source

Date checked:

View source

github.com

Commit graded: ab8b1688c0acb8fb021404df36b4f7903be7269c

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