Back to skill
Skillv1.1.0
ClawScan security
A.I. Cheese · ClawHub's context-aware review of the artifact, metadata, and declared behavior.
Scanner verdict
SuspiciousMar 5, 2026, 4:40 AM
- Verdict
- suspicious
- Confidence
- medium
- Model
- gpt-5-mini
- Summary
- The skill's claimed purpose (paying humans for messages) matches the code, but there are coherence and safety gaps — most notably an undeclared required private key, remote-controlled payment recipients, and the potential for autonomous fund transfers.
- Guidance
- This skill does what it says (pay humans for replies) but requires you to provide a wallet private key and it will transfer USDC to addresses the remote API returns. Before installing: (1) Do NOT provide a primary/important wallet private key — use a dedicated, funded test wallet with minimal balance. (2) Confirm the AICHEESE_SERVER URL is legitimate (https://aicheese.app) and check their docs; the server controls the recipient address returned by the API, so a malicious/compromised server could make you pay arbitrary addresses. (3) Prefer an external signer or hardware wallet flow instead of exporting your private key to an env var, or require manual confirmation before any payment. (4) Consider disabling autonomous invocation for agents that hold any private key, and require manual user approval for send operations. (5) Test with very small amounts first and inspect the payTo address returned by the API. (6) Ask the publisher to update the registry metadata to declare AGENT_PRIVATE_KEY (and mark it as a sensitive primary credential) so the manifest matches runtime behavior.
Review Dimensions
- Purpose & Capability
- concernThe name/description match the code: it searches a directory, requests payment requirements, and sends USDC on Base. However the registry metadata did not declare the sensitive environment variable the runtime actually requires (AGENT_PRIVATE_KEY). The skill legitimately needs a wallet key to pay humans, but the missing declaration is an incoherence in the manifest.
- Instruction Scope
- concernSKILL.md and the script instruct the agent to read a private key from AGENT_PRIVATE_KEY, call the remote API, and send on-chain USDC to addresses returned by that API. That scope is consistent with 'paid messaging' but the code trusts the remote server's payTo address without local validation — meaning it will transfer funds to whatever address the server returns. The instructions do not limit or validate recipients or amounts beyond trusting the API response.
- Install Mechanism
- noteThere is no install spec (instruction-only), which minimizes installer risk. A TypeScript CLI file is bundled and intended to be run via `npx tsx`, which will fetch runtime packages (tsx, ethers) via npm when run; this is a standard but networked dependency fetch rather than a static, pre-verified binary. No downloads from arbitrary URLs or extract operations are present.
- Credentials
- concernThe runtime requires a wallet private key (AGENT_PRIVATE_KEY) to sign and send USDC transactions — this is proportionate to paying people. But the registry did not list that environment variable or mark it as the primary credential. Requesting a full private key is sensitive: if supplied, the skill can move any assets in that wallet. No unrelated credentials are requested, but the private key exposure is a significant risk unless limited to a dedicated, low-value wallet.
- Persistence & Privilege
- concernThe skill does not request always:true or system-wide changes, and it doesn't persist itself. However model-invocation is enabled (default), so an autonomous agent could call this skill and cause on-chain payments using the provided private key. Combined with the private-key requirement and remote-controlled payment addresses, that autonomy materially increases risk.
