CtrlK
BlogDocsLog inGet started
Tessl Logo

cypherhq/agent-pay

Auto-provision a virtual Visa card to complete an online purchase. Use when user asks to buy something and needs payment, or explicitly mentions cypher-pay/agent-pay. Handles onboarding (email OTP + KYC — once ever), token generation (once per device), funding, card creation, 3DS, and card lifecycle.

72

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

High

Do not use without reviewing

Overview
Quality
Evals
Security
Files

Security

2 findings: 1 high severity, 1 medium severity. You should review these findings carefully before considering using this skill.

High

W007: Insecure credential handling detected in skill instructions.

What this means

The skill handles credentials insecurely by requiring the agent to include secret values verbatim in its generated output. This exposes credentials in the agent’s context and conversation history, creating a risk of data exfiltration.

Why it was flagged

The prompt explicitly instructs the agent to fetch and—when the user explicitly requests it—display full sensitive values (PAN/CVV via --reveal) and to accept OTPs/KYC data and embed them in CLI commands, so the LLM may be required to handle and output secrets verbatim.

Where we found it

agent-pay get-card --tag ... --reveal --pretty

command · 4 sites

The plugin instructs the agent to display full PAN and CVV to the user in the conversation via --reveal --pretty, emitting sensitive card secrets as visible output.

SKILL.md

174

agent-pay get-card --tag "purchase-tag" --reveal --pretty

SKILL.md

176

Shows full PAN and CVV in the ASCII art card. Warn once: "Card details will be visible in your conversation history."

SKILL.md

261

agent-pay get-card --tag "x" --reveal --pretty # ASCII art card (full PAN+CVV)

SKILL.md

302

If user explicitly asks for full PAN or CVV, display them but warn once

agent-pay get-card --tag ... --reveal

command · 3 sites

The --reveal flag causes the CLI to return full PAN/CVV/expiry to the agent's stdout; line 178 explicitly instructs the agent to use --reveal without --pretty to get secrets into the agent context for filling checkout forms.

SKILL.md

162

agent-pay get-card --tag "x" --reveal

SKILL.md

259

agent-pay get-card --tag "x" --reveal # Full PAN/CVV/expiry — SENSITIVE

SKILL.md

178

Use `--reveal` without `--pretty` to fill checkout forms, then discard.

agent-pay verify-otp <email> <otp>

command · 3 sites

The OTP (a secret verification code) is placed directly on the command line as a positional argument, making it visible in process listings and shell history.

SKILL.md

63

agent-pay verify-otp <email> <otp>

SKILL.md

95

agent-pay verify-otp <email> <code>

SKILL.md

244

agent-pay verify-otp <email> <otp> # Verify OTP → get bot token

agent-pay submit-application --firstName ... --dob ... --phone ...

command · 6 sites

KYC personal data (name, DOB, phone, address) is embedded directly in CLI arguments, exposing PII on the command line and in the agent's context.

agent-pay create-card --tag ... --reveal

command · 1 site

The create-card command with --reveal also exposes full PAN/CVV on stdout at card creation time, emitting sensitive card secrets as visible output.

SKILL.md

257

agent-pay create-card --tag "x" [--purpose "..."] [--limit N] [--daily-limit N] [--monthly-limit N] [--reveal] [--pretty]

Report incorrect finding
Medium

W009: Direct money access capability detected (payment gateways, crypto, banking).

What this means

The skill is specifically designed for direct financial operations, giving the agent the ability to move money or execute financial transactions — such as payment processing, cryptocurrency operations, banking integrations, or market order execution.

Why it was flagged

The skill is explicitly built to move money and complete purchases: it provisions programmable virtual Visa cards, handles funding (agent-pay fund <amountUsd> returning a funding redirect URL), creates cards sized/limited for purchases (create-card, get-card --reveal to obtain PAN/CVV/expiry), handles 3DS and waits for transactions (3ds-poll, wait-for-txn), and can cancel/freeze/unfreeze cards. It even exposes an SDK and CLI that read bot tokens and perform account actions. These are specific payment/payment-instrument operations (virtual card creation, funding, and transaction lifecycle), so this grants direct financial execution authority.

Low

Low-risk findings.

1 low severity finding. Worth noting, but not necessarily harmful.

Low

W012: Unverifiable external dependency detected (runtime URL that controls agent).

What this means

The skill fetches instructions or code from an external URL at runtime, and the fetched content directly controls the agent’s prompts or executes code. This dynamic dependency allows the external source to modify the agent’s behavior without any changes to the skill itself.

Why it was flagged

The skill requires installing/running the @cypherhq/agent-pay CLI via npm/npx (e.g., "npm install -g @cypherhq/agent-pay" or "npx @cypherhq/agent-pay"), which fetches and executes code from the npm registry (e.g. https://registry.npmjs.org/@cypherhq/agent-pay) at runtime, so it is an external dependency that executes remote code.

Where we found it

@cypherhq/agent-pay

dependency · 5 sites

The plugin instructs the agent to install and execute @cypherhq/agent-pay from npm at runtime, fetching and running unverifiable third-party code.

SKILL.md

26

npm install -g @cypherhq/agent-pay

SKILL.md

28

npx @cypherhq/agent-pay <command>

SKILL.md

310

The CLI wraps the `@cypherhq/agent-pay` TypeScript SDK.

SKILL.md

313

npm install @cypherhq/agent-pay

SKILL.md

317

import { createClient } from '@cypherhq/agent-pay';

Audited
Security analysis
Snyk