registry  /  amenbo  /  0.1.3

amenbo@0.1.3

Skims the web without making waves — a Japanese-web-native MCP server for low-impact, token-efficient web collection

AI Security Review

scanned 2d ago · by lpm-firewall-ai

No confirmed malicious attack surface. The package is a user-invoked MCP/CLI web fetcher with local caching and screenshot output.

Static reason
One or more suspicious static signals were detected.
Trigger
User runs the CLI/MCP fetch, links, or screenshot tools; npm install downloads Playwright Chromium.
Impact
Fetches requested URLs and stores cache data or requested screenshot files locally; no unconsented credential or agent-control mutation was established.
Mechanism
User-directed web retrieval, SSRF-guarded browser rendering, and local cache/output writes.
Rationale
The postinstall hook downloads Playwright's required Chromium dependency, but source inspection found no payload execution, secret collection, foreign configuration mutation, or exfiltration. Runtime networking and filesystem writes are aligned with the documented, user-invoked web-collection functionality.
Evidence
package.jsondist/cli.jsdist/server.jsdist/cache.jsdist/fetcher/http.jsdist/fetcher/ssrfProxy.jsdist/core.jsdist/fetcher/browser.js

Decision evidence

public snapshot
AI called this Clean at 94.0% confidence as Benign with low false-positive risk.
Evidence for block
  • `package.json` runs `playwright install chromium` during postinstall.
  • `dist/cache.js` creates a local cache under `AMENBO_CACHE_DIR` or `~/.cache/amenbo`.
  • `dist/cli.js` writes screenshot output only to the user-selected output directory.
Evidence against
  • No child-process, eval, VM, dynamic import, credential harvesting, or exfiltration code found.
  • Network activity is initiated only for user-supplied web URLs through CLI/MCP fetch, links, and screenshot tools.
  • `dist/fetcher/ssrfProxy.js` rejects private/reserved destinations for browser traffic.
  • Entrypoints run only when directly invoked; import does not start the server or fetch network data.
  • No AI-agent configuration paths or control-surface mutations were found.
Behavioral surface
Source
ChildProcessCryptoEnvironmentVarsFilesystemNativeBindingsNetwork
Supply chain
HighEntropyStringsUrlStrings
ManifestNo manifest risk signals triggered.
scanned 27 file(s), 229 KB of source, external domains: 127.0.0.1, github.com

Source & flagged code

2 flagged · loading source
package.jsonView file
scripts.postinstall = playwright install chromium
High
Install Time Lifecycle Scripts

Package defines install-time lifecycle scripts.

package.jsonView on unpkg
scripts.postinstall = playwright install chromium
Medium
Ambiguous Install Lifecycle Script

Install-time lifecycle script is not statically allowlisted and needs review.

package.jsonView on unpkg

Findings

1 High3 Medium4 Low
HighInstall Time Lifecycle Scriptspackage.json
MediumAmbiguous Install Lifecycle Scriptpackage.json
MediumNetwork
MediumEnvironment Vars
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings