AI Security Review
scanned 2h ago · by lpm-firewall-aiLPM treats this as warn-only first-party agent extension lifecycle risk. No npm lifecycle-triggered malware was confirmed. Residual risk is a broad agent-platform first-run bootstrap that silently mutates opencode configuration and may install helper tools/services when the bizar CLI is invoked.
Decision evidence
public snapshot- cli/bin.mjs calls ensureSetup() on most bizar invocations, before command dispatch.
- cli/bootstrap.mjs treats missing ~/.config/opencode agents/plugin as setup-needed and calls runPostInstall().
- cli/install.mjs runPostInstall writes opencode config, commands, agents, installs tools via pip/npm/uv, and copies the plugin.
- cli/provision.mjs can register service autostart and patch ~/.config/opencode/opencode.json during bizar install/update.
- config/opencode.json grants broad opencode permissions and includes enabled local Semble MCP plus disabled remote MCPs.
- package.json has no install/postinstall/prepare hook; only prepublishOnly builds before publishing.
- The risky setup is activated by the user invoking the bizar CLI, not by npm package installation/import alone.
- Writes are package-aligned for an opencode agent platform and mostly under ~/.config/opencode or ~/.config/bizar.
- No credential harvesting or exfiltration path found in inspected entrypoints; test secret finding is scanner noise for secret-detection tests.
- Remote MCP endpoints in config are disabled by default except local Semble.
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 · L1057Source 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