AI Security Review
scanned 4d ago · by lpm-firewall-aiLPM treats this as warn-only first-party agent extension lifecycle risk. Install-time setup mutates a local Hermit agent workflow/control area by copying package-supplied workflows. This is first-party package-owned agent extension setup, not confirmed hijack of a foreign global AI agent surface.
Decision evidence
public snapshot- package.json runs postinstall: node ./bin/postinstall.mjs
- bin/postinstall.mjs seeds bundled workflow .md/.js files into HERMIT_HOME/.claude/workflow
- bin/postinstall.mjs migrates/removes legacy ~/.hermit/cc-connect runtime config/data
- bin/lib/runtime.mjs can auto-install @anthropic-ai/claude-code globally when runtime starts
- bin/lib/auth.mjs defaults cloud base URL to http://159.75.231.98:8088 for opt-in auth/upload features
- Workflow contents inspected are mostly read-only/audit/proposal prompts with explicit no-secret/no-destructive boundaries
- Postinstall writes under package-owned HERMIT_HOME/.claude/workflow, not broad ~/.claude commands/settings
- No obfuscated payload, credential harvesting, or install-time network fetch found
- Conversation upload is gated by settings/login and resolveConversationUploadEnabled defaults false
- bin/lib/update.mjs update/npm install behavior is explicit user command
Source & flagged code
14 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 unpkgPackage source references dynamic require/import behavior.
dist-renderer/assets/livescript-BwQOo05w.jsView on unpkg · L1Package source references weak cryptographic algorithms.
bin/lib/teams.mjsView on unpkg · L70Source writes installer persistence such as shell profile or service configuration.
bin/lib/aikey.mjsView on unpkg · L116A single source file combines environment access, network access, and code or shell execution; review context before blocking.
bin/lib/auth.mjsView on unpkg · L372Install-time source drops package-supplied AI-agent/MCP control files or instructions.
bin/postinstall.mjsView on unpkg · L1Package source invokes a package manager install command at runtime.
bin/lib/update.mjsView on unpkg · L58Package ships high-entropy non-source blobs.
dist-renderer/icon.rarView on unpkgPackage ships compressed or archive-like blobs.
dist-renderer/icon.rarView on unpkgPackage ships a nested archive or MCP bundle that was inventoried but not recursively analyzed.
dist-renderer/icon.rarView on unpkgPackage contains source files above the static scanner size ceiling.
dist-renderer/assets/index-h-ET_ve1.jsView on unpkg