Back to skill

Security audit

Para Wallet

Security checks for vulnerabilities and agentic risk

Overview

This appears to be a real Para wallet API guide, but it needs review because it enables agents to create wallets and sign raw blockchain payloads without clear safeguards.

Install only if you understand that this gives an agent instructions to create wallets and request signatures through your Para account. Prefer direct-copy installation over the global npm command, protect and scope the API key, and require explicit human review of the chain, wallet, payload, destination, amount, and contract/program action before any signing request.

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
README.md:16
Finding
Unpinned Global npm Package Installation with Package-Identity Mismatch## Vulnerability Details **File Location**: `README.md`, line 16 **Vulnerability Type**: Supply-chain exposure through an unpinned global dependency **Risk Level**: Medium ### Vulnerable Code ```bash npm i -g clawdhub && clawdhub install para-wallet ``` ### Technical Analysis The installation instructions execute the latest available version of the third-party `clawdhub` npm package without an exact version, lockfile, or integrity verification. Because npm packages may execute lifecycle scripts during installation, installing an untrusted or compromised release can immediately execute code with the privileges of the user running npm. There is also a package-identity inconsistency: the project describes and links “ClawhHub” and `clawhhub.com`, while the installed npm package and executable are named `clawdhub`. This mismatch increases the risk that users may install a typographically similar, unintended, or spoofed package. The `-g` flag expands the consequences by installing the package globally and exposing its executable through the user's global command path. ### Attack Path 1. An attacker publishes or compromises a release under the referenced `clawdhub` npm package name. 2. The malicious release includes an npm lifecycle script or a modified command-line executable. 3. A user follows the documented command without verifying the package identity, version, provenance, or integrity. 4. npm resolves the mutable package version and installs it globally. 5. Any lifecycle script executes during installation with the invoking user's privileges. 6. The chained `clawdhub install para-wallet` command then executes the installed binary, providing a second opportunity for arbitrary malicious behavior. ### Impact Assessment Successful exploitation can provide arbitrary code execution under the account running the installation command. The attacker may access files and environment variables available to that account, including potentially configured API credent ...[truncated 399 chars]
Remediation
## Remediation Suggestions 1. Confirm the canonical package identity and correct the discrepancy between “ClawhHub” and `clawdhub`. 2. Pin the dependency to a reviewed exact version, for example `clawdhub@X.Y.Z`, rather than resolving the latest mutable release. 3. Publish the canonical npm registry page and source repository so users can verify package ownership and provenance. 4. Provide integrity or signature verification instructions where supported. 5. Avoid global installation where possible. Prefer a locally pinned development dependency or an isolated package runner with an explicit version. 6. Audit npm lifecycle scripts and package contents before recommending the package. 7. Prefer the documented direct-copy installation method for this Markdown-only skill when the package manager is not required. 8. Advise users not to run the installation command with `sudo` or another elevated account.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (18)

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The README promotes creating wallets and signing arbitrary data but does not warn users that signing can authorize irreversible blockchain transactions or approvals. In an agent-skill context, this omission is more dangerous because autonomous or semi-autonomous agents may treat signing as a routine API action and execute high-impact transfers, approvals, or malicious payloads without adequate human review.

Missing User Warnings

Medium
Confidence
83% confidence
Finding
The skill enables creation of blockchain wallets and signing of arbitrary data without prominently warning that these operations can authorize irreversible on-chain actions or identity-binding signatures. In an agent context, this increases the risk that a user or downstream agent invokes signing on unreviewed payloads, leading to fund movement, approval abuse, or unintended authorization.

External Transmission

Medium
Category
Data Exfiltration
Content
### EVM Example

```bash
curl -X POST https://api.beta.getpara.com/v1/wallets \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $PARA_API_KEY" \
  -d '{
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
### EVM Example

```bash
curl -X POST https://api.beta.getpara.com/v1/wallets \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $PARA_API_KEY" \
  -d '{
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
### EVM Example

```bash
curl -X POST https://api.beta.getpara.com/v1/wallets \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $PARA_API_KEY" \
  -d '{
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
### EVM Example

```bash
curl -X POST https://api.beta.getpara.com/v1/wallets \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $PARA_API_KEY" \
  -d '{
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
### EVM Example

```bash
curl -X POST https://api.beta.getpara.com/v1/wallets \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $PARA_API_KEY" \
  -d '{
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
### EVM Example

```bash
curl -X POST https://api.beta.getpara.com/v1/wallets \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $PARA_API_KEY" \
  -d '{
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
Sign a message hash (e.g., a keccak256 hash of a transaction):

