registry  /  keen-code  /  0.31.2

keen-code@0.31.2

CLI coding agent powered by AI (npm compatibility wrapper)

AI Security Review

scanned 3h ago · by lpm-firewall-ai

Install time downloads, verifies against a same-origin checksum file, and extracts an opaque platform binary. The CLI shim later executes that binary explicitly. No confirmed credential theft, destructive behavior, or AI-agent control-surface mutation is in the inspected JavaScript.

Static reason
One or more suspicious static signals were detected.
Trigger
`npm install` runs the postinstall downloader; invoking `keen` runs the installed binary.
Impact
A compromised or changed release asset and accompanying checksum could execute code on the installing host or when the CLI is run.
Mechanism
Remote binary staging and later native executable launch.
Rationale
Source inspection found a postinstall remote-binary bootstrapper whose integrity check lacks a package-pinned trust anchor. No concrete malicious chain is present in the inspected source, but the opaque staged executable warrants a warning.
Evidence
package.jsonpostinstall.jsbin/keen.jsREADME.mdbin/keenbin/keen.exe
Network endpoints1
github.com/mochow13/keen-code/releases/download/v${VERSION}

Decision evidence

public snapshot
AI called this Suspicious at 88.0% confidence as Unknown with medium false-positive risk.
Evidence for warning
  • `package.json` runs `node postinstall.js` during installation.
  • `postinstall.js` downloads a platform binary from GitHub Releases.
  • The archive checksum is downloaded from the same remote release, not pinned in package source.
  • `postinstall.js` extracts and marks the downloaded binary executable.
  • `bin/keen.js` executes the downloaded opaque binary with user arguments.
Evidence against
  • Only four text source files are present; no bundled hidden binary was found.
  • No source reads credentials, environment secrets, home directories, or SSH files.
  • No exfiltration, destructive action, AI-agent config mutation, eval, or shell interpolation is present.
  • The runtime launcher requires an explicit `keen` CLI invocation.
Behavioral surface
Source
ChildProcessCryptoFilesystemNetwork
Supply chain
UrlStrings
ManifestNo manifest risk signals triggered.
scanned 2 file(s), 3.97 KB of source, external domains: github.com

Source & flagged code

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

Package defines install-time lifecycle scripts.

package.jsonView on unpkg
scripts.postinstall = node postinstall.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