AI Security Review
scanned 3h ago · by lpm-firewall-aiLPM treats this as warn-only first-party agent extension lifecycle risk. The package is an opencode agent platform that auto-runs setup on first non-help CLI invocation and writes Bizar agents/plugins/config into opencode directories. This is agent-control-surface mutation, but it is package-aligned and user-invoked rather than npm lifecycle triggered.
Decision evidence
public snapshot- cli/bin.mjs calls ensureSetup on most first CLI invocations before dispatch.
- cli/bootstrap.mjs uses missing ~/.config/opencode markers to run runPostInstall.
- cli/install.mjs runPostInstall copies agents, commands, opencode.json, and plugin into opencode config.
- cli/install.mjs may install/configure headroom, semble, skills via pip/npm/curl/uv when setup runs.
- cli/provision.mjs can patch ~/.config/opencode/opencode.json and copy plugins/bizar to ~/.config/opencode/plugins/bizar.
- cli/provision.mjs update/install paths can install global npm packages and register service via install.sh.
- package.json has no install/postinstall hook; only prepublishOnly build script.
- Network and package-manager use is tied to user-invoked CLI setup/update/mod actions, not import-time execution.
- No credential harvesting or exfiltration found in inspected entrypoints.
- Dashboard mod registry defaults to GitHub raw URL and is invoked through bizar mod/dashboard APIs.
- Plugin/control-surface writes are package-aligned for an opencode agent platform.
- No obfuscated payload, destructive logic, or remote code execution on package import found.
Source & flagged code
31 flagged · loading sourcePackage contains a critical-looking secret pattern.
bizar-dash/tests/memory-sync.test.mjsView on unpkg · L107AWS access key ID in bizar-dash/tests/memory-sync.test.mjs
bizar-dash/tests/memory-sync.test.mjsView on unpkg · L107Package source references child process execution.
bizar-dash/tests/memory-sync.test.mjsView on unpkg · L12Package source references a known benign dynamic code generation pattern.
templates/plan/htmx.min.jsView on unpkg · L1Package source references dynamic require/import behavior.
bizar-dash/tests/mod-instructions.node.test.mjsView on unpkg · L28Package source references weak cryptographic algorithms.
bizar-dash/src/server/routes/activity.mjsView on unpkg · L25Source writes installer persistence such as shell profile or service configuration.
cli/service-controller.mjsView on unpkg · L23A single source file combines environment access, network access, and code or shell execution; review context before blocking.
bizar-dash/src/server/schedules-runner.mjsView on unpkg · L18This package version adds a dangerous source file absent from the previous stored version; route for source-aware review.
cli/bin.mjsView on unpkgSource combines command execution, command-output handling, and outbound requests; review data flow before blocking.
cli/bin.mjsView on unpkg · L802Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.
cli/copy.mjsView on unpkg · L80Package source invokes a package manager install command at runtime.
bizar-dash/src/server/update-store.mjsView on unpkg · L77Package ships non-JavaScript build or shell helper files.
config/skills/embedded-esp-idf/scripts/size_check.shView on unpkgTarball package.json differs from the npm registry version manifest for scripts or dependency sets.
package.jsonView on unpkgAWS access key ID in bizar-dash/tests/memory-secrets.test.mjs
bizar-dash/tests/memory-secrets.test.mjsView on unpkg · L19GitHub personal access token in bizar-dash/tests/memory-secrets.test.mjs
bizar-dash/tests/memory-secrets.test.mjsView on unpkg · L25Stripe live secret key in bizar-dash/tests/memory-secrets.test.mjs
bizar-dash/tests/memory-secrets.test.mjsView on unpkg · L31Slack bot token in bizar-dash/tests/memory-secrets.test.mjs
bizar-dash/tests/memory-secrets.test.mjsView on unpkg · L37RSA private key in bizar-dash/tests/memory-secrets.test.mjs
bizar-dash/tests/memory-secrets.test.mjsView on unpkg · L43AWS access key ID in bizar-dash/tests/memory-secrets.test.mjs
bizar-dash/tests/memory-secrets.test.mjsView on unpkg · L92AWS access key ID in bizar-dash/tests/memory-secrets.test.mjs
bizar-dash/tests/memory-secrets.test.mjsView on unpkg · L99AWS access key ID in bizar-dash/tests/memory-store.test.mjs
bizar-dash/tests/memory-store.test.mjsView on unpkg · L219AWS access key ID in bizar-dash/tests/memory-cli.test.mjs
bizar-dash/tests/memory-cli.test.mjsView on unpkg · L231Hardcoded password in bizar-dash/scripts/smoke-bg-retry.mjs
bizar-dash/scripts/smoke-bg-retry.mjsView on unpkg · L45Hardcoded password in bizar-dash/scripts/smoke-bg-retry.mjs
bizar-dash/scripts/smoke-bg-retry.mjsView on unpkg · L53Hardcoded password in bizar-dash/scripts/smoke-bg-retry.mjs
bizar-dash/scripts/smoke-bg-retry.mjsView on unpkg · L65Hardcoded password in plugins/bizar/tests/http-client.test.ts
plugins/bizar/tests/http-client.test.tsView on unpkg · L51Hardcoded password in plugins/bizar/tests/serve.test.ts
plugins/bizar/tests/serve.test.tsView on unpkg · L70Hardcoded password in plugins/bizar/src/serve-info.ts
plugins/bizar/src/serve-info.tsView on unpkg · L24Hardcoded password in packages/sdk/tests/client.test.ts
packages/sdk/tests/client.test.tsView on unpkg · L23