MCP, MCP server
OhMyZcode
OhMyZcode, an MCP server listed in the PlugVet directory.
Compatibility: Not stated.
Grade B
Minor issues only, no Medium or High. Worth a quick look at the findings below before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
PERMISSION_DELETE_FILES NETWORK_NO_FIXED_HOST NETWORK_UNNAMED_HOST SECRETS_PATH_DOTENV OBFUSCATION_FILE_OVER_READ_CAP
Why this grade
- PERMISSION_DELETE_FILES Low
Contains a call that can delete files.
adapters/zcode/path.mjs, line 99
fs.rmSync(tmp, { force: true }); - NETWORK_NO_FIXED_HOST Low
Makes a network call whose host is not written as a fixed address.
dashboard/renderer/app.js, line 285
return fetch('/api/snapshot', { headers: headers, cache: 'no-store' }) - NETWORK_UNNAMED_HOST Low
Calls a fixed host that the description does not name.
dashboard/renderer/app.js, line 285
return fetch('/api/snapshot', { headers: headers, cache: 'no-store' }) - SECRETS_PATH_DOTENV Low
Mentions a .env file.
skills/review-work/references/lane-prompts.md, line 59
MUST DO: 逐项检查 - - 命令拼接/未转义参数、外部内容当指令(prompt injection)、secrets 与 .env 是否进 diff 或日志、新增网络出站是否外传代码/用户数据、危险操作(递归删除、force push、DB drop)是否有确认门、无认证的网络暴露面。 - OBFUSCATION_FILE_OVER_READ_CAP Note
A file was over the read cap and was not fully read.
DESIGN.md, line 1
**English** | [简体中文](./DESIGN.zh-CN.md)
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
Concern
can delete files.
PERMISSION_DELETE_FILES
adapters/zcode/path.mjs, line 99
fs.rmSync(tmp, { force: true });
hooks/keyword-detect.mjs, line 736
fs.rmSync(path.join(tmpRoot, '.omz'), { recursive: true, force: true });
hooks/keyword-detect.mjs, line 739
fs.rmSync(tmpRoot, { recursive: true, force: true });
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. can reach api.github.com. The description does not name that host.
NETWORK_NO_FIXED_HOST NETWORK_UNNAMED_HOST
dashboard/renderer/app.js, line 285
return fetch('/api/snapshot', { headers: headers, cache: 'no-store' })
skills/review-work/references/lane-prompts.md, line 33
MUST DO: 命令逐字留档(含 cwd);双证据(测试 ID + 断言消息 双态 / 真实工件:命令转录、curl 状态码+body、文件产物路径);清理端口/临时目录/后台进程并留清理收据。
skills/ulw-execute/SKILL.md, line 71
1. 双证据:① 测试输出(测试 ID + 断言消息,双态:改前失败/改后通过)② 真实工件(命令转录 / curl 状态码+body / 文件产物路径 / 截图)。
Show more
tools/lib/license-gate.mjs, line 52
export const VERIFY_COMMAND = 'curl -s https://api.github.com/repos/code-yeongyu/oh-my-openagent/license';
CHANGELOG.md, line 584
HTTP service (`fetch('/api/*')`), the token travels in the address-bar query (`urlOf('/')` appends `?token=` and the
CHANGELOG.zh-CN.md, line 263
- **移除 dashboard preload(发布前收尾)**:删除 `dashboard/preload.mjs`,连同 `main.mjs` 的 `windowOptions()` 里的 `preload` 字段与配套的 `OMZ_DASHBOARD_URL`/`OMZ_DASHBOARD_TOKEN` 环境变量写入。三条理由:① 与 `sandbo
DESIGN.md, line 1042
- **The preload guard among the original seven ("preload exposes only a minimal contextBridge API", listed last in the CHANGELOG 1.1.0 list and therefore also called the seventh gu
DESIGN.zh-CN.md, line 1009
- **原七道里的 preload 那一道("preload 只暴露最小 contextBridge API",CHANGELOG 1.1.0 清单里列在末位,故也称第七道)已撤下,不再适用**:`dashboard/preload.mjs` 连同 `windowOptions()` 里的 `preload` 字段一起删除,因此这道防护**没有可保护的对象*
Secrets
Concern
reads a credential or environment file.
SECRETS_PATH_DOTENV
skills/review-work/references/lane-prompts.md, line 59
MUST DO: 逐项检查 - - 命令拼接/未转义参数、外部内容当指令(prompt injection)、secrets 与 .env 是否进 diff 或日志、新增网络出站是否外传代码/用户数据、危险操作(递归删除、force push、DB drop)是否有确认门、无认证的网络暴露面。
skills/ulw-research/references/worker-prompt.md, line 54
7. 不得回显 secret 值(按 key 名引用);不得把 `.env` 类文件内容写进 manifest。
tools/doctor.mjs, line 104
for (const [ek, ev] of Object.entries(srv?.env ?? {})) {
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
DESIGN.md, line 1
**English** | [简体中文](./DESIGN.zh-CN.md)
DESIGN.zh-CN.md, line 1
[English](./DESIGN.md) | **简体中文**
docs/omz-architecture.html, line 1
<!DOCTYPE html>
Show more
docs/omz-architecture.zh-CN.html, line 1
<!DOCTYPE html>
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 4f751637dc6a. can delete files. can reach a host that is not written as a fixed address. can reach api.github.com. The description does not name that host. reads a credential or environment file. a file was over the read cap and was not fully read.
Date and source
Date checked:
github.com
Commit graded: 4f751637dc6a82ba5f5474937746c4ee65f5ae42
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.