MCP, MCP server
io.github.Rererr/amenbo
io.github.Rererr/amenbo, 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.
Rescanned at commit ffcd0de4c418, unchanged since the check below.
NETWORK_NO_FIXED_HOST SECRETS_PATH_DOTENV SECRETS_ENV_READ
Why this grade
- NETWORK_NO_FIXED_HOST Low
Makes a network call whose host is not written as a fixed address.
bench/bench.mjs, line 120
const res = await fetch(`https://r.jina.ai/${t.url}`, { signal: AbortSignal.timeout(CALL_TIMEOUT_MS) }); - SECRETS_PATH_DOTENV Low
Mentions a .env file.
.gitignore, line 8
.env - SECRETS_ENV_READ Note
Reads an environment variable whose name contains KEY, SECRET, TOKEN, PASSWORD or CREDENTIAL.
bench/bench.mjs, line 23
const child = spawn(cmd, args, { env: { ...process.env, ...env }, stdio: ["pipe", "pipe", "pipe"] });
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
Pass
No shell or command execution found, and no extra permission was declared.
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
bench/bench.mjs, line 120
const res = await fetch(`https://r.jina.ai/${t.url}`, { signal: AbortSignal.timeout(CALL_TIMEOUT_MS) });
src/formatting.ts, line 169
* URLのパス末尾からファイル名を推測する(curl -o のデフォルト値用)。取れなければ"download"。
src/formatting.ts, line 221
const hint = `\n\nhint: このファイルはamenboの本文抽出対象外です。全体の取得は curl -L -o ${filename} ${shellQuoteSingle(handoff.finalUrl)} を推奨します`;
Show more
src/fetcher/http.ts, line 248
// 実接続の名前解決そのものに検証を組み込んだundici Agentを作り、fetch()のdispatcherとして
src/fetcher/http.ts, line 22
// 注意: グローバルfetch(Node同梱undici)ではなく、npmパッケージundiciのfetchを明示的に使う。
src/fetcher/http.ts, line 232
// guardedFetch内のfetch()自体のDNS失敗と同じ分類(NetworkError.fromCause)に揃える。
src/fetcher/http.ts, line 285
/** httpGet/httpGetBinaryのfetch()に渡す、接続時点でSSRF検証を行うdispatcher(遅延生成・使い回し)。 */
src/fetcher/http.ts, line 392
* (あるいは極端に遅い)サーバーでは、AbortはguardedFetchのfetch()ではなくボディ読み取り中に
Secrets
Concern
reads a credential or environment file.
SECRETS_ENV_READ SECRETS_PATH_DOTENV
.gitignore, line 7
*.log
.gitignore, line 8
.env
bench/bench.mjs, line 23
const child = spawn(cmd, args, { env: { ...process.env, ...env }, stdio: ["pipe", "pipe", "pipe"] });
Show more
scripts/e2e-smoke.mjs, line 16
const child = spawn(cmd, args, { env: { ...process.env, ...env }, stdio: ["pipe", "pipe", "pipe"] });
scripts/mcp-init-smoke.mjs, line 22
const child = spawn(cmd, args, { env: { ...process.env, ...env }, stdio: ["pipe", "pipe", "pipe"] });
scripts/mcp-modern-smoke.mjs, line 32
const child = spawn(cmd, args, { env: { ...process.env, ...env }, stdio: ["pipe", "pipe", "pipe"] });
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 ffcd0de4c418. can reach a host that is not written as a fixed address. reads a credential or environment file.
Date and source
Date checked:
github.com
Commit graded: ffcd0de4c418603501a111b908ae62fd6237ae6c
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.