registry  /  testify-api-cli  /  1.0.2

testify-api-cli@1.0.2

Zero-config API testing for your terminal

AI Security Review

scanned 1d ago · by lpm-firewall-ai

Install hook fetches and installs a platform-specific native executable from GitHub releases without visible integrity verification. Runtime CLI delegates directly to that executable.

Static reason
One or more suspicious static signals were detected.
Trigger
npm install postinstall; user runs testify CLI
Impact
Unverified release asset becomes executable package payload; behavior of downloaded binary is not inspectable from package source
Mechanism
install-time native binary download and extraction
Attack narrative
On installation, install.js selects an OS/architecture archive, downloads it from the project's GitHub releases, extracts it into the package bin directory, removes the archive, and chmods the native binary. The published JavaScript wrapper later spawns that binary. This is package-aligned but leaves the actual executable payload outside the npm source under review and lacks an integrity check.
Rationale
The source shows a real install-time native payload fetch/extract path, but no source evidence of credential theft, persistence, agent hijack, or non-package-aligned exfiltration. Treat as suspicious due to unverified staged executable delivery rather than confirmed malware.
Evidence
package.jsoninstall.jsbin/testify.jsbin/bin/testifybin/testify.exebin/*.tar.gzbin/*.zip
Network endpoints1
github.com/nityam123-pixle/testify-cli/releases/download/v${version}/${assetName}

Decision evidence

public snapshot
AI called this Suspicious at 86.0% confidence as Dangerous Capability with medium false-positive risk.
Evidence for warning
  • package.json defines postinstall: node install.js
  • install.js downloads platform archive from GitHub releases during install
  • install.js extracts archive with tar or PowerShell Expand-Archive
  • install.js chmods downloaded bin/testify executable
  • bin/testify.js spawns packaged native binary with user args
Evidence against
  • No credential/env harvesting found
  • No AI-agent control-surface writes found
  • No persistence outside package bin directory found
  • No destructive file operations beyond archive cleanup
  • Network endpoint is package-aligned GitHub release URL
Behavioral surface
Source
ChildProcessFilesystemNetwork
Supply chain
UrlStrings
ManifestNo manifest risk signals triggered.
scanned 2 file(s), 3.45 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