Back to skill
v1.0.0

clawmegle staking

ReviewClawScan verdict for this skill. Analyzed May 1, 2026, 5:25 AM.

Analysis

This staking skill is mostly aligned with its stated purpose, but it can spend or move crypto assets using wallet/API credentials and contains unsafe or inconsistent transaction scripting that users should review before installing.

GuidanceTreat this as a financial-transaction skill. Use only a dedicated wallet with limited funds, independently verify the deployed contract and function selectors, require manual approval for every transaction, and do not use the deposit-rewards script until its unsafe argument handling and calldata inconsistency are fixed.

Findings (8)

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.

Abnormal behavior control

Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.

Tool Misuse and Exploitation
SeverityHighConfidenceHighStatusConcern
scripts/stake-bankr.sh
"$SCRIPT_DIR/bankr.sh" "Approve $STAKING_CONTRACT to spend $AMOUNT CLAWMEGLE on Base"
...
"$SCRIPT_DIR/bankr.sh" "Submit this transaction on Base: {\"to\": \"$STAKING_CONTRACT\", \"data\": \"0xa694fc3a$(printf '%064x' $AMOUNT_WEI)\", \"value\": \"0\", \"chainId\": 8453}"

The script asks Bankr to approve token spending and submit raw transaction calldata. That is purpose-aligned for staking, but it is high-impact financial mutation with no explicit confirmation or dry-run guard in the artifact.

User impactA mistaken amount, wrong contract address, or unintended agent invocation could lock tokens or approve spending from the wallet.
RecommendationRequire explicit human approval before every transaction, show decoded calldata and destination addresses, and limit the wallet/API key to funds intended for staking.
Tool Misuse and Exploitation
SeverityMediumConfidenceHighStatusConcern
scripts/deposit-rewards.sh
# depositRewards(uint256) = 0x8bdf67f2
DEPOSIT_DATA="0x8bdf67f2${CLAWMEGLE_HEX}"

This transaction script uses a depositRewards selector that conflicts with the reference file, which lists depositRewards(uint256) as `0x49bdc2b8`. Inconsistent calldata in a script that can send ETH/tokens is a material safety issue.

User impactDepositing rewards could revert or call an unintended contract function, potentially wasting gas or putting funds at risk.
RecommendationDo not use the deposit script until the contract ABI and function selectors are verified against the deployed contract and made consistent across the artifacts.
Unexpected Code Execution
SeverityHighConfidenceHighStatusConcern
scripts/deposit-rewards.sh
ETH_WEI=$(python3 -c "print(int(float('$ETH_AMOUNT') * 10**18))")
CLAWMEGLE_WEI=$(python3 -c "print(int(float('$CLAWMEGLE_AMOUNT') * 10**18))")

User-supplied amount arguments are interpolated directly into Python code. If an agent passes an untrusted or malformed amount string, it can break out of the quoted value and execute arbitrary local Python code.

User impactA maliciously crafted amount could cause local code execution in the user’s environment.
RecommendationParse numeric arguments safely without embedding them in code, for example by passing them as argv to Python and validating them as decimals.
Rogue Agents
SeverityMediumConfidenceHighStatusNote
HEARTBEAT.md
## Periodic Check (every 1-2 hours)
...
If pending rewards exceed your threshold, claim them:
...
./scripts/claim-bankr.sh

The heartbeat guidance tells an agent to periodically check rewards and auto-claim above thresholds. This is disclosed and related to staking, but it is autonomous financial activity.

User impactThe agent may repeatedly submit claim transactions and spend gas if this heartbeat is enabled.
RecommendationOnly enable autonomous claiming with clear thresholds, budget limits, and human review for unexpected transaction activity.
Human-Agent Trust Exploitation
SeverityMediumConfidenceHighStatusConcern
SKILL.md
**Contract** | `0x56e687aE55c892cd66018779c416066bc2F5fCf4` (deployment pending)
...
- **No admin keys** - Contract cannot be drained
- **Audited patterns** - Uses OpenZeppelin + MasterChef accumulator

The skill makes strong safety claims while also describing the contract as deployment pending. The artifacts do not provide verification, an audit report, or a deployed-code check.

User impactUsers may over-trust the staking contract and send funds before independently verifying deployment and contract safety.
RecommendationVerify the deployed contract on Basescan, review the ABI/source/audit evidence, and avoid relying on unsupported safety claims.
Agentic Supply Chain Vulnerabilities
SeverityLowConfidenceHighStatusNote
scripts/stake.sh
TX=$(cast send "$STAKING_CONTRACT" \
    "stake(uint256)" "$AMOUNT_WEI" \
    --rpc-url "$RPC" \
    --private-key "$PRIVATE_KEY" \
    --json)

The registry requirements list curl, jq, and bc, but the direct-wallet scripts also rely on cast, and deposit-rewards.sh relies on python3. The missing declarations are not malicious by themselves, but they reduce install transparency.

User impactThe skill may fail or rely on undeclared local tooling when used for wallet transactions.
RecommendationDeclare all required binaries and versions, especially transaction-signing tools, before installation.
Permission boundary

Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.

Identity and Privilege Abuse
SeverityHighConfidenceHighStatusConcern
SKILL.md
One of:
- **Bankr API key** configured at `~/.clawdbot/skills/bankr/config.json`
- **Private key** with ETH for gas on Base

The registry metadata says there is no primary credential and no required environment variable, but the skill requires either a transaction-capable Bankr API key or a wallet private key for signing financial transactions.

User impactInstalling and using this skill can give the agent authority to approve token spending and submit wallet transactions.
RecommendationUse a dedicated low-balance wallet/API key, verify all transaction prompts manually, and update the metadata to clearly declare the credential requirements.
Sensitive data protection

Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.

Memory and Context Poisoning
SeverityLowConfidenceHighStatusNote
HEARTBEAT.md
Track your staking state in `memory/clawmegle-staking.json`:
...
"wallet": "0x...",
"stakedAmount": "1000000000000000000000",
"totalEthClaimed": "5000000000000000"

The skill suggests storing wallet address and staking/reward history in persistent agent memory. This is purpose-aligned, but it creates reusable financial context that should not be over-trusted or exposed.

User impactWallet and reward history may persist across tasks and be used by future agent decisions.
RecommendationStore only the minimum needed state, keep it scoped to this skill, and avoid treating memory values as authoritative without re-checking the chain.