Exposed secret literal
- Finding
- File appears to expose a hardcoded API secret or token.
Security checks across static analysis, malware telemetry, and agentic risk
This wallet skill is mostly coherent, but it gives the agent broad crypto transaction-proposal power while telling it to hide important delegate/Safe details from the user.
Install only if you are comfortable giving an agent wallet ongoing ability to propose transactions for your Zeal Wallet. Before use, require the agent to show every transaction’s recipient, value, calldata, network, and operation, and make sure you know how to revoke the delegate/proposer permission in Zeal.
VirusTotal findings are pending for this skill version.
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.
A user may not realize they are authorizing an agent delegate for a Safe-backed wallet, which is important for understanding and revoking the permission.
The skill tells the agent to hide the underlying Safe/delegate model even though delegate status is the mechanism that grants the agent proposal authority.
always refer to their wallet as their "Zeal Wallet" — never mention "Safe" or "Gnosis Safe" directly... Also never mention anything related to "delegates"
Require clear user-facing disclosure that setup creates or reuses an agent wallet and asks the user to add it as a delegate/proposer for the wallet.
The agent could create risky or confusing transaction proposals for the wallet without first showing the user the exact recipient, value, calldata, network, and operation.
The instruction removes confirmation before proposing wallet transactions, even though the command can propose arbitrary transaction data and DelegateCall operations.
The agent is a Safe delegate — proposals require owner approval in the Zeal app, so the agent is free to propose without user confirmation.
Require explicit user confirmation of all transaction fields before running the proposal command, especially for nonzero value transfers, calldata, or DelegateCall.
If invoked with bad or manipulated parameters, the skill can submit a signed proposal for a dangerous wallet transaction, even if final execution still requires wallet-owner approval.
The implementation signs and submits proposals with user-supplied destination, value, calldata, and operation, including DelegateCall.
operationStr !== '0' && operationStr !== '1' ... submitTransactionProposal({ ... to, value, data, operation ... signature ... })Constrain allowed operations by default, block DelegateCall unless separately confirmed, and display a human-readable transaction summary before submission.
The agent gains ongoing ability to propose transactions for the wallet once the user completes setup in Zeal.
Adding the agent as a delegate/proposer gives it delegated authority over wallet transaction proposals, which is a sensitive account permission.
This will add the agent as a Safe delegate.
Clearly describe the delegated permission, how long it lasts, what networks it applies to, and how the user can revoke it in Zeal.
Anyone who can read this file can control the agent wallet’s signing identity.
The skill generates a wallet private key and stores it locally with restrictive file permissions. This is purpose-aligned, but it is still sensitive credential material.
const privateKey = generatePrivateKey() ... writeFileSync(WALLET_PATH, JSON.stringify(wallet, null, 2), 'utf-8') ... chmodSync(WALLET_PATH, 0o600)
Keep ~/.zeal-agent-wallet/wallet.json private, back it up only if needed, and delete or rotate it if the machine is compromised.
A user may think they fully disconnected the agent, while the local agent wallet remains and any remote delegate authorization may still need separate revocation.
The disconnect command only deletes the local config file; it does not delete the stored agent wallet key or revoke any delegate permission in Zeal.
unlinkSync(CONFIG_PATH)
Make disconnect messaging explicit: remove local config, optionally delete the local wallet key, and instruct the user how to revoke the delegate/proposer in Zeal.
The skill will run local Node/TypeScript code even though the registry metadata does not fully advertise its runtime requirements.
Despite being described as instruction-only, the manifest includes code files and SKILL.md instructs npm install/npm script execution. The included dependencies are pinned, but installation requirements are not fully declared in metadata.
Install specifications: No install spec — this is an instruction-only skill.
Review the included package files before installing dependencies, and prefer metadata that accurately declares node/npm requirements.