registry  /  xei-editor  /  0.2.5

xei-editor@0.2.5

xei (晴) — a modern Vim-like terminal editor in Rust

AI Security Review

scanned 8h ago · by lpm-firewall-ai

Install-time script replaces or creates the package CLI binary by downloading a compressed release asset. No confirmed exfiltration, persistence, or agent-control hijack was found, but the install path executes network retrieval of native code without integrity pinning.

Static reason
One or more suspicious static signals were detected.
Trigger
npm install postinstall lifecycle
Impact
Potential execution of unverified release binary when user later runs xei; no concrete malicious payload identified
Mechanism
install-time native binary download and chmod
Rationale
Source inspection shows a package-aligned editor CLI with a postinstall downloader for native binaries, but no credential theft, persistence, destructive behavior, or AI-agent control-surface mutation. The unverified install-time binary download is a real supply-chain risk, so warn rather than block.
Evidence
package.jsoninstall.jsbin/xeiREADME.md
Network endpoints1
github.com/stremtec/xei/releases/download/v0.2.5/xei-${target}${EXE}.gz

Decision evidence

public snapshot
AI called this Suspicious at 78.0% confidence as Benign with medium false-positive risk.
Evidence for block
  • package.json defines postinstall: node install.js
  • install.js unlinks bin/xei then downloads and gunzips a platform binary into bin/xei
  • install.js downloads executable content from GitHub releases without checksum verification
  • bin/xei is a native Mach-O arm64 executable
Evidence against
  • Network endpoint is package-aligned: github.com/stremtec/xei releases for v0.2.5
  • No credential/env harvesting patterns found in JS source or binary strings scan
  • No AI-agent control-surface writes, persistence hooks, shell startup files, or VCS hook writes found
  • README behavior matches a Vim-like terminal editor CLI
Behavioral surface
Source
FilesystemNetwork
Supply chain
UrlStrings
ManifestNo manifest risk signals triggered.
scanned 1 file(s), 1.78 KB of source, external domains: github.com

Source & flagged code

3 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
bin/xeiView file
path = bin/xei kind = native_binary sizeBytes = 989520 magicHex = [redacted]
Medium
Ships Native Binary

Package ships native binary artifacts.

bin/xeiView on unpkg

Findings

1 High3 Medium3 Low
HighInstall Time Lifecycle Scriptspackage.json
MediumAmbiguous Install Lifecycle Scriptpackage.json
MediumNetwork
MediumShips Native Binarybin/xei
LowScripts Present
LowFilesystem
LowUrl Strings