ERC-8004 Identity

SuspiciousAudited by ClawScan on May 10, 2026.

Overview

This skill fits its Avalanche identity purpose, but it needs a raw wallet private key and deploys compiled smart-contract code that users cannot fully verify from the supplied artifacts.

Install only if you are comfortable giving the skill access to a dedicated Avalanche wallet key. Do not use your main wallet, keep only the AVAX needed for deployment, verify the contract source/provenance first, and approve each on-chain action deliberately.

Findings (4)

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

If a primary or well-funded wallet key is used, the skill can authorize on-chain transactions and spend gas from that wallet when commands run.

Why it was flagged

The CLI turns a PRIVATE_KEY environment variable into a signing wallet for Avalanche transactions. This is high-impact wallet authority and is not reflected in the supplied registry metadata's credential/env-var declarations.

Skill content
const privateKey = process.env.PRIVATE_KEY; ... return new ethers.Wallet(privateKey, provider);
Recommendation

Use a dedicated low-balance wallet, keep the key out of shared agent contexts, declare the credential requirement clearly, and require explicit user approval before any transaction.

What this means

A user may deploy opaque or unaudited contract bytecode to mainnet using their wallet, creating persistent on-chain effects and costs.

Why it was flagged

The package includes compiled smart-contract bytecode with a referenced Solidity source path, but the supplied manifest does not include that source file. The CLI deploys these artifacts, so users cannot fully review contract behavior from the provided source materials.

Skill content
"sourceName": "contracts/TaskAgent.sol", ... "bytecode": "0x60a034...
Recommendation

Provide the Solidity sources, verified contract hashes, build instructions, and audit/provenance information before users deploy on mainnet.

What this means

Running the deploy command can spend AVAX on gas and publish/update public on-chain records.

Why it was flagged

The deploy flow performs multiple blockchain mutations: identity registration, contract deployment, task-price updates, and metadata writes. This is purpose-aligned and documented, but it is irreversible and fee-bearing.

Skill content
const tx = await identity["register()"]({ gasLimit: 200000 }); ... const taskAgent = await factory.deploy(...); ... const tx = await taskAgent.setTaskPrice(task.id, targetPrice);
Recommendation

Review the config, wallet balance, network, and contract artifacts before running deploy; test with a low-value wallet first.

What this means

If the config file is copied from an untrusted source or modified by another party, it could run arbitrary local JavaScript.

Why it was flagged

The config file is loaded as JavaScript, so code in config/agent.config.js executes when the CLI loads it. This is a common local-config pattern, but it is riskier than parsing data-only JSON.

Skill content
delete require.cache[require.resolve(configPath)];
  return require(configPath);
Recommendation

Only use trusted config files, consider switching to JSON for data-only configuration, and review config changes before running the CLI.