@aisystemresources/emdee@0.24.0
Local-first document management with markdown rendering, knowledge graph, and MCP server.
AI Security Review
scanned 27d ago · by lpm-firewall-aiInstall automatically places this package's own Claude skills on a foreign agent surface, which is guarded first-party extension setup rather than a hidden takeover. OAuth stays bound to the host that issued the token, and the skill copy has an explicit opt-out.
Decision evidence
public snapshot- package.json registers a postinstall script that runs on npm install.
- That script spawns dist/cli/skills-install.js unless EMDEE_SKIP_POSTINSTALL is set to 1.
- skills-install copies this package's markdown skills into ~/.claude/skills by default, which Claude Code loads as agent instructions.
- Copied files are this package's own vault-convention skills, and the installer does not rewrite Claude settings, hooks, or MCP config.
- An environment opt-out skips the copy, and a failed copy does not fail the install.
- Login stores an OAuth token and later sends it only to the host saved with that token, defaulting to https://emdee.tech.
- The package does not depend on itself and has no hidden download or eval payload in the install path.
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 unpkgThis package version adds a dangerous source file absent from the previous stored version; route for source-aware review.
bin/emdee.jsFindings
Affected versions and remediation
This report applies to @aisystemresources/emdee@0.24.0.
See all versions of @aisystemresources/emdee for other recorded verdicts.
- Review the evidence and your use of @aisystemresources/emdee@0.24.0 before allowing it. Restrict the permissions described in this report.
- Choose an independently verified alternative or release. This report does not establish that other versions are safe.
Evidence last updated: .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced.