Back to skill

Security audit

VEYA

Security checks for vulnerabilities and agentic risk

Overview

This skill needs review because it sends wallet and signing secrets to a hosted service and understates when your content leaves your device.

Use public verification with non-sensitive inputs first. Do not submit a primary wallet key or reusable signing identity to the hosted tools. Prefer reviewed local signing, hash confidential content locally, and verify the network and transaction before approving writes. Pin and review optional packages before running them.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (14)

Agent Config Directory Access

High
Category
Agent Snooping
Confidence
90% confidence
Finding

Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.

Content

Scanner excerpt · README.md (reported line 114)May include surrounding context.

claude mcp add veya --transport http https://mcp.veyanet.tech/mcp

text

**Codex**: `~/.codex/config.toml`

```toml
[mcp_servers.veya]

Agent Config Directory Access

High
Category
Agent Snooping
Confidence
90% confidence
Finding

Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.

Content

Scanner excerpt · references/setup.md (reported line 32)May include surrounding context.

Codex CLI

Add to ~/.codex/config.toml:

toml
[mcp_servers.veya]

The anchoring workflow sends the user's wallet private key to the hosted MCP service without warning about the resulting credential exposure.

High
Category
Output Handling
Confidence
99% confidence
Finding

The anchoring workflow passes payerPrivateKey to a hosted MCP service, exposing the user's wallet signing credential to that service and potentially its logging infrastructure. A malicious or compromised service could use the key to sign unauthorized transactions and drain assets on networks where that key is used; HTTPS, wallet matching, and confirmation of the intended write do not prevent this. The explicit mainnet and funded-wallet context increases the danger, while the rule against repeating keys in replies does not address remote credential exposure.

Content

No source excerpt is available for this finding.

Setup directs users to supply wallet private keys through hosted tools without warning about the resulting custody and fund-access risks.

High
Category
Output Handling
Confidence
99% confidence
Finding

The hosted setup presents payerPrivateKey as a routine tool argument without explaining that sending it gives the remote service the ability to sign transactions with that wallet. Unlike an application API key, a wallet private key generally grants control over all assets and permissions associated with the account, making the missing custody warning especially consequential.

Content

No source excerpt is available for this finding.

The setup normalizes passing a wallet private key to the hosted MCP service as a routine write-tool argument.

High
Category
Data Exfiltration
Confidence
99% confidence
Finding

Passing a wallet private key through agent tool arguments exposes it to the hosted MCP service and potentially to conversation histories, tool traces, or logging systems. A malicious operator or compromise of any system retaining the key could enable unauthorized transfers; HTTPS does not prevent access by the receiving service. This overlaps with SQP-2 but identifies the underlying secret-handling design rather than the missing warning.

Content

No source excerpt is available for this finding.

The troubleshooting fixes direct users to supply a wallet private key without warning about exposing wallet control.

High
Category
Output Handling
Confidence
98% confidence
Finding

The troubleshooting guidance normalizes passing a raw wallet private key as a tool argument without explaining that it grants control over the wallet. In this hosted MCP context, following that guidance could expose the key to the agent, remote service, or request logs, enabling unauthorized signing and theft of wallet assets. The explicit requirement for a funded wallet increases the potential harm, although the text does not establish malicious intent.

Content

No source excerpt is available for this finding.

The activation condition includes unqualified requests about “proofs,” which can trigger the skill outside VEYA-related tasks.

Medium
Category
Trigger Abuse
Confidence
91% confidence
Finding

The matching criteria list “proofs” alongside VEYA-specific terms without requiring a VEYA or blockchain context. This could activate the skill for unrelated requests such as mathematical proofs, and no exclusion conditions are provided.

Content

No source excerpt is available for this finding.

MCP server referenced without pinned version: 'npx skills'.

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

The installation command invokes an unpinned npm CLI and installs skill content without an immutable repository revision. A compromised or malicious future release could execute code with the installing user's permissions or introduce adversarial skill instructions; this is an installation supply-chain weakness, not specifically an unpinned MCP server version.

Content

No source excerpt is available for this finding.

The proof example says “nothing sent” even though its text argument is passed to the hosted MCP server.

Medium
Category
Output Handling
Confidence
98% confidence
Finding

The example claims 'nothing sent' while passing the plaintext text argument to a hosted MCP service, which necessarily receives that argument. Even if the intended meaning is 'nothing written on-chain,' the wording can mislead users and agents into disclosing confidential material under the mistaken belief that hashing is local.

Content

No source excerpt is available for this finding.

MCP server referenced without pinned version: 'npx skills'.

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The installation command npx skills add veyanet/veya-skills does not pin the executable npm package or the downloaded skill revision, allowing installation behavior and agent instructions to change without review. A compromised package release or repository update could introduce code execution or malicious instructions; the wallet-linked API keys and on-chain operations described here increase the potential consequences. This is an installation supply-chain weakness, rather than direct evidence that the referenced MCP server is malicious or improperly versioned.

Content

No source excerpt is available for this finding.

The signed-delivery workflow passes a private signing key to the routing tool without a sensitive-data warning.

Medium
Category
Output Handling
Confidence
95% confidence
Finding

The workflow explicitly sends senderPrivateKeyHex to a hosted routing tool, exposing the private signing key beyond the sender's local trust boundary without warning or consent guidance. A compromised service or retained tool-call logs could expose the key and enable forged signatures under that identity; post-quantum cryptography does not protect a disclosed private key. Although this matches the documented tool interface rather than an apparent malicious diversion, its use for agent identity and secure routing makes the exposure consequential.

Content

No source excerpt is available for this finding.

The labeled-content workflow sends raw user content to a server without a privacy warning.

Medium
Category
Output Handling
Confidence
90% confidence
Finding

The workflow passes raw label and content to the hosted MCP server for hashing without explaining that the service receives the plaintext. Users seeking a cryptographic commitment may expect only a digest to leave their environment, so confidential material could be disclosed to the service and potentially its logs. Server-side hashing is legitimate functionality, but the proof-oriented context makes the missing privacy distinction consequential; the excerpt does not establish malicious collection or plaintext publication on-chain.

Content

No source excerpt is available for this finding.

MCP server referenced without pinned version: 'npx -y @veyanet/mcp'.

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The command downloads and executes an unpinned npm package, while -y suppresses the installation confirmation. A compromised or malicious future release could execute with the operator's privileges; this is particularly dangerous for a service that may receive wallet private keys and API credentials.

Content

No source excerpt is available for this finding.

The instruction to run all four tools at the start of “any session” lacks an explicit VEYA-related activation scope.

Low
Category
Trigger Abuse
Confidence
86% confidence
Finding

“Any session” is an overly broad activation condition that does not distinguish sessions requiring VEYA connectivity from unrelated sessions. Although the surrounding document concerns VEYA service status, this instruction does not explicitly constrain when the checks should run.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.