AI Security Review
scanned 5d ago · by lpm-firewall-aiNo confirmed malicious attack surface is established. The package uses a common native-wrapper pattern: verify optional platform package, otherwise download a fallback executable for the OpenWork CLI.
Static reason
One or more suspicious static signals were detected.
Trigger
npm install postinstall or user invoking openwork CLI
Impact
Installs or runs the OpenWork platform executable; no source evidence of theft, persistence, or destructive behavior
Mechanism
platform binary resolver/downloader and CLI launcher
Rationale
Static inspection shows risky install-time binary download and child_process use, but both are package-aligned native CLI wrapper behavior with no concrete malicious payload or exfiltration in the inspected source. The scanner signals are explained by postinstall fallback installation and runtime CLI execution.
Evidence
package.jsonpostinstall.mjsbin/openworkconstants.jsondist/bin/openworkdist/bin/openwork.exe
Network endpoints1
github.com/different-ai/openwork/releases/download/openwork-orchestrator-v${version}/${asset}
Decision evidence
public snapshotAI called this Clean at 86.0% confidence as Benign with medium false-positive risk.
Evidence for block
- package.json defines postinstall: node ./postinstall.mjs
- postinstall.mjs fetches a platform binary from GitHub releases if optional platform package is missing
- bin/openwork spawns the resolved platform binary or OPENWORK_ORCHESTRATOR_BIN_PATH override
Evidence against
- Only four package files present: package.json, postinstall.mjs, bin/openwork, constants.json
- postinstall.mjs targets package-aligned openwork-orchestrator platform packages and GitHub release assets
- No credential harvesting, persistence, destructive file operations, or suspicious exfiltration found
- Network use is limited to fallback binary download for this package
- Environment variables only override download base URL or binary path by explicit user configuration
Behavioral surface
EnvironmentVarsFilesystemNetwork
UrlStrings
Source & flagged code
2 flagged · loading sourcepackage.jsonView file
•scripts.postinstall = node ./postinstall.mjs
High
Install Time Lifecycle Scripts
Package defines install-time lifecycle scripts.
package.jsonView on unpkg•scripts.postinstall = node ./postinstall.mjs
Medium
Ambiguous Install Lifecycle Script
Install-time lifecycle script is not statically allowlisted and needs review.
package.jsonView on unpkgFindings
1 High3 Medium3 Low
HighInstall Time Lifecycle Scriptspackage.json
MediumAmbiguous Install Lifecycle Scriptpackage.json
MediumNetwork
MediumEnvironment Vars
LowScripts Present
LowFilesystem
LowUrl Strings