registry  /  thinkpool-pair  /  0.7.285

thinkpool-pair@0.7.285

Share a local coding-agent CLI (Claude Code, Codex, Gemini, Aider, …) into a ThinkPool Code room, live.

Static Scan Results

scanned 1h ago · by rust-scanner

Static analysis flagged 14 finding(s) at 93.0% confidence. This version is warn-only unless an AI or security-team review confirms malicious behavior.

Static reason
One or more suspicious static signals were detected.; previous stored version diff introduced dangerous source

Decision evidence

public snapshot
Behavioral surface
Source
ChildProcessCryptoEnvironmentVarsFilesystemNetworkShell
Supply chain
HighEntropyStringsUrlStrings
Manifest
NoLicense
scanned 79 file(s), 1.14 MB of source, external domains: 127.0.0.1, api.anthropic.com, api.deepseek.com, api.minimax.io, api.moonshot.ai, api.z.ai, daytvtakmlixpfbbqzjd.supabase.co, openrouter.ai, raw.githubusercontent.com, registry.npmjs.org, thinkpool.io, www.apple.com

Source & flagged code

6 flagged · loading source
supabase-key.mjsView file
45patternName = supabase_service_key severity = critical line = 45 matchedText = export c...tqo'
Critical
Critical Secret

Package contains a critical-looking secret pattern.

supabase-key.mjsView on unpkg · L45
45patternName = supabase_service_key severity = critical line = 45 matchedText = export c...tqo'
Critical
Secret Pattern

Supabase service role key (JWT) in supabase-key.mjs

supabase-key.mjsView on unpkg · L45
service.mjsView file
23import path from 'node:path' L24: import { execSync } from 'node:child_process' L25: import { hostMemoryAdmission } from './host-memory.mjs' ... L28: // exactly one account service per machine (a second install replaces it). L29: // Room codes flow UNESCAPED into launchctl/systemd shell strings + plist paths, so L30: // this is the security chokepoint: reject anything that isn't a plain alnum code ... L41: const shq = (s) => `'${String(s).replace(/'/g, `'\\''`)}'` L42: export function sanitizeServicePath(value, platform = process.platform) { L43: const sep = platform === 'win32' ? ';' : ':' ... L53: // disposable and isolated, so clearing it cannot mutate a person's npm execution tree. L54: const serviceNpmCache = () => path.join(os.homedir(), '.thinkpool-pair', 'npm-cache') L55: const cacheWipe = (cacheRoot) => `rm -rf ${shq(path.join(cacheRoot, '_npx'))}/* 2>/dev/null`
Medium
Install Persistence

Source writes installer persistence such as shell profile or service configuration.

service.mjsView on unpkg · L23
plan-meters.mjsView file
2* L3: * WHERE THE NUMBERS COME FROM. `GET https://api.anthropic.com/api/oauth/usage` L4: * with the Claude Code OAuth access token — the SAME endpoint the CLI's own /usage ... L20: L21: import { execFileSync } from 'node:child_process' L22: import { readFileSync } from 'node:fs' ... L35: const { L36: platform = process.platform, L37: env = process.env, L38: exec = execFileSync, L39: read = readFileSync, L40: home = homedir()
High
Sandbox Evasion Gated Capability

Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.

plan-meters.mjsView on unpkg · L2
hermes-acp-bootstrap.pyView file
path = hermes-acp-bootstrap.py kind = build_helper sizeBytes = 23064 magicHex = [redacted]
Medium
Ships Build Helper

Package ships non-JavaScript build or shell helper files.

hermes-acp-bootstrap.pyView on unpkg
codex-session.mjsView file
matchType = previous_version_dangerous_delta matchedPackage = thinkpool-pair@0.7.282 matchedIdentity = npm:dGhpbmtwb29sLXBhaXI:0.7.282 similarity = 0.962 summary = stored previous version shares package body but lacks this dangerous source file
High
Previous Version Dangerous Delta

This package version adds a dangerous source file absent from the previous stored version; route for source-aware review.

codex-session.mjsView on unpkg

Findings

2 Critical2 High5 Medium5 Low
CriticalCritical Secretsupabase-key.mjs
CriticalSecret Patternsupabase-key.mjs
HighSandbox Evasion Gated Capabilityplan-meters.mjs
HighPrevious Version Dangerous Deltacodex-session.mjs
MediumNetwork
MediumEnvironment Vars
MediumInstall Persistenceservice.mjs
MediumShips Build Helperhermes-acp-bootstrap.py
MediumStructural Risk Force Deep Review
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings
LowNo License