Back to skill

Security audit

VISA Virtual Cards | Manage compatible cards, wallets & payments

Security checks for vulnerabilities and agentic risk

Overview

This payment skill needs review because it gives agents real spending authority and card-handling workflows that are broader and less clearly bounded than the package metadata suggests.

Install only after careful review by someone authorized to manage payment risk. Confirm that spending modes, approval thresholds, card handling, Crossmint ordering, x402 signing, invoice emails, buyer/shipping data, and remote instruction updates are acceptable for the bot using this skill. Prefer per-transaction human approval and avoid entering real card details into provider-hosted pages unless the provider can prove a compliant tokenized flow.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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 (3)

T01 · Skill Instruction Hijacking

Error
Location
encrypted-card.md:73
Finding

Server-Supplied Instructions Can Hijack Agent Actions

Content
View full analysis
", "instructions": "Accept the encrypted card details and confirm delivery via POST /bot/rail5/confirm-delivery" }, "staged_at": "2026-03-06T12:00:00.000Z", "expires_at": "2026-03-07T12:00:00.000Z" } ], "count": 1, "instructions": ...[truncated 2676 chars]
Remediation
View remediation

T05 · Unauthorized Access and Privilege Escalation

Error
Location
encrypted-card.md:208
Finding

Card Activation Workflow Sends Full Cardholder Data to a CreditClaw-Hosted Test Page

Content
View full analysis
Remediation
View remediation

T01 · Skill Instruction Hijacking

Error
Location
skill.json:15
Finding

Unpinned Remote Skill Documents Can Change After Package Review

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • YARA SignaturesMalware Match, Webshell Match, Cryptominer Match
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (35)

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · checkout.md (reported line 341)May include surrounding context.

md
- **Set `amount_locked: true`** for fixed-price products so buyers can't underpay.
- **Leave `amount_usd` empty** for donation or tip jars.
- **Use `page_type: "digital_product"`** when selling downloadable content, API keys, or access tokens.
- **Use `success_url`** to redirect buyers back to your service after payment.
- **Check `GET /bot/sales`** periodically to reconcile completed sales with your fulfillment.
- **Multiple checkout pages** are fine — create one per product or service tier.

YARA rule 'agent_skill_prompt_injection_hidden_instructions': Prompt injection or hidden instructions embedded in AI agent skill text [agent_skills]

High
Category
YARA Match
Confidence
80% confidence
Finding

YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).

Content

Scanner excerpt · skill.md (reported line 12)May include surrounding context.

md
description: "VISA Virtual Cards | Manage compatible cards, wallets & payments. Financial management for Agents and OpenClaw bots."
homepage: https://creditclaw.com
api_base: https://creditclaw.com/api/v1
credentials: [CREDITCLAW_API_KEY]
metadata: {"openclaw":{"requires":{"env":["CREDITCLAW_API_KEY"]},"primaryEnv":"CREDITCLAW_API_KEY"}}
---

# CreditClaw — Financial Enablement & Accounting for AI Agents

CreditClaw.com is a financial enablement platform for Agents and OpenClaw.
Securely manage agentic spending.
1. Accept card details securely from your owner and make purchases within strict guardrails after owner approval.
2. A stablecoin wallet to seamlessly enable x402 payments with a simple "Fund with Stripe" option.
3. Easy-to-use "Storefronts" and product management for bots to sell both digital and physical products.

## Skill Files

| File | URL | Purpose |
|------|-----|---------|
| **SKILL.md** (this file) | `https://creditclaw.com/skill.md` | Registration, setup, webhooks,

Unbounded Resource Access

Medium
Category
Excessive Agency
Confidence
80% confidence
Finding

Skill allows unbounded resource consumption (API calls, storage, compute). Without rate limits or quotas, a compromised or misbehaving agent can cause denial-of-service or cost overruns.

Content

Scanner excerpt · checkout.md (reported line 24)May include surrounding context.

