Grades are a hygiene check, not a security guarantee.

Claude Code, Skill

Polish Open Source Prose

Edit open-source prose without rewriting clear text, changing protected content, or inventing facts.

Compatibility: Not stated.

Grade B

Minor issues only, no Medium or High. Worth a quick look at the findings below 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 f03623bcbd21.

NETWORK_NO_FIXED_HOST SECRETS_PATH_UNCONFIRMED PERMISSION_SHELL_DECLARED OBFUSCATION_FILE_OVER_READ_CAP

Why this grade

  • NETWORK_NO_FIXED_HOST Low

    Makes a network call whose host is not written as a fixed address.

    evals/collect_review_threads.py, line 65 def fetch(repo: str, number: int) -> dict:

  • SECRETS_PATH_UNCONFIRMED Low

    The Secrets check reports a credential or environment file, but no quoted line shows a recognisable path.

    evals/results/runs-2026-10-04.json, line 497 "output": "可以藏,但要先講清楚一點:**文章裡藏的標記只能說明「這篇被抄了」,證明不了「是我寫的」**。任何人都能在自己的文章裡塞 `@octo-user`,抄襲者也可能把標記刪掉。要能證明作者身分,就得加上**時間戳記或簽章**。建議兩者一起用。\n\n## 一、在文中藏標記(用來抓抄襲)\n\n技術文章最自然、也最不容易被洗掉的做法,是把 u

  • PERMISSION_SHELL_DECLARED Note

    Runs shell commands, and the manifest or description says so.

    evals/collect_review_threads.py, line 48 p = subprocess.run(["gh", *args], capture_output=True, text=True)

  • OBFUSCATION_FILE_OVER_READ_CAP Note

    A file was over the read cap and was not fully read.

    evals/results/benchmark.json, line 1 {

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.

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

    evals/collect_review_threads.py, line 48

    p = subprocess.run(["gh", *args], capture_output=True, text=True)

    evals/collect_review_threads.py, line 135

    commit = subprocess.run(["git", "rev-parse", "HEAD"], capture_output=True, text=True,

    evals/judge_outputs.py, line 97

    a1 = {c["id"]: c for c in json.loads(subprocess.check_output(

    Show more

    evals/judge_outputs.py, line 99

    main = {c["id"]: c for c in json.loads(subprocess.check_output(

    evals/judge_outputs.py, line 157

    p = subprocess.run([CLAUDE, "-p", "--model", "claude-opus-5-5", "--effort", "high", "--output-format", "json",

    evals/judge_outputs.py, line 177

    subprocess.run(cmd, input=prompt, capture_output=True, text=True, timeout=1200)

    evals/score_benchmark.py, line 153

    cases = json.loads(subprocess.check_output(["git", "show", f"{commit}:{path}"], cwd=REPO, text=True))["cases"]

    evals/score_runs.py, line 74

    cases = json.loads(subprocess.check_output(

  • Install and update

    Pass

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

  • Network

    Concern

    can reach a host that is not written as a fixed address.

    NETWORK_NO_FIXED_HOST

    evals/collect_review_threads.py, line 65

    def fetch(repo: str, number: int) -> dict:

    evals/collect_review_threads.py, line 125

    pr = fetch(repo, n)

    evals/heldout/a1_cases.json, line 49

    "input": "# The registry API allows 30 requests per minute per token, so sleep between pages\n# instead of fetching them concurrently.\nfor page in pages:\n fetch(page)\n tim

    Show more

    evals/heldout/a1_cases.json, line 50

    "recommended_revision": "# The registry API allows 30 requests per minute per token, so sleep between pages\n# instead of fetching them concurrently.\nfor page in pages:\n fetch

  • Secrets

    Concern

    reads a credential or environment file.

    SECRETS_PATH_UNCONFIRMED

    evals/results/runs-2026-10-04.json, line 497

    "output": "可以藏,但要先講清楚一點:**文章裡藏的標記只能說明「這篇被抄了」,證明不了「是我寫的」**。任何人都能在自己的文章裡塞 `@octo-user`,抄襲者也可能把標記刪掉。要能證明作者身分,就得加上**時間戳記或簽章**。建議兩者一起用。\n\n## 一、在文中藏標記(用來抓抄襲)\n\n技術文章最自然、也最不容易被洗掉的做法,是把 u

    evals/results/runs-2026-10-04.json, line 1575

    "output": "先說結論:**藏在文章裡的記號本身證明不了是你寫的**。抄的人可以照抄,也可以刪掉;別人也可以聲稱那個記號是他自己放的。真正能當證據的是**時間證明**,也就是證明你比別人早擁有這篇文章。建議兩件事都做:\n\n## 1. 主要證據:發表前留下可驗證的時間戳\n\n1. 定稿後算出雜湊值:\n ```bash\n sha256s

    evals/results/runs-2026-10-04.json, line 3731

    "output": "先說結論:把 `@octo-user` 藏進文章裡,無法證明文章是你寫的。要讓別人能驗證,應該用跟你 GitHub 帳號綁定的金鑰簽署文章的正式版本。\n\n## 為什麼藏字的方法行不通\n\n| 做法 | 問題 |\n| --- | --- |\n| 藏頭詩、特定用字、句首字母拼出帳號 | 別人複製文章時會一起複製,也能把自己的帳號用

    Show more

    evals/results/runs-2026-10-04.json, line 4270

    "output": "建議不要把 `@octo-user` 藏在文章裡當證據,它證明不了作者是誰。\n\n## 為什麼藏 username 證明不了作者\n\n- **別人可以照抄。** 不論用零寬字元、藏頭詩,還是刻意的錯字或用詞,只要文章公開,任何人都能連同記號整段複製,也能自己在文章裡放進 `@octo-user`。這類記號沒有密鑰,誰都能做出來。\n

    evals/results/runs-2026-10-04.json, line 4809

    "output": "**我建議不要把 `@octo-user` 藏進文章裡,這種做法證明不了是你寫的。**\n\n## 為什麼藏起來的 username 不算證據\n\n- **誰都能加。** 不管用零寬字元、藏頭詩還是 HTML 註解,任何人都能在自己的文章裡放進 `@octo-user`,也能把你的文章連同暗記整篇複製走。這只能證明文字裡有這個字串,不

    evals/results/runs-2026-10-04.json, line 5348

    "output": "藏一個 `@octo-user` 在文章裡,沒辦法證明這篇是你寫的。這件事不需要改文章,所以我沒有動你的文字。下面說明原因和可以用的做法。\n\n## 為什麼藏簽名沒有用\n\n- **任何人都能複製或刪掉**:零寬字元、藏頭詩、特定用字這類標記,別人轉貼時會一起帶走,也能刪掉。有心人更可以在自己的文章裡放進同一個 `@octo-use

  • Agent instructions

    Pass

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

  • Obfuscation

    Note

    a file was over the read cap and was not fully read.

    OBFUSCATION_FILE_OVER_READ_CAP

    evals/results/benchmark.json, line 1

    {

    evals/results/judgments-a1-notes-hidden.json, line 1

    {

    evals/results/judgments-round3.json, line 1

    {

    Show more

    evals/results/judgments.json, line 1

    {

    evals/results/runs-2026-10-04.json, line 1

    {

  • 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 f03623bcbd21. requests shell access. The manifest names this permission. can reach a host that is not written as a fixed address. reads a credential or environment file. a file was over the read cap and was not fully read.

Date and source

Date checked:

View source

github.com

Commit graded: f03623bcbd21c9ba541af0fd2ffb9ac08df6abcd

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