termdock@1.4.282
A complete web-based terminal application with modern UI
AI Security Review
scanned 25d ago · by lpm-firewall-aiThe package is a terminal app whose postinstall only prepares node-pty and tmux, but its server can write command hooks into several foreign AI-agent user configs. That setup is user-routed and limited to this package's emitter, so it is a guarded first-party agent-extension capability rather than an unconsented install-time hijack.
Decision evidence
public snapshot- Installer targets user-level Claude, Codex, Copilot, OpenCode, Pi, Grok, and Kimi hook files and writes a node command that runs this package's agentHook.js.
- POST /agent-hooks/:agent/install calls installHooksForSlug while the server is running.
- Loading terminal routes calls refreshStaleHooksAtLaunch, which rewrites hook files already marked outdated.
- npm postinstall runs scripts/postinstall.mjs, which tries to install tmux through the host package manager when tmux is missing and rebuilds node-pty. It does not write agent hook files.
- Hook install is an explicit server route, not a preinstall, install, or postinstall step.
- Launch refresh skips agents whose hook state is not outdated.
- Codex install still asks the user to approve new hooks inside Codex.
- Auto-update, when the CLI server starts, installs termdock from registry.npmjs.org and then the configured registry, which is the same package rather than a foreign payload host.
Source & flagged code
33 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 child process execution.
dist/server/supervisor.jsView on unpkg · L23Findings
Affected versions and remediation
This report applies to termdock@1.4.282.
See all versions of termdock for other recorded verdicts.
- Review the evidence and your use of termdock@1.4.282 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.