termdock@1.4.239
A complete web-based terminal application with modern UI
AI Security Review
scanned 1mo ago · by lpm-firewall-aiThis is a real tmux web terminal, not an npm install-time agent hijack or self-dependency chain. The remaining risk is dual-use: postinstall can install tmux, and the running app can write first-party hooks into other agents' configs.
Decision evidence
public snapshot- npm postinstall rebuilds node-pty and may auto-install tmux with brew, apt-get, and sudo.
- Runtime hook installers write Termdock commands into Claude, Codex, Copilot, OpenCode, Pi, Grok, and Kimi config files.
- Starting the server refreshes already-installed hooks that look outdated, without a new UI click.
- Quota code reads other agents' OAuth tokens from disk and sends them to vendor usage APIs.
- package.json has no self-dependency, and postinstall never writes Claude or other agent configs.
- New hook installs are a product feature reached after the user starts Termdock, via POST /agent-hooks/:agent/install.
- Discovered tokens are used against official Anthropic, OpenAI, GitHub, xAI, and Kimi usage URLs, not an attacker host.
- Scanner malware-similarity hits are this same readable terminal codebase, not a hidden payload or reviewer bait.
Source & flagged code
30 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/certificateWatcher.jsView on unpkg · L1Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist/server/utils/bootCheck.jsView on unpkgPackage source references dynamic code evaluation.
dist/client/assets/passwordBootstrap-BkAa-DO2.jsView on unpkg · L1A manifest entrypoint or package-local install chain reaches persistence behavior.
dist/server/routes/terminal.jsView on unpkg · L16Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist/server/routes/terminal.jsView on unpkgSource writes installer persistence such as shell profile or service configuration.
dist/server/routes/terminal.jsView on unpkg · L16Source downloads or fetches remote code and executes it.
dist/server/cli.jsView on unpkg · L4A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
dist/server/cli.jsView on unpkg · L4Source launches a detached bundled service that exposes a broad-bound HTTP listener.
dist/server/cli.jsView on unpkg · L4Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist/server/cli.jsView on unpkgSource gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.
scripts/postinstall.mjsView on unpkg · L10Source file is highly similar to a previously finalized malicious package; route for source-aware review.
scripts/postinstall.mjsView on unpkgManifest-trigger-reachable source writes behavior-bearing configuration into a user or project AI-agent control surface.
dist/server/agent/installers.jsView on unpkgSource file is highly similar to a previously finalized malicious package; route for source-aware review.
dist/server/agent/installers.jsView on unpkgSource contains bidi control or invisible Unicode characters associated with Trojan Source attacks.
dist/client/assets/terminal-C7X98Amf.jsView on unpkg · L4Package source invokes a package manager install command at runtime.
scripts/ensure-node-pty.cjsView on unpkg · L51Package ships non-JavaScript build or shell helper files.
dist/client/shell-integration/termdock.bashView on unpkgPackage ships high-entropy non-source blobs.
dist/client/sw-encrypted-background.js.brView on unpkgPackage ships compressed or archive-like blobs.
dist/client/sw-encrypted-background.js.brView on unpkgA bounded semantic-analysis stage reached its safety limit; remaining detectors completed, but this package requires AI review.
dist/client/assets/chunk-TICWLB2K-CS3jsxv7.js#virtual:normalized:round1View on unpkgSource file is highly similar to a previously finalized malicious package; route for source-aware review.
scripts/prepare-desktop-runtime.mjsView on unpkgSource file is highly similar to a previously finalized malicious package; route for source-aware review.
dist/server/agent/pluginPackages.jsView on unpkgSource file is highly similar to a previously finalized malicious package; route for source-aware review.
dist/server/utils/npmUpdate.jsView on unpkgSource file is highly similar to a previously finalized malicious package; route for source-aware review.
dist/client/assets/DiffViewer-GLkd1zMQ.jsView on unpkgSource file is highly similar to a previously finalized malicious package; route for source-aware review.
dist/server/agent/titleNamerCatalog.jsView on unpkgSource file is highly similar to a previously finalized malicious package; route for source-aware review.
dist/server/ptyhost/manager.jsView on unpkgSource file is highly similar to a previously finalized malicious package; route for source-aware review.
dist/client/assets/index-UqXCGE5m.jsView on unpkgFindings
Affected versions and remediation
This report applies to termdock@1.4.239.
See all versions of termdock for other recorded verdicts.
- Review the evidence and your use of termdock@1.4.239 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.