Openclaw Send Skill

WarnAudited by ClawScan on May 10, 2026.

Overview

This skill is transparent about automating ETH transfers, but it gives the agent hot-wallet signing authority and relies on unpinned runtime npm tooling, so it should be reviewed carefully before use.

Use this only with a fresh temporary hot wallet and only the amount you are willing to put at risk. Prefer the manual Ceaser flow for better privacy, verify the ceaser-mcp package/version before running, inspect the unsigned transaction details before signing, and clear local pending transaction files and mnemonic environment variables afterward.

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 the unsigned transaction source is wrong, stale, or tampered with, the agent could spend the hot wallet's funded ETH in an unintended transaction.

Why it was flagged

The helper signs and broadcasts whatever unsigned transaction it accepts after only checking chainId and address format; it does not visibly bind the transaction to the Ceaser contract, expected method, amount, or recipient.

Skill content
const tx = { to: unsignedTx.to, data: unsignedTx.data, value: BigInt(unsignedTx.value), chainId: BASE_CHAIN_ID, ... }; const txResponse = await wallet.sendTransaction(tx);
Recommendation

Require explicit user review of the transaction details immediately before signing, and enforce code-level checks for the expected Ceaser contract address, method, value, and chain.

What this means

A changed or compromised npm package could affect the transaction flow used to handle real ETH.

Why it was flagged

The MCP server configuration runs ceaser-mcp by package name through npx without a pinned version or integrity reference, and the provided package files do not include ceaser-mcp as a locked dependency.

Skill content
"command": "npx", "args": ["-y", "ceaser-mcp"]
Recommendation

Pin ceaser-mcp to a reviewed version, include it in a lockfile or install spec with integrity metadata, and avoid automatic latest-package execution for financial operations.

What this means

Anyone who sees or captures the mnemonic can control the hot wallet and any ETH left in it.

Why it was flagged

The helper uses a BIP-39 mnemonic from an environment variable to control the hot wallet that the user funds. This is expected for the stated purpose, but it is sensitive wallet authority.

Skill content
const raw = process.env.CEASER_HOT_MNEMONIC; ... return ethers.HDNodeWallet.fromMnemonic(mnemonic);
Recommendation

Use a fresh hot wallet only for the intended transfer amount, avoid logging or reusing the mnemonic, and clear the environment variable after the operation.

What this means

A stale or modified local pending transaction file could be reused and signed unexpectedly.

Why it was flagged

The helper automatically trusts a persistent pending transaction file in the user's home directory as input for signing, without visible session binding or freshness checks.

Skill content
const DEFAULT_PENDING_TX = path.join(os.homedir(), '.ceaser-mcp', 'pending-tx.json'); ... unsignedTx = JSON.parse(fs.readFileSync(txFilePath, 'utf8'));
Recommendation

Clear pending transaction files before each run, bind pending transactions to the current session, and confirm transaction contents before signing.