Verified Agent Identity

WarnAudited by ClawScan on May 13, 2026.

Overview

The skill is purpose-aligned, but it handles private keys and paid requests in risky ways that users should review before installing.

Install only if you are comfortable giving this skill control of a dedicated agent identity key and possibly x402 payment signing. Before first use, set BILLIONS_NETWORK_MASTER_KMS_KEY, restrict ~/.openclaw/billions permissions, never import a funded Ethereum wallet key, avoid passing secrets on the command line, and carefully review every payment URL, amount, asset, and network before confirming.

Findings (5)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A leaked key could let another process or person impersonate the agent identity, and if the user reuses an asset-holding wallet key, the impact could extend to funds.

Why it was flagged

The documented flow allows importing an Ethereum private key through a command-line argument. Command-line arguments can be exposed via shell history, process listings, logs, or monitoring tools.

Skill content
BILLIONS_NETWORK_MASTER_KMS_KEY="<your-strong-secret>" node scripts/createNewEthereumIdentity.js --key <your-ethereum-private-key>
Recommendation

Do not pass wallet or identity private keys on the command line. Use a dedicated no-assets identity key, prefer generated keys, and ask the publisher to support stdin, a secure keystore, or another non-argv import method.

What this means

Anyone or any process that can read the storage directory may be able to use the agent identity key, and possibly a reused wallet key.

Why it was flagged

The skill explicitly stores identity private keys persistently and leaves them plaintext unless the optional master key is configured.

Skill content
kms.json — CRITICAL: Contains private keys (encrypted if BILLIONS_NETWORK_MASTER_KMS_KEY is set, otherwise plaintext)
Recommendation

Set BILLIONS_NETWORK_MASTER_KMS_KEY before first use, run chmod 700 ~/.openclaw/billions, never import a funded wallet key, and consider rotating any key created before encryption was enabled.

What this means

If the user confirms the wrong payment option, the skill may send a valid payment signature and fetch a paid resource.

Why it was flagged

The payment behavior is disclosed and includes a confirmation step, but it still grants the agent a high-impact capability to create signed payment headers.

Skill content
Once the user selects (or confirms) a payment, call the script again with the chosen --paymentHash ... the script signs the payment, sends it, and returns the result.
Recommendation

Before authorizing the second call, verify the resource URL, amount, asset, network, and payment hash; decline unclear or unexpected payment requests.

What this means

A user may believe the skill only contacts the listed identity-provider domains while the payment flow can contact other resource hosts chosen by a 402 challenge.

Why it was flagged

This network-scope claim is incomplete because the provided x402 script fetches paymentRequired.resource.url and sends a PAYMENT-SIGNATURE header to that resource provider, which may be outside the listed domains.

Skill content
All network calls are directed to legitimate DID resolvers (resolver.privado.id) or the project's own infrastructure (billions.network) ... Whitelisted domains: resolver.privado.id, billions.network, polygonid.me
Recommendation

Treat x402 resource providers as additional network destinations. The publisher should document this clearly and consider enforcing HTTPS or explicit allowlisting for paid resource URLs.

What this means

Installing dependencies runs third-party package installation in the user's environment.

Why it was flagged

The skill requires installing Node dependencies before use. This is expected for the included scripts, but it expands the local supply-chain surface.

Skill content
cd scripts && npm install && cd ..
Recommendation

Install in an isolated environment where possible and review package.json/package-lock.json before running the scripts.