Back to plugin
Pluginv0.2.0
ClawScan security
StablePay OpenClaw Plugin · ClawHub's context-aware review of the artifact, metadata, and declared behavior.
Scanner verdict
SuspiciousApr 5, 2026, 12:43 PM
- Verdict
- suspicious
- Confidence
- medium
- Model
- gpt-5-mini
- Summary
- The plugin's code and runtime instructions are generally consistent with a local wallet + signing tool, but there are mismatches in declared metadata and the install instructions will pull npm dependencies (package-lock shows many unrelated packages), so review before installing.
- Guidance
- What to check before installing: - Metadata mismatch: SKILL.md and the code require STABLEPAY_PLUGIN_MASTER_KEY (and optionally STABLEPAY_OWS_PASSPHRASE / STABLEPAY_OWS_REST_API_KEY), but the registry lists no required env vars. Treat STABLEPAY_PLUGIN_MASTER_KEY as a sensitive secret and do not set productive/cloud credentials as its value. - Install behavior: the README instructs you to run npm install / npm run build. Inspect package.json and package-lock.json (both are included) to confirm the dependency list and understand why many transitive packages (e.g., aws-sdk related entries) appear. If you are uneasy, run the build in an isolated environment (container or VM) and/or audit the dependency tree. - Local state and files: the plugin writes an encrypted state file under ~/.stablepay-openclaw/stablepay-local-state.enc and policy files under the same directory. Back up or inspect these files if you plan to use real funds/keys. The plugin claims private keys remain client-side. - Network endpoints: by default it targets localhost (127.0.0.1) for the gateway/backend, which is appropriate for local testing. Before pointing backendBaseUrl to a remote server, ensure you trust that endpoint since DID registration and payment flows will POST to the configured backend. - Reduce blast radius: if you want to test, run the plugin in an isolated test account / dedicated user environment, and avoid reusing production secrets. Ask the publisher to fix the registry metadata to declare required env vars and, if possible, provide a minimal package.json / shrinkwrap explaining the unexpected dependencies. If you want higher confidence, request from the maintainer: (1) an explanation for the large dependency set in package-lock, (2) an updated registry manifest listing required env vars, and (3) a reviewable release tarball or signed package hash to validate what will be installed.
Review Dimensions
- Purpose & Capability
- noteThe plugin implements a local wallet, client-side DID registration, signing drivers (OWS SDK/CLI/REST/local) and payment flow — that matches the name/description. However the registry metadata claims "Required env vars: none" while SKILL.md and the code require STABLEPAY_PLUGIN_MASTER_KEY (and optionally STABLEPAY_OWS_PASSPHRASE / STABLEPAY_OWS_REST_API_KEY). The missing declaration is an incoherence in metadata vs runtime needs.
- Instruction Scope
- okSKILL.md instructs building the plugin (npm install / npm run build), installing into a Linux-native path/WSL, setting STABLEPAY_PLUGIN_MASTER_KEY, and then using the registered tools. The runtime reads/writes only a local encrypted state file (~/.stablepay-openclaw/...), writes policy files under that directory, and talks to a configurable backendBaseUrl (defaults to localhost). The instructions do not direct unrelated system-wide credential access or remote exfiltration to external domains by default.
- Install Mechanism
- concernRegistry has no formal install spec, but SKILL.md tells users to run npm install / build. package-lock.json included in the package contains a large set of transitive dependencies (including many aws-sdk/@smithy packages) that are not obviously required for the plugin's core wallet/signing functionality. Running npm install will fetch and install those packages — review package.json/package-lock to confirm why they appear before installing. No remote downloads from unknown URLs are present in the manifest, but npm installs have moderate risk because of transitive deps.
- Credentials
- concernThe environment variables the code uses (STABLEPAY_PLUGIN_MASTER_KEY for AES-256-GCM local state key; optional STABLEPAY_OWS_PASSPHRASE and STABLEPAY_OWS_REST_API_KEY for OWS runtimes) are reasonable for the plugin's functionality. The problem is that the registry metadata declared no required env vars while the SKILL.md and code clearly require a sensitive master key. That metadata omission is a material inconsistency and should be corrected. Also: do not reuse high-value secrets (cloud keys, AWS creds) as the master key.
- Persistence & Privilege
- okalways is false and the plugin registers user-invocable tools. It stores encrypted state and policy files under the user's home directory (~/.stablepay-openclaw/) and does not request system-wide configuration changes or other skills' credentials. This level of persistence and file-write access is proportional for a wallet plugin.
