registry  /  @dagucloud/dagu  /  2.10.5

@dagucloud/dagu@2.10.5

A powerful Workflow Orchestration Engine with simple declarative YAML API. Zero-dependency, single binary for Linux, macOS, and Windows.

AI Security Review

scanned 2h ago · by lpm-firewall-ai

Postinstall can fetch the package-aligned platform binary only when the optional platform dependency is missing. The CLI then executes that resolved binary with user-supplied arguments; no confirmed malicious behavior exists in this wrapper source.

Static reason
One or more suspicious static signals were detected.
Trigger
npm postinstall without a platform optional dependency; later explicit `dagu` CLI or API use.
Impact
Writes an executable fallback binary inside the package directory and executes it only when invoked.
Mechanism
package-aligned fallback binary download and launcher delegation
Rationale
The lifecycle downloader is a package-aligned fallback for declared optional platform packages and extracts only the expected binary. Static source inspection found no credential theft, exfiltration, stealth persistence, agent-control mutation, or remote code execution beyond the intended Dagu binary launcher.
Evidence
package.jsoninstall.jsbin/cliindex.jslib/platform.js
Network endpoints1
registry.npmjs.org/@dagucloud/{platform-package}/-/{platform-package}-2.10.5.tgz

Decision evidence

public snapshot
AI called this Clean at 91.0% confidence as Benign with low false-positive risk.
Evidence for block
  • `package.json` runs `node ./install.js` at postinstall.
  • `install.js` downloads and writes a platform executable when its optional dependency is unavailable.
  • `bin/cli` and `index.js` execute the resolved Dagu binary.
Evidence against
  • `install.js` targets only `registry.npmjs.org` and the matching `@dagucloud/dagu-*` package/version.
  • Downloaded content is limited to the expected `package/bin/dagu` or `dagu.exe` path.
  • No source reads credentials, environment secrets, SSH files, agent settings, or unrelated user files.
  • No eval, shell invocation, persistence, destructive operation, or AI-agent control-surface mutation was found.
Behavioral surface
Source
ChildProcessFilesystemNetwork
Supply chain
UrlStrings
Manifest
CopyleftLicense
scanned 3 file(s), 9.47 KB of source, external domains: registry.npmjs.org

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 Medium4 Low
HighInstall Time Lifecycle Scriptspackage.json
MediumAmbiguous Install Lifecycle Scriptpackage.json
MediumNetwork
LowScripts Present
LowFilesystem
LowUrl Strings
LowCopyleft License