registry  /  @stravica-ai/digital-operator-pa  /  0.1.2

@stravica-ai/digital-operator-pa@0.1.2

Digital Operator PA — single-bundled public package surface (bins + library) for the platform.

Static Scan Results

scanned 2h ago · by rust-scanner

Static analysis flagged 14 finding(s) at 72.0% confidence. This version is warn-only unless an AI or security-team review confirms malicious behavior.

Static reason
One or more suspicious static signals were detected.

Decision evidence

public snapshot
Behavioral surface
Source
ChildProcessCryptoDynamicRequireEnvironmentVarsFilesystemNetworkShell
Supply chain
HighEntropyStringsMinifiedTelemetryUrlStrings
ManifestNo manifest risk signals triggered.
scanned 169 file(s), 1.23 MB of source, external domains: 1.1.1.1, 127.0.0.1, api.cloudflare.com, cli.github.com, github.com, status.anthropic.com, www.apple.com, www.githubstatus.com, www.googleapis.com

Source & flagged code

6 flagged · loading source
dist/engineering-pa-scaffold/src/runner.mjsView file
11import { mkdir, readdir, stat, writeFile } from 'node:fs/promises'; L12: import { spawn as realSpawn } from 'node:child_process'; L13: import { dirname, join } from 'node:path';
High
Child Process

Package source references child process execution.

dist/engineering-pa-scaffold/src/runner.mjsView on unpkg · L11
dist/engineering-pa-cli/src/launch/runner.mjsView file
51* Why reject instead of parse: silently splitting a quoted command on L52: * whitespace shreds it ("bash -c \"a && b\"" → spawn('bash', L53: * ['-c', '"a', '&&', 'b"']) — bash exits 2, cron mails operator forever).
High
Shell

Package source references shell execution.

dist/engineering-pa-cli/src/launch/runner.mjsView on unpkg · L51
dist/engineering-pa-cli/src/environment/cli.mjsView file
158try { L159: mod = await import(pathToFileURL(extensionPath).href); L160: } catch (err) {
Medium
Dynamic Require

Package source references dynamic require/import behavior.

dist/engineering-pa-cli/src/environment/cli.mjsView on unpkg · L158
dist/engineering-pa-core/src/scheduler/install.mjsView file
7* Reads a schedule JSON file and installs it using the specified backend L8: * (cron, launchd, systemd, schtasks). The schedule field uses cron syntax L9: * (minute hour day month weekday). This script translates to the native ... L18: import { homedir, hostname } from 'node:os'; L19: import { execSync } from 'node:child_process'; L20: import { fileURLToPath } from 'node:url'; ... L24: const __filename = fileURLToPath(import.meta.url); L25: const __dirname = dirname(__filename); L26: ... L78: const raw = readFileSync(filePath, 'utf8'); L79: return JSON.parse(raw); L80: }
Medium
Install Persistence

Source writes installer persistence such as shell profile or service configuration.

dist/engineering-pa-core/src/scheduler/install.mjsView on unpkg · L7
dist/engineering-pa-workspace/src/api.mjsView file
2import { join, resolve, relative } from 'node:path'; L3: import { execSync, execFile } from 'node:child_process'; L4: import { promisify } from 'node:util'; ... L49: try { L50: const body = JSON.parse(raw); L51: const result = processOnboarding(body, repoRoot); ... L311: let host = null; L312: try { host = hostname(); } catch { /* non-fatal */ } L313: sendJson(res, 200, { schedules, liveStatus, backend, schedulerError, agenda, hostname: host }); ... L337: } catch { L338: sendJson(res, 200, { available: false, reason: 'gh CLI not installed. Install it from https://cli.github.com/ to enable repository features.' }); L339: return true;
High
Sandbox Evasion Gated Capability

Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.

dist/engineering-pa-workspace/src/api.mjsView on unpkg · L2
dist/engineering-pa-workspace/src/install-daemon.mjsView file
7Cross-file remote execution chain: dist/engineering-pa-workspace/src/install-daemon.mjs spawns dist/engineering-pa-workspace/src/server.mjs; helper contains network access plus dynamic code execution. L7: * auto-starts at login and auto-restarts on crash. This is distinct from the L8: * scheduler tool (cron/launchd-calendar/systemd-timer/schtasks), which is L9: * time-triggered. A daemon is continuous-supervision and needs KeepAlive / ... L21: * L22: * Exit codes: L23: * 0 — OK ... L28: L29: import { execSync } from 'node:child_process'; L30: import { readFileSync, writeFileSync, mkdirSync, existsSync, unlinkSync, realpathSync } from 'node:fs'; ... L35: const __filename = fileURLToPath(import.meta.url); L36: const __dirname = dirname(__filename); L37:
High
Cross File Remote Execution Context

Source spawns a local helper that also contains network and dynamic execution context; review data flow before blocking.

dist/engineering-pa-workspace/src/install-daemon.mjsView on unpkg · L7

Findings

4 High5 Medium5 Low
HighChild Processdist/engineering-pa-scaffold/src/runner.mjs
HighShelldist/engineering-pa-cli/src/launch/runner.mjs
HighSandbox Evasion Gated Capabilitydist/engineering-pa-workspace/src/api.mjs
HighCross File Remote Execution Contextdist/engineering-pa-workspace/src/install-daemon.mjs
MediumDynamic Requiredist/engineering-pa-cli/src/environment/cli.mjs
MediumNetwork
MediumEnvironment Vars
MediumInstall Persistencedist/engineering-pa-core/src/scheduler/install.mjs
MediumStructural Risk Force Deep Review
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowTelemetry
LowUrl Strings