Grades are a hygiene check, not a security guarantee.

Claude Code, Skill

Ai Job Search Cn

本机运行的 AI 求职助手:搜岗、按国内维度评分、出投递话术与中文简历,数据不上传

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.

NETWORK_NO_FIXED_HOST SECRETS_PATH_UNCONFIRMED PERMISSION_SHELL_DECLARED INSTALL_DOCUMENTED_INSTALLER OBFUSCATION_FILE_CAP_REACHED

Why this grade

  • NETWORK_NO_FIXED_HOST Low

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

    .agents/skills/liepin-search/cli/src/helpers.ts, line 142 response = await fetch(SEARCH_URL, {

  • SECRETS_PATH_UNCONFIRMED Low

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

    web/src/theme/cockpit.css, line 746 它不是「坏了」,是「会悄悄坏」,而红色在这一页表示不合格。 */

  • PERMISSION_SHELL_DECLARED Note

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

    tools/doctor.py, line 244 res = subprocess.run([exe] + cmd[1:], capture_output=True, text=True,

  • INSTALL_DOCUMENTED_INSTALLER Note

    Documentation shows an installer that pipes a download into a shell.

    SETUP.md, line 150 - macOS/Linux:`curl -fsSL https://bun.sh/install | bash`

  • OBFUSCATION_FILE_CAP_REACHED Note

    The 400 file cap was reached before every file was read.

    tests/test_status_spelling_is_one_way.py, 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

    tools/doctor.py, line 244

    res = subprocess.run([exe] + cmd[1:], capture_output=True, text=True,

    tools/doctor.py, line 328

    listing = subprocess.run([exe, "fonts"], capture_output=True, text=True,

    tools/fetch_details.py, line 9

    r = subprocess.run([...], capture_output=True)

    Show more

    tools/fetch_details.py, line 157

    proc = subprocess.run(

    tools/security_guards.py, line 340

    res = subprocess.run(

    tools/serve.py, line 597

    proc = subprocess.run(

    tools/verify_pdf.py, line 36

    return subprocess.run(

  • Install and update

    Note

    The docs document an installer that pipes a download into a shell.

    INSTALL_DOCUMENTED_INSTALLER

    SETUP.md, line 150

    - macOS/Linux:`curl -fsSL https://bun.sh/install | bash`

  • Network

    Concern

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

    NETWORK_NO_FIXED_HOST

    .agents/skills/liepin-search/cli/src/helpers.ts, line 142

    response = await fetch(SEARCH_URL, {

    .agents/skills/liepin-search/cli/src/helpers.ts, line 210

    response = await fetch(url, {

    tools/fetch_details.py, line 423

    d = fetch(runtime, e["url"])

    Show more

    tools/portal_budget.py, line 80

    **② BOSS 详情页不能用同源 `fetch()` 批量取。**

    tools/portal_budget.py, line 81

    `cdp-portals.md` 原来推荐这么做。当天实测:`fetch('/job_detail/<id>.html')` 返回的是

    tools/serve.py, line 1043

    with urllib.request.urlopen(

    web/README.md, line 77

    `fetch("data.json")` 同样被拦。

    web/src/data/excluded.ts, line 107

    const res = await fetch(path, {

  • Secrets

    Concern

    reads a credential or environment file.

    SECRETS_PATH_UNCONFIRMED

    web/src/theme/cockpit.css, line 746

    它不是「坏了」,是「会悄悄坏」,而红色在这一页表示不合格。 */

    web/src/theme/cockpit.css, line 752

    }

    web/src/theme/cockpit.css, line 754

    /* 格子里的装法:比 unlocks 再弱一档,它是「怎么办」不是「有什么用」。 */

    Show more

    web/src/theme/cockpit.css, line 755

    .env-item .env-fix { margin-top: 5px; font-size: var(--fs-micro); color: var(--faint); }

    web/src/theme/cockpit.css, line 762

    }

    web/src/theme/cockpit.css, line 763

    .env-item { background: var(--panel); padding: 11px 15px; display: flex; gap: 10px; align-items: flex-start; }

    web/src/theme/cockpit.css, line 764

    .env-led { width: 8px; height: 8px; margin-top: 6px; flex-shrink: 0; }

    web/src/theme/cockpit.css, line 765

    .env-item[data-ok="true"] .env-led { background: var(--data); }

  • Agent instructions

    Pass

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

  • Obfuscation

    Note

    the file cap was reached before every file was read.

    OBFUSCATION_FILE_CAP_REACHED

    tests/test_status_spelling_is_one_way.py, 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 f23feef598c5. requests shell access. The manifest names this permission. The docs document an installer that pipes a download into a shell. can reach a host that is not written as a fixed address. reads a credential or environment file. the file cap was reached before every file was read.

Date and source

Date checked:

View source

github.com

Commit graded: f23feef598c5336e87d9d012e409be44296468a5

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