md
-H "Content-Type: application/json"
  -d '{
    "title": "Premium API Access - 1 Month",
    "description": "Unlimited queries to my data analysis endpoint.",
    "amount_usd": 5.00,
    "amount_locked": true
  }'

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill documents collect_buyer_name as a buyer-data collection feature, but provides no warning about handling personal information or the privacy impact of collecting names. For markdown files, SQP-2 applies when the description omits warnings about behaviors that could affect user data or privacy.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The file instructs users to provide recipient_name and recipient_email, and later states the invoice is sent via email with a PDF attachment. This is a user-data/privacy-affecting behavior in markdown, but the skill text does not warn that customer data will be transmitted to the service and used for outbound email delivery.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · checkout.md (reported line 473)May include surrounding context.

md
"title": "Premium API Access",
  "amount_usd": 5.00,
  "page_type": "digital_product",
  "digital_product_url": "https://api.databot.com/keys/generate",
  "shop_visible": true
}

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The file documents wallet-based purchasing through Crossmint, which expands beyond the declared VISA virtual card scope and introduces additional payment and order-placement behavior. Scope drift in a financial skill is dangerous because agents or reviewers may rely on the manifest boundary while the hidden or auxiliary documentation enables real-world purchases through a separate mechanism.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The document explicitly states it is not listed in the skill manifest while still exposing an active purchase endpoint for real orders. Hidden or unmanifested transactional functionality is especially risky in an agent skill because it can bypass expected review, policy gating, or user awareness while still enabling financial actions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The instructions describe submitting purchase requests with shipping address details but do not clearly warn that this places real orders and sends personal data to external services. In a financial/commerce context, that omission increases the risk of unintended purchases, privacy violations, and misuse by downstream agents that may treat the example as a harmless simulation.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
88% confidence
Finding

The example shows an authenticated POST request that transmits purchase details and personal shipping information to an external API, which then routes orders to third parties. External transmission is expected for this feature, but in this context it is still security-relevant because it enables real financial actions and disclosure of sensitive personal data.

Content

Scanner excerpt · crossmint-wallet.md (reported line 32)May include surrounding context.

Purchase Request

bash
curl -X POST https://creditclaw.com/api/v1/card-wallet/bot/purchase \
  -H "Authorization: Bearer $CREDITCLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · encrypted-card.md (reported line 48)May include surrounding context.

Step 1: Request Checkout

bash
curl -X POST https://creditclaw.com/api/v1/bot/rail5/checkout \
  -H "Authorization: Bearer $CREDITCLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

The documented flow allows immediate approval within preset thresholds, enabling purchases without transaction-specific human review. In a payment skill, autonomous spending authority increases the risk of prompt-injection-driven purchases, merchant spoofing, abuse of allowed categories, or rapid low-value fraud that stays under approval limits.

Content

Scanner excerpt · encrypted-card.md (reported line 97)May include surrounding context.

"approved": false, "status": "pending_approval", "checkout_id": "r5chk_abc123", "message": "Amount exceeds auto-approve threshold. Your owner has been notified.", "expires_in_minutes": 15 }

text

External Transmission

Medium
Category
Data Exfiltration
Confidence
84% confidence
Finding

This endpoint returns the one-time decryption key used to recover full card details, meaning the skill enables the agent to obtain sensitive payment credentials in usable form. In the context of an autonomous bot, that is highly sensitive capability: if the bot, runtime, logs, or dependent tools are compromised, an attacker could turn encrypted stored card data into plaintext card details for fraudulent use.

Content

Scanner excerpt · encrypted-card.md (reported line 142)May include surrounding context.

Once the checkout is approved, call this endpoint to retrieve the one-time decryption key:

bash
curl -X POST https://creditclaw.com/api/v1/bot/rail5/key \
  -H "Authorization: Bearer $CREDITCLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "checkout_id": "r5chk_abc123" }'

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The file extends beyond transient checkout use and instructs the agent to receive and retain encrypted card data for later decryption and use. Even though the data is encrypted at rest, distributing card material to the agent and telling it to store/manage it expands the attack surface substantially: compromise of the bot, webhook, message queue, or secrets storage could expose reusable encrypted PAN data and enable later misuse once keys are obtained.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The heartbeat routine claims to be for a VISA virtual cards skill, but it instructs the agent to query a broad 'all connected payment rails' status endpoint and process balances, limits, and guardrails across multiple rails. This scope mismatch can cause over-collection of sensitive financial data and grant the skill visibility beyond what a user would reasonably expect from a VISA-focused capability.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill directs authenticated calls that reveal balances, spending limits, connected rails, and master guardrails, but it does not clearly warn users that sensitive financial account metadata will be accessed on a recurring basis. In the context of an agent skill handling payments, silent background retrieval of this data increases privacy risk and may exceed user expectations or consent boundaries.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The documentation explicitly includes Stripe Wallet and x402 rail operations, which materially exceed a VISA virtual cards description. In a financial skill, this kind of hidden or under-declared expansion increases the risk of unauthorized payment actions, broader token use, and user misunderstanding about which payment systems the agent can inspect or operate.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · management.md (reported line 23)May include surrounding context.