```bash
curl -X POST https://api.beta.getpara.com/v1/wallets/0a1b2c3d-4e5f-6789-abcd-ef0123456789/sign-raw \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $PARA_API_KEY" \
  -d '{
Confidence
88% confidence
Finding
Even though the matched item is the URL reference, in context it points to a high-risk raw-signing operation. The danger comes from encouraging remote signing of opaque data in a blockchain wallet skill, where signatures may authorize irreversible or security-sensitive actions.

External Transmission

Medium
Category
Data Exfiltration
Content
Sign a message hash (e.g., a keccak256 hash of a transaction):

```bash
curl -X POST https://api.beta.getpara.com/v1/wallets/0a1b2c3d-4e5f-6789-abcd-ef0123456789/sign-raw \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $PARA_API_KEY" \
  -d '{
Confidence
88% confidence
Finding
Even though the matched item is the URL reference, in context it points to a high-risk raw-signing operation. The danger comes from encouraging remote signing of opaque data in a blockchain wallet skill, where signatures may authorize irreversible or security-sensitive actions.

External Transmission

Medium
Category
Data Exfiltration
Content
Sign a serialized Solana transaction:

```bash
curl -X POST https://api.beta.getpara.com/v1/wallets/aabbccdd-1122-3344-5566-778899aabbcc/sign-raw \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $PARA_API_KEY" \
  -d '{
Confidence
90% confidence
Finding
This example signs a serialized Solana transaction as raw data with no review or policy checks. In context, that can directly authorize asset transfers or program interactions, so the lack of validation and consent guidance makes it materially risky.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# 1. Create an EVM wallet
RESPONSE=$(curl -s -X POST https://api.beta.getpara.com/v1/wallets \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $PARA_API_KEY" \
  -d '{
Confidence
84% confidence
Finding
The full example's remote calls are not harmful merely because they are external, but the workflow automates security-sensitive wallet operations end-to-end without friction. In context, this can promote unsafe operational patterns for agents handling real identities and assets.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# 1. Create an EVM wallet
RESPONSE=$(curl -s -X POST https://api.beta.getpara.com/v1/wallets \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $PARA_API_KEY" \
  -d '{
Confidence
84% confidence
Finding
The full example's remote calls are not harmful merely because they are external, but the workflow automates security-sensitive wallet operations end-to-end without friction. In context, this can promote unsafe operational patterns for agents handling real identities and assets.

External Transmission

Medium
Category
Data Exfiltration
Content
done

# 3. Sign data
SIGNATURE=$(curl -s -X POST https://api.beta.getpara.com/v1/wallets/$WALLET_ID/sign-raw \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $PARA_API_KEY" \
  -d '{"data": "0x48656c6c6f"}')
Confidence
90% confidence
Finding
The referenced endpoint is the raw-signing API used in an example that signs an opaque hex blob. In this skill's context, that is dangerous because agents may sign attacker-supplied payloads that have real financial or authorization consequences.

External Transmission

Medium
Category
Data Exfiltration
Content
done

# 3. Sign data
SIGNATURE=$(curl -s -X POST https://api.beta.getpara.com/v1/wallets/$WALLET_ID/sign-raw \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $PARA_API_KEY" \
  -d '{"data": "0x48656c6c6f"}')
Confidence
90% confidence
Finding
The referenced endpoint is the raw-signing API used in an example that signs an opaque hex blob. In this skill's context, that is dangerous because agents may sign attacker-supplied payloads that have real financial or authorization consequences.

Missing User Warnings

Low
Confidence
85% confidence
Finding
The setup section instructs users to export a secret API key but gives no handling guidance such as avoiding commits, logs, shared shells, or prompt exposure. In an agent environment, secrets are especially easy to leak through tool traces, chat history, misconfigured environments, or generated code, which could let an attacker abuse the Para account to create wallets or request signatures.

Description-Behavior Mismatch

Low
Confidence
95% confidence
Finding
The manifest description says the skill supports EVM and Solana chains via three REST endpoints. However, the file documents four endpoint paths (`POST /v1/wallets`, `GET /v1/wallets/{walletId}`, `POST /v1/wallets/{walletId}/sign-raw`, plus the documented production and beta base URLs are not the issue) and also states support for `COSMOS` in request/response fields, which exceeds the stated EVM/Solana-only scope.

Intent-Code Divergence

Low
Confidence
91% confidence
Finding
The overview states the skill is ideal for agents that need to create wallets and sign transactions, implying a transaction-signing capability. Later, the only implemented signing endpoint is `POST /v1/wallets/{walletId}/sign-raw`, described as signing arbitrary data, which is not the same as a dedicated transaction-signing operation and can be broader or semantically different.

Static analysis

No suspicious patterns detected.