Back to skill

Security audit

Vincent - Wallet

Security checks for vulnerabilities and agentic risk

Overview

The skill is a disclosed agent wallet integration, but it grants high-impact transaction and signing authority with an unrestricted pre-claim window and runs mutable CLI code via npm.

Review before installing. Only use this skill if you are comfortable giving an agent transaction and signing capability. Claim any created wallet immediately, configure restrictive policies before funding it, avoid arbitrary calldata and raw signing unless necessary, and prefer a pinned and verified Vincent CLI version over @latest.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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
Findings (2)

T08 · Insecure Dependencies

Error
Location
SKILL.md:80
Finding

Mutable npm Package Is Downloaded and Executed with Wallet Authority

Content
View full analysis
--to 0xRecipient --amount 0.01 ``` ```bash npx @vincentai/cli@latest wallet send-tx --key-id --to 0xContract --data 0xCalldata --value 0 ``` ```bash npx @vincentai/cli@latest raw-signer sign --key-id --message 0x --curve ethereum ``` ### Technical Analysis The Skill instructs the agent to invoke `npx @vincentai/cli@latest` for all wallet operations. The `latest` npm tag is mutable and does not identify a fixed, audited package artifact. Consequently, the effective implementation can change after the Skill has been reviewed without any corresponding modification to `SKILL.md`. Depending on the local npm cache and `npx` configuration, invoking these commands can retrieve and execute a package from the npm registry. The downloaded package executes with the permissions of the agent process. It also operates in a context containing a persisted wallet API credential and is trusted to construct high-impact financial requests. The reviewed project contains only `SKILL.md`; it does not include the CLI implementation, a lockfile, an integrity hash, or another mechanism that would allow the executed artifact to be verified against the audited version. This creates a supply-chain trust boundary around code capable of transferring assets, invoking arbitrary smart contracts, and requesting raw signatures. ### Attack Path 1. An attacker compr ...[truncated 1734 chars]
Remediation
View remediation

T05 · Unauthorized Access and Privilege Escalation

Error
Location
SKILL.md:250
Finding

Agent Has Unrestricted Financial Control Before Human Claim and Policy Activation

Content
View full analysis
--to 0xContract --data 0xCalldata --value 0 ``` ### Technical Analysis The Skill's security model relies on server-side policies such as spending limits, address allowlists, token allowlists, function allowlists, and human-approval thresholds. However, the documentation explicitly states that none of these restrictions apply before the wallet is claimed. This violates least-privilege and deny-by-default principles. The agent receives transaction authority before a human operator has established ownership or configured limits. The granted functionality is broader than merely creating a wallet and presenting a claim URL: the agent may immediately manage funds, transfer assets, execute swaps, bridge funds, submit arbitrary calldata, and use raw-signing functionality. Revocation after claim does not mitigate transactions completed before the human gains control. Similarly, the fact that the credential is scoped rather than a raw private key does not provide meaningful protection when its pre-claim scope permits unrestricted wallet operations. ### Attack Path 1. The agent creates a wallet and receives an API credential and claim URL. 2. The human operator has not yet opened ...[truncated 1553 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (20)

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The skill markets the wallet as operating safely within defined policy boundaries, but later discloses that newly created wallets have no restrictions until the human claims them. In an autonomous wallet skill, that means an agent can create and use a transaction-capable wallet before any allowlists, spending limits, or approval requirements exist, creating a dangerous gap during onboarding.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The documentation asserts the API key can only perform actions permitted by owner policies, but elsewhere admits there are no owner policies before claim. This misleading security claim can cause operators to overtrust the onboarding flow and allow agents to handle funds under the false assumption that server-side controls already constrain transactions.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill permits unrestricted wallet operation before user claim and policy setup, and the warning appears late rather than as a blocking prerequisite. In the context of an agent wallet that can transfer funds, swap assets, and send arbitrary calldata, unsafe-by-default onboarding materially increases the chance of unauthorized or accidental asset movement before human controls are established.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.