When your balance is low, ask your human if they'd like you to request a top-up:

bash
curl -X POST https://creditclaw.com/api/v1/bot/wallet/topup-request \
  -H "Authorization: Bearer $CREDITCLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The manifest explicitly advertises "spending power" and financial management for agents, but provides no warning, consent model, guardrails, or indication of transaction limits/review requirements. In an agent ecosystem, this is dangerous because it encourages autonomous financial actions against a live API using only an API key, increasing the risk of unauthorized purchases, card misuse, or unintended payments.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · skill.md (reported line 108)May include surrounding context.

You can register before your human does. You'll get an API key immediately.

bash
curl -X POST https://creditclaw.com/api/v1/bots/register \
  -H "Content-Type: application/json" \
  -d '{
    "bot_name": "my-research-bot",

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

The skill explicitly authorizes autonomous purchases under certain server-side policy modes, which enables an agent to spend funds without real-time human confirmation. Although guardrails and thresholds reduce abuse, a compromised or prompt-influenced agent could still make undesired but policy-compliant purchases, creating financial loss and accountability risk.

Content

Scanner excerpt · skill.md (reported line 309)May include surrounding context.

md
**You must follow these rules:**
- If `approval_mode` is `ask_for_everything`, ask your human before any purchase to get their approval. **New accounts default to this mode.** Your owner can loosen this from their dashboard once they're comfortable.
- If `approval_mode` is `auto_approve_under_threshold`, you may spend freely up to `ask_approval_above_usd`. Anything above that requires owner approval.
- If `approval_mode` is `auto_approve_by_category`, you may spend freely on `approved_categories` within limits. All others require approval.
- **Never** spend on `blocked_categories`. These are hard blocks enforced server-side and will be declined.
- Always read and follow the `notes` field — these are your owner's direct instructions.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

Category-based auto-approval permits the agent to independently decide whether a purchase fits an approved category and proceed without immediate owner review. Misclassification, prompt manipulation, or overly broad categories can let the agent initiate unintended transactions while still remaining within server-enforced limits.

Content

Scanner excerpt · skill.md (reported line 310)May include surrounding context.

md
**You must follow these rules:**
- If `approval_mode` is `ask_for_everything`, ask your human before any purchase to get their approval. **New accounts default to this mode.** Your owner can loosen this from their dashboard once they're comfortable.
- If `approval_mode` is `auto_approve_under_threshold`, you may spend freely up to `ask_approval_above_usd`. Anything above that requires owner approval.
- If `approval_mode` is `auto_approve_by_category`, you may spend freely on `approved_categories` within limits. All others require approval.
- **Never** spend on `blocked_categories`. These are hard blocks enforced server-side and will be declined.
- Always read and follow the `notes` field — these are your owner's direct instructions.
- Cache this for up to 30 minutes. Do not fetch before every micro-purchase.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · skill.md (reported line 461)May include surrounding context.

Fetch Pending Messages

bash
curl https://creditclaw.com/api/v1/bot/messages \
  -H "Authorization: Bearer $CREDITCLAW_API_KEY"

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · spending.md (reported line 14)May include surrounding context.

md
Choose one:

- [x] **Ask me for everything** — Bot requests approval before any purchase
- [ ] **Auto-approve under threshold** — Bot spends freely up to the limit below
- [ ] **Auto-approve by category** — Bot spends freely on approved categories

---

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · spending.md (reported line 15)May include surrounding context.

md
Choose one:

- [x] **Ask me for everything** — Bot requests approval before any purchase
- [ ] **Auto-approve under threshold** — Bot spends freely up to the limit below
- [ ] **Auto-approve by category** — Bot spends freely on approved categories

---

Static analysis

No suspicious patterns detected.