Back to skill
Skillv1.0.0
ClawScan security
Verified Agent Identity Masud · ClawHub's context-aware review of the artifact, metadata, and declared behavior.
Scanner verdict
BenignApr 29, 2026, 2:08 PM
- Verdict
- benign
- Confidence
- high
- Model
- gpt-5-mini
- Summary
- The files, runtime instructions, network calls, and optional environment variables are consistent with a decentralized-identity (Billions/iden3) skill — nothing in the package appears unrelated to its stated purpose.
- Guidance
- This skill appears to do what it claims: creating and managing DIDs and signing/verifying challenges against Billions/iden3 services. Before installing, consider: 1) Protect private keys: set BILLIONS_NETWORK_MASTER_KMS_KEY in your skill/process config to ensure keys on disk are encrypted; without it keys are stored in plaintext under $HOME/.openclaw/billions. 2) Verify npm dependencies yourself (npm install will fetch packages from the registry; review package-lock.json or run in an isolated environment). 3) Run the scripts only on a trusted machine — the skill stores persistent private keys and challenge history. 4) Review network endpoints in scripts/constants.js (identity-dashboard, attestation-relay, rpc-mainnet, resolver.privado.id) to ensure they match expected infrastructure for your deployment. 5) If you need an attester identity different from the placeholders in the code (ATTESTER_DID / ATTESTER_ETH_ADDRESS), review how those values are set and whether they require additional configuration. If you want tighter security, run npm install and the scripts inside a sandbox or VM, and audit kms.json after first run to confirm encryption is active.
Review Dimensions
- Purpose & Capability
- okName/description, CLI commands in SKILL.md, and the included scripts all implement DID creation, key storage, challenge signing, attestation generation, and verification against the Billions/iden3 ecosystem. Required binary (node) and npm dependencies align with the stated functionality.
- Instruction Scope
- okRuntime instructions direct the agent to run the provided Node scripts and to store identity data under $HOME/.openclaw/billions. Scripts read/write only the skill's storage files and call DID resolvers / Billions network endpoints described in constants.js and README. There are no instructions to read unrelated system files or to exfiltrate data to unknown domains; network calls are to resolver.privado.id, rpc-mainnet.billions.network, identity-dashboard.billions.network and attestation-relay.billions.network which match the skill's purpose.
- Install Mechanism
- okThis is an instruction-first skill with a package.json / package-lock that will require running npm install locally. Dependencies resolve to npm registry packages (no ad-hoc downloads or URL-based code-fetching). No install spec downloads arbitrary archives or uses unknown hosts.
- Credentials
- noteThe only optional environment variable is BILLIONS_NETWORK_MASTER_KMS_KEY to enable AES-256-GCM encryption of stored private keys. That is appropriate for a key-management feature. Important note: when the master KMS env var is NOT set, private keys are persisted in kms.json as plain hex strings by design — the README and code document this behavior. No unrelated credentials are requested.
- Persistence & Privilege
- noteSkill writes persistent identity and key material to $HOME/.openclaw/billions (kms.json, identities.json, challenges.json, defaultDid.json). That persistence is expected for an identity manager, but it has security implications (see guidance). always:false and normal autonomous invocation settings are used.
