Back to skill
Skillv1.0.0
ClawScan security
Project Desapetc · ClawHub's context-aware review of the artifact, metadata, and declared behavior.
Scanner verdict
BenignApr 30, 2026, 6:14 AM
- Verdict
- benign
- Confidence
- high
- Model
- gpt-5-mini
- Summary
- The skill's files, runtime instructions, and network calls are coherent with its stated purpose (creating, signing, linking and verifying decentralized identities); nothing in the bundle indicates it is doing unrelated or hidden actions, though there are important operational security considerations (local key storage, npm install, external endpoints).
- Guidance
- This package appears to do what it claims, but take these precautions before installing or using it: - Protect private keys: set BILLIONS_NETWORK_MASTER_KMS_KEY (e.g., via the skill's env config) so kms.json entries are encrypted; otherwise keys are written in plaintext to $HOME/.openclaw/billions/kms.json. - Review and trust endpoints: the code calls resolver.privado.id, rpc-mainnet.billions.network, identity-dashboard.billions.network and attestation-relay.billions.network. Confirm you trust these domains before sending attestations or using generated links. - Review package dependencies (npm install): SKILL.md asks you to run npm install inside scripts. Inspect package-lock.json and package.json (included) and consider running installs in an isolated environment if you are cautious. - Invocation policy: the skill can sign challenges using local keys. If you require human approval for any attestation/linking, restrict autonomous invocation or require manual invocation by the user/agent. - Audit constants and callbacks: confirm callbackBase and verifierDid values are expected for your deployment; these determine where attestations are delivered. If you want higher assurance, ask the publisher for provenance (git repo, release signatures), or run the scripts in an isolated VM/container and manually inspect network traffic during a test run.
Review Dimensions
- Purpose & Capability
- okName/description (Billions/iden3 DID management) match the included scripts: identity creation, challenge generation, signing, linking and verification. Required binary (node) is appropriate and no unrelated credentials or unusual binaries are requested.
- Instruction Scope
- noteSKILL.md instructs running npm install in scripts and executing the provided node scripts. The scripts only access $HOME/.openclaw/billions, perform DID operations, and call a small set of network endpoints (resolver.privado.id, rpc-mainnet.billions.network, identity-dashboard.billions.network, attestation-relay.billions.network) consistent with the described workflow. Guardrails are present in SKILL.md. Note: scripts will persist private keys and other identity data to disk; they also perform external HTTP calls (including to a URL shortener) as part of creating wallet links.
- Install Mechanism
- noteThere is no registry-level install spec, but SKILL.md explicitly tells users to run 'cd scripts && npm install'. That pulls packages from the public npm registry (package-lock.json is present and pins common iden3/ethers packages). This is expected for Node-based DID tooling; it's a moderate-risk install vector compared to 'download-and-extract' from an arbitrary URL but not unusual. No install-time post-install scripts were observed in the included package.json.
- Credentials
- noteThe skill declares no required env vars but supports an optional BILLIONS_NETWORK_MASTER_KMS_KEY to enable AES-256-GCM encryption of on-disk private keys. If that env var is absent, private keys are stored in plaintext under $HOME/.openclaw/billions/kms.json. The request for a KMS key is proportional to the feature, but leaving it unset materially increases risk and should be considered before use.
- Persistence & Privilege
- okThe skill persists identity material in $HOME/.openclaw/billions (kms.json, identities, challenges, etc.), which is consistent with its purpose. It does not request 'always: true' or attempt to modify other skills. Note: because the skill can sign challenges using local keys, an agent invoking the skill autonomously could sign attestations — consider invocation policy if you want manual control.
