AI Security Review
scanned 3d ago · by lpm-firewall-aiNo confirmed malicious attack surface in inspected source. The package is a native CLI downloader/wrapper with install-time artifact retrieval.
Static reason
One or more suspicious static signals were detected.
Trigger
npm install runs postinstall; invoking testty runs the downloaded binary
Impact
Installs and runs the package's declared testty CLI; remote binary contents were not present in package source for static inspection
Mechanism
platform-specific GitHub release artifact download and CLI execution wrapper
Rationale
The suspicious primitives are consistent with a native npm CLI package that downloads platform release artifacts and exposes a bin wrapper. Source inspection did not show exfiltration, persistence, destructive behavior, AI-agent control hijack, or other concrete malicious behavior.
Evidence
package.jsoninstall.jsbinary.jsbinary-install.jsrun-testty.jsREADME.mdnode_modules/.bin_realos tmpdir artifact file
Network endpoints1
github.com/agentty-xyz/agentty/releases/download/v0.11.1
Decision evidence
public snapshotAI called this Clean at 84.0% confidence as Benign with medium false-positive risk.
Evidence for block
- package.json defines postinstall: node ./install.js
- install.js calls binary.install(false) during npm install
- binary-install.js downloads a platform tarball with axios and extracts it with tar/unzip into node_modules/.bin_real
- run-testty.js executes the installed testty binary via spawnSync
Evidence against
- Network URL is package-aligned: GitHub agentty release v0.11.1 from package.json
- No credential, env, home directory, SSH, token, or project file harvesting found
- No eval/vm/Function or dynamic code loading found
- Child process usage is limited to archive extraction and invoking the declared CLI binary
- No AI-agent control-surface writes or prompt/reviewer manipulation found
- README describes a CLI wrapper for testty terminal testing, matching bin and binary download behavior
Behavioral surface
ChildProcessFilesystemNetwork
UrlStrings
Source & flagged code
2 flagged · loading sourcepackage.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 unpkgFindings
1 High2 Medium3 Low
HighInstall Time Lifecycle Scriptspackage.json
MediumAmbiguous Install Lifecycle Scriptpackage.json
MediumNetwork
LowScripts Present
LowFilesystem
LowUrl Strings