registry  /  xei-editor  /  0.6.0

xei-editor@0.6.0

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

AI Security Review

scanned 6h ago · by lpm-firewall-ai

The package has install-time network download and replacement of its CLI binary, but the behavior is package-aligned and no concrete malicious payload was confirmed. Residual risk is the unverified remote executable fetched during npm install.

Static reason
One or more suspicious static signals were detected.
Trigger
npm install / postinstall
Impact
Installs or replaces the package CLI executable from a GitHub release asset
Mechanism
postinstall native binary downloader
Rationale
Static inspection found a lifecycle downloader for a package-aligned native editor binary, with no confirmed credential theft, persistence, destructive behavior, or agent hijack. Because executable code is fetched at install time without visible integrity verification, warn rather than block.
Evidence
package.jsoninstall.jsbin/xeiREADME.md
Network endpoints1
github.com/stremtec/xei/releases/download/v0.6.0/xei-${target}${EXE}.gz

Decision evidence

public snapshot
AI called this Suspicious at 78.0% confidence as Dangerous Capability with medium false-positive risk.
Evidence for block
  • package.json defines postinstall: node install.js
  • install.js downloads gzipped native xei binary from GitHub releases during install
  • install.js deletes and rewrites bin/xei, then chmods it executable
  • bin/xei is a native Mach-O executable
Evidence against
  • Downloader URL is package-aligned to github.com/stremtec/xei v0.6.0 release
  • No credential, env, home-directory harvesting, or exfiltration logic found in install.js
  • No AI-agent control-surface writes found
  • README describes a terminal text editor matching the xei binary purpose
  • Binary strings show editor/terminal symbols, not obvious network or secret-targeting indicators
Behavioral surface
Source
FilesystemNetwork
Supply chain
UrlStrings
ManifestNo manifest risk signals triggered.
scanned 1 file(s), 1.75 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