AI Security Review
scanned 3d ago · by lpm-firewall-aiNo confirmed malicious attack surface. The package is a local Claude/Codex usage dashboard that reads local agent config/transcripts and writes dashboard output; optional auto-refresh modifies Claude settings only when the user invokes --enable-auto.
Decision evidence
public snapshot- package.json defines postinstall
- scripts/postinstall.mjs runs npm rebuild/install for native deps
- scripts/generate-dashboard.mjs can write Claude settings hook only with --enable-auto
- postinstall only patches/rebuilds better-sqlite3 and esbuild inside package root
- bin/oh-my-hi.mjs is a thin launcher to scripts/generate-dashboard.mjs
- network calls are update/pricing checks to GitHub, npm registry, and Claude docs
- serve.mjs binds local dashboard to 127.0.0.1 and guards static path traversal
- parsers/mcp-servers.mjs comments and code mask env values, no exfiltration found
- agent hook mutation is explicitly user-invoked, reversible with --disable-auto, not install-time
Source & flagged code
9 flagged · loading sourcePackage defines install-time lifecycle scripts.
package.jsonView on unpkgInstall-time lifecycle script is not statically allowlisted and needs review.
package.jsonView on unpkgA single source file combines environment access, network access, and code or shell execution; review context before blocking.
scripts/serve.mjsView on unpkg · L12This package version adds a dangerous source file absent from the previous stored version; route for source-aware review.
scripts/generate-dashboard.mjsView on unpkgSource gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.
scripts/generate-dashboard.mjsView on unpkg · L23Source spawns a local helper that also contains network and dynamic execution context; review data flow before blocking.
scripts/generate-dashboard.mjsView on unpkg · L23Package source invokes a package manager install command at runtime.
scripts/generate-dashboard.mjsView on unpkg · L30