AI Security Review
scanned 5d ago · by lpm-firewall-aiNo confirmed malicious attack surface is established by static inspection. Risky primitives are tied to a documented, user-invoked ThinkPool room bridge and optional background service.
Decision evidence
public snapshot- package.json exposes only bin thinkpool-pair; no npm lifecycle hooks, so nothing runs at install/import time.
- service.mjs persistence is behind explicit install-service/uninstall-service CLI commands and writes app-owned launchd/systemd units.
- bridge.mjs/account.mjs use Supabase and registry endpoints for the documented room bridge/update flow, not hidden exfiltration.
- claude-session.mjs injects ThinkPool-owned MCP servers and permission gating when launching Claude sessions; this is user-invoked by the bridge.
- auth-store.mjs reads ~/.claude.json and ~/.claude/projects only to infer recent Claude projects/session context.
- No code found that silently plants foreign agent config, shell startup hooks, or executes remote payloads during install.
- package.json has no preinstall/postinstall/prepare scripts.
- README.md documents the room bridge, service install, Supabase-backed pairing, and BYOK token behavior.
- bridge.mjs prompts before background service install in normal room flow.
- service.mjs defaults service installs to pinned package version; auto-update requires CLI flag or explicit update action.
- Network hosts are package-aligned: daytvtakmlixpfbbqzjd.supabase.co, thinkpool.dev app APIs, registry.npmjs.org.
- child_process usage is for spawning selected local agent CLIs, npx service re-exec, launchd/systemd control, git/zip helpers.
Source & flagged code
6 flagged · loading sourceThis package version adds a dangerous source file absent from the previous stored version; route for source-aware review.
bridge.mjsView on unpkgSource writes installer persistence such as shell profile or service configuration.
service.mjsView on unpkg · L22Package source invokes a package manager install command at runtime.
account.mjsView on unpkg · L1