Back to skill

Security audit

Goodwallet Alpha

Security checks for vulnerabilities and agentic risk

Overview

This Goodwallet skill is mostly disclosed and coherent, but it needs Review because it can drive high-impact wallet actions while relying on a mutable global CLI and broad activation wording.

Install only if you trust the Goodwallet npm package and updater path, understand that the agent may use a persistent local wallet profile, and carefully confirm every send, swap, trade, bet, earn, or sign action before execution.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:20
Finding
Unpinned Wallet CLI Dependency with Mandatory Runtime Self-Updates## Vulnerability Details **File Location**: `SKILL.md`, lines 20–29 and 62–71 **Vulnerability Type**: Supply-chain exposure through an unpinned npm dependency and runtime self-update mechanism **Risk Level**: Medium **Complete vulnerable code snippets:** ```json "install": [ { "id": "node", "kind": "node", "package": "goodwallet", "bins": ["goodwallet"], "label": "Install Goodwallet CLI (npm)" } ], ``` ```markdown ## Setup This skill assumes the `goodwallet` CLI is installed globally and available in PATH. If not, install it via npm: Do NOT use `npx`. Always use the globally installed binary. ## Update Before running any other command, check for updates: 1. `goodwallet update` — check for a new version. 2. If outdated, run `goodwallet update --install` before proceeding. ``` ### Technical Analysis The installation metadata identifies the npm package only as `goodwallet`, without a fixed version or integrity digest. The skill additionally instructs the agent to execute the CLI's update check before every other command and to run `goodwallet update --install` whenever an update is available. This makes the behavior reviewed in the skill dependent on mutable third-party package contents and an external update mechanism that is not included in the audited project. A later package release or update can therefore introduce behavior that was not present during review. Requiring a globally installed binary also increases potential impact because the updated executable remains available outside an individual isolated skill run. The audited file does not itself prove that the package or update service is malicious. The vulnerability is the absence of dependency immutability and independent update verification in a security-sensitive wallet workflow. ### Attack Path 1. An attacker compromises the npm publisher account, package distribution path, or update channel used by the `g ...[truncated 1581 chars]
Remediation
## Remediation Suggestions 1. Pin the npm dependency to a specific, reviewed version rather than using the mutable package name alone. 2. Lock and verify the package integrity digest using npm lockfile integrity metadata or an equivalent cryptographic verification mechanism. 3. Remove the requirement to perform self-updates before every wallet operation. Updates should be reviewed, tested, and deployed through a separate controlled process. 4. Require signed releases or independently verified checksums for CLI updates, and fail closed when verification cannot be completed. 5. Prefer a project-local or isolated installation over a global installation. Run the CLI in a sandbox or container with access only to the files and network destinations required for the requested operation. 6. Restrict filesystem permissions on `~/.config/goodwallet/` and separate wallet credentials from environments used to install or test updates. 7. Preserve explicit user confirmation for all signing and fund-moving operations, and display independently derived transaction destinations, assets, amounts, chains, and fees before approval. 8. Maintain an allowlisted version policy and document a rollback procedure for compromised or defective releases.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (1)

Vague Triggers

Medium
Confidence
94% confidence
Finding
The skill’s trigger description is overly broad for a high-risk capability: it activates on general wallet, balance, trading, betting, vault, and signing conversations. Because this skill can initiate fund movements and signing workflows, broad invocation criteria increase the chance it is selected in ambiguous contexts and can steer users toward sensitive financial actions without sufficiently narrow scoping.

Static analysis

No suspicious patterns detected.