registry  /  tmax-terminal  /  1.11.2

tmax-terminal@1.11.2

Powerful multi-terminal app with tiling, floating panels, and keyboard-driven workflow

AI Security Review

scanned 2d ago · by lpm-firewall-ai

The package installs a prebuilt platform archive from GitHub Releases during postinstall and later launches it through the tmax bin. This is a binary payload carrier pattern, but source inspection found no concrete malicious behavior in the JavaScript wrapper.

Static reason
One or more suspicious static signals were detected.
Trigger
npm install runs postinstall; user runs tmax to launch installed app
Impact
Installs and runs the package's terminal application; no confirmed unauthorized data access or exfiltration in inspected source
Mechanism
GitHub release binary download/extraction plus user-invoked executable spawn
Rationale
The install hook has real supply-chain risk because it downloads and extracts a release binary at install time, but the endpoint is fixed to the declared project repository and the wrapper code contains no harvesting, exfiltration, persistence, or destructive behavior. By source-only inspection, the suspicious primitives are package-aligned rather than malicious.
Evidence
package.jsoninstall.jscli.jsREADME.mdapp/_tmp_tmax.zip
Network endpoints7
github.com/InbarR/tmaxgithub.com/InbarR/tmax/releases/download/v1.11.2/tmax-win32-x64-portable.zipgithub.com/InbarR/tmax/releases/download/v1.11.2/tmax-win32-arm64-portable.zipgithub.com/InbarR/tmax/releases/download/v1.11.2/tmax-darwin-x64-portable.zipgithub.com/InbarR/tmax/releases/download/v1.11.2/tmax-darwin-arm64-portable.zipgithub.com/InbarR/tmax/releases/download/v1.11.2/tmax-linux-x64-portable.zipgithub.com/InbarR/tmax/releases/download/v1.11.2/tmax-linux-arm64-portable.zip

Decision evidence

public snapshot
AI called this Clean at 82.0% confidence as Benign with medium false-positive risk.
Evidence for block
  • package.json declares install-time postinstall: node install.js
  • install.js downloads a platform zip from GitHub Releases and extracts it into app/ during install
  • install.js invokes system unzip tools via execSync to extract the downloaded archive
  • cli.js spawns the installed app executable when user runs tmax
Evidence against
  • Download URL is fixed to https://github.com/InbarR/tmax/releases/download/v1.11.2/... and matches package repository metadata
  • No code reads credentials, environment variables, home directories, SSH/npm tokens, or project files
  • No exfiltration endpoint, persistence mechanism, destructive command, eval/vm/Function, or AI-agent control-surface writes found
  • Lifecycle behavior is package-aligned for a binary Electron terminal app installer
  • cli.js only resolves executables under the package-local app/ directory
Behavioral surface
Source
ChildProcessFilesystemNetwork
Supply chain
UrlStrings
ManifestNo manifest risk signals triggered.
scanned 2 file(s), 5.42 KB of source, external domains: github.com

Source & flagged code

2 flagged · loading source
package.jsonView file
scripts.postinstall = node install.js
High
Install Time Lifecycle Scripts

Package defines install-time lifecycle scripts.

package.jsonView on unpkg
scripts.postinstall = node install.js
Medium
Ambiguous Install Lifecycle Script

Install-time lifecycle script is not statically allowlisted and needs review.

package.jsonView on unpkg

Findings

1 High2 Medium3 Low
HighInstall Time Lifecycle Scriptspackage.json
MediumAmbiguous Install Lifecycle Scriptpackage.json
MediumNetwork
LowScripts Present
LowFilesystem
LowUrl Strings