Back to skill

Security audit

The Protocol Wars: Agent Commerce Protocol Comparison — x402, ACP, MCP, A2A and Beyond

Security checks for vulnerabilities and agentic risk

Overview

This markdown guide is not auto-executing, but it asks for payment/signing credentials and includes runnable live-commerce examples that are broader and riskier than its guide framing suggests.

Install only if you intend to review a high-impact commerce integration guide and can prevent automatic credential injection. Do not provide live Stripe, signing, wallet, GreenHelix, Visa, PayPal, or similar credentials to this skill unless you have audited and sandboxed the examples. Treat the runnable snippets as unsafe for production until payment-proof validation, replay protection, dependency pinning, and explicit sandbox/live endpoint separation are fixed.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:1245
Finding

Unverified x402 Payment Proof Is Accepted as Authorization for Escrow Creation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 1245-1274
Vulnerability Type: Missing cryptographic verification and replay protection
Risk Level: High
Classification: T09: Insecure Skill Coding Practices

Vulnerable Code

python
def translate_request(self, request: ProtocolRequest) -> dict:
    proof_header = request.headers.get("X-PAYMENT-PROOF")
    if not proof_header:
        raise ValueError("No payment proof in request")

    proof = json.loads(proof_header)
    payer_id = proof.get("payer_agent_id", f"x402:{proof['tx_hash'][:16]}")

    return {
        "tool": "create_escrow",
        "inputs": {
            "payer_agent_id": payer_id,
            "payee_agent_id": self.agent_id,
            "amount": str(proof["amount"]),
            "description": f"x402 payment. TX: {proof['tx_hash']}",
            "escrow_type": "standard",
            "metadata": json.dumps({
                "protocol": "x402",
                "tx_hash": proof["tx_hash"],
                "facilitator": self.facilitator_url,
            }),
        },
        "metadata": {
            "tx_hash": proof["tx_hash"],
            "resource_path": request.path,
        },
    }

def handle(self, request: ProtocolRequest) -> ProtocolResponse:
    """Full request lifecycle: translate, execute, translate back."""
    operation = self.translate_request(request)
    gh_response = self.client.execute(
        operation["tool"], operation["inputs"]
    )
    return self.translate_response(
        gh_response, operation.get("metadata", {})
    )

Technical Analysis

The adapter treats the contents of the attacker-controlled X-PAYMENT-PROOF HTTP header as authoritative. It parses the header and directly uses the claimed payer identity, transaction hash, and amount to create a GreenHelix escrow.

No validation is performed to establish that:

  • The transaction e ...[truncated 2380 chars]
Remediation
View remediation

Remediation Suggestions

  1. Verify every proof with a trusted, allowlisted x402 facilitator before creating an escrow or releasing paid content.
  2. Perform cryptographic verification locally where the protocol supports it rather than relying exclusively on a remote assertion.
  3. Bind the verified proof to all security-relevant fields:
    • Payer identity
    • Recipient address or agent
    • Amount and currency
    • Resource identifier
    • Network and chain ID
    • Expiration time
    • Transaction hash and nonce
  4. Require the verified amount to be equal to or greater than the server-defined price. Never derive the required price solely from the client-supplied proof.
  5. Store consumed transaction hashes or nonces atomically and reject replays.
  6. Require sufficient settlement confirmations before treating payment as final.
  7. Apply strict schema validation, size limits, and type checks to the proof header.
  8. Fail closed when facilitator validation is unavailable, malformed, or times out.
  9. Create escrow only after successful validation and return a payment error rather than HTTP 200 on verification failure.
  10. Add tests covering forged signatures, recipient mismatch, amount mismatch, expired proofs, wrong networks, malformed JSON, and replayed transactions.

T08 · Insecure Dependencies

Warning
Location
SKILL.md:2174
Finding

Unpinned Third-Party Commerce Package Is Installed and Trusted with Sensitive Operations

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 2174-2183
Vulnerability Type: Unpinned dependency and insufficient supply-chain integrity controls
Risk Level: Medium
Classification: T08: Insecure Dependencies

Vulnerable Code

markdown
The code below builds a complete multi-protocol adapter on top of the
`greenhelix_trading` library. It translates between x402, ACP, and
GreenHelix-native protocols using `ProtocolBridge`, `ServiceBridge`, and
`EventBridge` directly. Every method calls the live GreenHelix A2A Commerce
Gateway at `https://api.greenhelix.net/v1`.

```bash
pip install greenhelix-trading
python
from greenhelix_trading import ProtocolBridge, ServiceBridge, EventBridge
text

### Technical Analysis

The guide instructs users to install `greenhelix-trading` from the package index without specifying an exact version or validating package hashes. It provides no lockfile, trusted source repository reference, signature-verification procedure, or reproducible dependency manifest.

Package installation can execute package build or installation logic. Imported package code also executes with the privileges of the calling Python process. In this case, the dependency is entrusted with particularly sensitive operations, including:

- GreenHelix API credentials.
- Agent identity registration and resolution.
- Escrow and payment creation.
- Cross-protocol event publication.
- Webhook management.
- Transaction and payment metadata.

Because the command resolves a mutable package version at installation time, the effective implementation may differ from the code that was audited. A compromised package release, maintainer account, dependency, or package-index resolution path could introduce arbitrary code into the user's environment.

### Attack Path

1. A user follows the documented command:

   ```bash
   pip install greenhelix-trading
   ```

2. The pa
...[truncated 1533 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin the package to a specific, reviewed version rather than installing the latest mutable release.

  2. Publish a requirements or lock file containing cryptographic hashes for the package and every transitive dependency.

  3. Install with hash enforcement, such as:

    bash
    python -m pip install --require-hashes -r requirements.txt
    
  4. Document the canonical package repository, source-code repository, maintainer identity, and release-signing process.

  5. Verify package provenance and signatures where supported.

  6. Audit the pinned package and its transitive dependency tree before deployment.

  7. Use an internal package mirror or allowlisted artifact repository for production builds.

  8. Build in an isolated environment without production secrets, then promote immutable artifacts.

  9. Run the gateway under a dedicated, non-privileged service account with restricted filesystem and network access.

  10. Give the package narrowly scoped API credentials that permit only required operations; separate identity, payment, and webhook privileges where possible.

  11. Monitor dependencies for ownership changes, unexpected releases, vulnerabilities, and hash drift.

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 (42)

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill is declared as a non-executable markdown guide, yet its manifest requests live payment and signing credentials including an agent signing key and Stripe API key. Requesting secrets that are not necessary for rendering a guide creates unnecessary secret exposure risk and can prime users or hosting platforms to inject sensitive values into an artifact that later contains live network examples and gateway code.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The guide says all examples use a sandbox with no API key required, but repeatedly references production endpoints and secret-bearing examples such as Stripe, Visa, PayPal, and GreenHelix live APIs. This mismatch can cause users to run examples against real services, potentially creating real payments, exposing credentials, or mutating production state.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
93% confidence
Finding

A skill presented as a protocol comparison guide contains extensive operational code for payment routing, escrow creation, identity bridging, event publishing, and gateway deployment. This broadens the trust boundary substantially: users expecting passive documentation may instead deploy code that interacts with external services and sensitive commerce flows.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The manifest requests sensitive credentials without giving users clear handling guidance, scoping expectations, or disclosure of exposure risks. In a documentation skill, this increases the likelihood that overly privileged secrets are unnecessarily provisioned and later reused in copied examples or logs.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The document claims it does not execute code or install dependencies, but later includes package installation commands and runnable code that performs live HTTP requests. This kind of contradiction can mislead users and automated systems into underestimating the operational and security risk of following the guide.

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 · SKILL.md (reported line 38)May include surrounding context.

md
Eleven competing protocols now claim to be the standard for agent commerce: x402, ACP (Agentic Commerce Protocol), AP2 (Agent Payments Protocol), MPP (Machine Payment Protocol), TAP (Trusted Agent Protocol), UCP (Universal Commerce Protocol), MCP (Model Context Protocol), Google's A2A, Visa TAP (Trusted Agent Protocol), Google AP2 (Agent Payments Protocol), OpenAI ACP (Agentic Commerce Protocol), PayPal Agent Ready, and Google UCP (Universal Commerce Protocol). Q1 2026 detonated what was already a crowded field -- five major protocols launched in a single quarter, backed by Google, OpenAI, Visa, PayPal, Shopify, Walmart, and dozens of other heavyweights. If you are building an agent commerce system in 2026, this is the most consequential architectural decision you will make. Pick wrong and you are locked into a dying standard with a shrinking ecosystem, incompatible partners, and migration costs that compound with every month of development. Pick right and you inherit network effects -- more counterparties, better tooling, cheaper integrations, and a protocol governance body that evolves in your direction. Pick poorly enough and you rewrite your entire commerce layer eighteen months from now, which is what happened to teams that went all-in on SOAP in 2005 or GraphQL subscriptions in 2019.
The problem is that no comprehensive comparison exists. You will find marketing pages from each protocol's backers, blog posts that compare two protocols at a time, and Twitter threads with strong opinions and no benchmarks. What you will not find is a single document that evaluates all protocols against the same criteria, with real latency measurements, cost calculations, migration path analysis, and production-tested code for hedging your bets across multiple protocols simultaneously. This guide provides exactly that. It includes a feature-by-feature comparison matrix, benchmark data from test deployments against live endpoints, step-by-step migration paths between the most comm
...[truncated 25 chars]

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 · SKILL.md (reported line 59)May include surrounding context.

md
Eleven competing protocols now claim to be the standard for agent commerce: x402, ACP (Agentic Commerce Protocol), AP2 (Agent Payments Protocol), MPP (Machine Payment Protocol), TAP (Trusted Agent Protocol), UCP (Universal Commerce Protocol), MCP (Model Context Protocol), Google's A2A, Visa TAP (Trusted Agent Protocol), Google AP2 (Agent Payments Protocol), OpenAI ACP (Agentic Commerce Protocol), PayPal Agent Ready, and Google UCP (Universal Commerce Protocol). Q1 2026 detonated what was already a crowded field -- five major protocols launched in a single quarter, backed by Google, OpenAI, Visa, PayPal, Shopify, Walmart, and dozens of other heavyweights. If you are building an agent commerce system in 2026, this is the most consequential architectural decision you will make. Pick wrong and you are locked into a dying standard with a shrinking ecosystem, incompatible partners, and migration costs that compound with every month of development. Pick right and you inherit network effects -- more counterparties, better tooling, cheaper integrations, and a protocol governance body that evolves in your direction. Pick poorly enough and you rewrite your entire commerce layer eighteen months from now, which is what happened to teams that went all-in on SOAP in 2005 or GraphQL subscriptions in 2019.
The problem is that no comprehensive comparison exists. You will find marketing pages from each protocol's backers, blog posts that compare two protocols at a time, and Twitter threads with strong opinions and no benchmarks. What you will not find is a single document that evaluates all protocols against the same criteria, with real latency measurements, cost calculations, migration path analysis, and production-tested code for hedging your bets across multiple protocols simultaneously. This guide provides exactly that. It includes a feature-by-feature comparison matrix, benchmark data from test deployments against live endpoints, step-by-step migration paths between the most comm
...[truncated 25 chars]

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 · SKILL.md (reported line 1149)May include surrounding context.

md
Eleven competing protocols now claim to be the standard for agent commerce: x402, ACP (Agentic Commerce Protocol), AP2 (Agent Payments Protocol), MPP (Machine Payment Protocol), TAP (Trusted Agent Protocol), UCP (Universal Commerce Protocol), MCP (Model Context Protocol), Google's A2A, Visa TAP (Trusted Agent Protocol), Google AP2 (Agent Payments Protocol), OpenAI ACP (Agentic Commerce Protocol), PayPal Agent Ready, and Google UCP (Universal Commerce Protocol). Q1 2026 detonated what was already a crowded field -- five major protocols launched in a single quarter, backed by Google, OpenAI, Visa, PayPal, Shopify, Walmart, and dozens of other heavyweights. If you are building an agent commerce system in 2026, this is the most consequential architectural decision you will make. Pick wrong and you are locked into a dying standard with a shrinking ecosystem, incompatible partners, and migration costs that compound with every month of development. Pick right and you inherit network effects -- more counterparties, better tooling, cheaper integrations, and a protocol governance body that evolves in your direction. Pick poorly enough and you rewrite your entire commerce layer eighteen months from now, which is what happened to teams that went all-in on SOAP in 2005 or GraphQL subscriptions in 2019.
The problem is that no comprehensive comparison exists. You will find marketing pages from each protocol's backers, blog posts that compare two protocols at a time, and Twitter threads with strong opinions and no benchmarks. What you will not find is a single document that evaluates all protocols against the same criteria, with real latency measurements, cost calculations, migration path analysis, and production-tested code for hedging your bets across multiple protocols simultaneously. This guide provides exactly that. It includes a feature-by-feature comparison matrix, benchmark data from test deployments against live endpoints, step-by-step migration paths between the most comm
...[truncated 25 chars]

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 · SKILL.md (reported line 1952)May include surrounding context.

md
Eleven competing protocols now claim to be the standard for agent commerce: x402, ACP (Agentic Commerce Protocol), AP2 (Agent Payments Protocol), MPP (Machine Payment Protocol), TAP (Trusted Agent Protocol), UCP (Universal Commerce Protocol), MCP (Model Context Protocol), Google's A2A, Visa TAP (Trusted Agent Protocol), Google AP2 (Agent Payments Protocol), OpenAI ACP (Agentic Commerce Protocol), PayPal Agent Ready, and Google UCP (Universal Commerce Protocol). Q1 2026 detonated what was already a crowded field -- five major protocols launched in a single quarter, backed by Google, OpenAI, Visa, PayPal, Shopify, Walmart, and dozens of other heavyweights. If you are building an agent commerce system in 2026, this is the most consequential architectural decision you will make. Pick wrong and you are locked into a dying standard with a shrinking ecosystem, incompatible partners, and migration costs that compound with every month of development. Pick right and you inherit network effects -- more counterparties, better tooling, cheaper integrations, and a protocol governance body that evolves in your direction. Pick poorly enough and you rewrite your entire commerce layer eighteen months from now, which is what happened to teams that went all-in on SOAP in 2005 or GraphQL subscriptions in 2019.
The problem is that no comprehensive comparison exists. You will find marketing pages from each protocol's backers, blog posts that compare two protocols at a time, and Twitter threads with strong opinions and no benchmarks. What you will not find is a single document that evaluates all protocols against the same criteria, with real latency measurements, cost calculations, migration path analysis, and production-tested code for hedging your bets across multiple protocols simultaneously. This guide provides exactly that. It includes a feature-by-feature comparison matrix, benchmark data from test deployments against live endpoints, step-by-step migration paths between the most comm
...[truncated 25 chars]

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 · SKILL.md (reported line 2167)May include surrounding context.

md
Eleven competing protocols now claim to be the standard for agent commerce: x402, ACP (Agentic Commerce Protocol), AP2 (Agent Payments Protocol), MPP (Machine Payment Protocol), TAP (Trusted Agent Protocol), UCP (Universal Commerce Protocol), MCP (Model Context Protocol), Google's A2A, Visa TAP (Trusted Agent Protocol), Google AP2 (Agent Payments Protocol), OpenAI ACP (Agentic Commerce Protocol), PayPal Agent Ready, and Google UCP (Universal Commerce Protocol). Q1 2026 detonated what was already a crowded field -- five major protocols launched in a single quarter, backed by Google, OpenAI, Visa, PayPal, Shopify, Walmart, and dozens of other heavyweights. If you are building an agent commerce system in 2026, this is the most consequential architectural decision you will make. Pick wrong and you are locked into a dying standard with a shrinking ecosystem, incompatible partners, and migration costs that compound with every month of development. Pick right and you inherit network effects -- more counterparties, better tooling, cheaper integrations, and a protocol governance body that evolves in your direction. Pick poorly enough and you rewrite your entire commerce layer eighteen months from now, which is what happened to teams that went all-in on SOAP in 2005 or GraphQL subscriptions in 2019.
The problem is that no comprehensive comparison exists. You will find marketing pages from each protocol's backers, blog posts that compare two protocols at a time, and Twitter threads with strong opinions and no benchmarks. What you will not find is a single document that evaluates all protocols against the same criteria, with real latency measurements, cost calculations, migration path analysis, and production-tested code for hedging your bets across multiple protocols simultaneously. This guide provides exactly that. It includes a feature-by-feature comparison matrix, benchmark data from test deployments against live endpoints, step-by-step migration paths between the most comm
...[truncated 25 chars]

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 · SKILL.md (reported line 2177)May include surrounding context.

md
Eleven competing protocols now claim to be the standard for agent commerce: x402, ACP (Agentic Commerce Protocol), AP2 (Agent Payments Protocol), MPP (Machine Payment Protocol), TAP (Trusted Agent Protocol), UCP (Universal Commerce Protocol), MCP (Model Context Protocol), Google's A2A, Visa TAP (Trusted Agent Protocol), Google AP2 (Agent Payments Protocol), OpenAI ACP (Agentic Commerce Protocol), PayPal Agent Ready, and Google UCP (Universal Commerce Protocol). Q1 2026 detonated what was already a crowded field -- five major protocols launched in a single quarter, backed by Google, OpenAI, Visa, PayPal, Shopify, Walmart, and dozens of other heavyweights. If you are building an agent commerce system in 2026, this is the most consequential architectural decision you will make. Pick wrong and you are locked into a dying standard with a shrinking ecosystem, incompatible partners, and migration costs that compound with every month of development. Pick right and you inherit network effects -- more counterparties, better tooling, cheaper integrations, and a protocol governance body that evolves in your direction. Pick poorly enough and you rewrite your entire commerce layer eighteen months from now, which is what happened to teams that went all-in on SOAP in 2005 or GraphQL subscriptions in 2019.
The problem is that no comprehensive comparison exists. You will find marketing pages from each protocol's backers, blog posts that compare two protocols at a time, and Twitter threads with strong opinions and no benchmarks. What you will not find is a single document that evaluates all protocols against the same criteria, with real latency measurements, cost calculations, migration path analysis, and production-tested code for hedging your bets across multiple protocols simultaneously. This guide provides exactly that. It includes a feature-by-feature comparison matrix, benchmark data from test deployments against live endpoints, step-by-step migration paths between the most comm
...[truncated 25 chars]

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 · SKILL.md (reported line 2435)May include surrounding context.

md
Eleven competing protocols now claim to be the standard for agent commerce: x402, ACP (Agentic Commerce Protocol), AP2 (Agent Payments Protocol), MPP (Machine Payment Protocol), TAP (Trusted Agent Protocol), UCP (Universal Commerce Protocol), MCP (Model Context Protocol), Google's A2A, Visa TAP (Trusted Agent Protocol), Google AP2 (Agent Payments Protocol), OpenAI ACP (Agentic Commerce Protocol), PayPal Agent Ready, and Google UCP (Universal Commerce Protocol). Q1 2026 detonated what was already a crowded field -- five major protocols launched in a single quarter, backed by Google, OpenAI, Visa, PayPal, Shopify, Walmart, and dozens of other heavyweights. If you are building an agent commerce system in 2026, this is the most consequential architectural decision you will make. Pick wrong and you are locked into a dying standard with a shrinking ecosystem, incompatible partners, and migration costs that compound with every month of development. Pick right and you inherit network effects -- more counterparties, better tooling, cheaper integrations, and a protocol governance body that evolves in your direction. Pick poorly enough and you rewrite your entire commerce layer eighteen months from now, which is what happened to teams that went all-in on SOAP in 2005 or GraphQL subscriptions in 2019.
The problem is that no comprehensive comparison exists. You will find marketing pages from each protocol's backers, blog posts that compare two protocols at a time, and Twitter threads with strong opinions and no benchmarks. What you will not find is a single document that evaluates all protocols against the same criteria, with real latency measurements, cost calculations, migration path analysis, and production-tested code for hedging your bets across multiple protocols simultaneously. This guide provides exactly that. It includes a feature-by-feature comparison matrix, benchmark data from test deployments against live endpoints, step-by-step migration paths between the most comm
...[truncated 25 chars]

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The markdown includes live network and payment examples plus deployment guidance without sufficiently warning that execution will contact external production services and may create real transactions. For commerce and payment workflows, omission of these warnings materially increases the chance of unsafe user execution.

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 · SKILL.md (reported line 229)May include surrounding context.

md
# ACP: Creating a product listing and checkout session
import requests

ACP_API = "https://api.stripe.com/v1/acp"

# Register a product in the ACP catalog
product = requests.post(f"{ACP_API}/products", json={

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 · SKILL.md (reported line 648)May include surrounding context.

md
# ACP: Creating a product listing and checkout session
import requests

ACP_API = "https://api.stripe.com/v1/acp"

# Register a product in the ACP catalog
product = requests.post(f"{ACP_API}/products", json={

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 · SKILL.md (reported line 1332)May include surrounding context.

md
# ACP: Creating a product listing and checkout session
import requests

ACP_API = "https://api.stripe.com/v1/acp"

# Register a product in the ACP catalog
product = requests.post(f"{ACP_API}/products", json={

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 · SKILL.md (reported line 1986)May include surrounding context.

md
# ACP: Creating a product listing and checkout session
import requests

ACP_API = "https://api.stripe.com/v1/acp"

# Register a product in the ACP catalog
product = requests.post(f"{ACP_API}/products", json={

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 · SKILL.md (reported line 1998)May include surrounding context.

md
# ACP: Creating a product listing and checkout session
import requests

ACP_API = "https://api.stripe.com/v1/acp"

# Register a product in the ACP catalog
product = requests.post(f"{ACP_API}/products", json={

External Transmission

Medium
Category
Data Exfiltration
Confidence
70% 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 232)May include surrounding context.

md
ACP_API = "https://api.stripe.com/v1/acp"

# Register a product in the ACP catalog
product = requests.post(f"{ACP_API}/products", json={
    "name": "Code Review Agent",
    "description": "Automated code review with security analysis",
    "price": {"amount": 500, "currency": "usd"},  # $5.00

External Transmission

Medium
Category
Data Exfiltration
Confidence
70% 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 243)May include surrounding context.

md
}, headers={"Authorization": "Bearer sk_live_xxx"})

# Agent-side: initiate checkout
session = requests.post(f"{ACP_API}/checkout/sessions", json={
    "product_id": product.json()["id"],
    "buyer_agent_id": "agent-buyer-123",
    "success_url": "https://myagent.example.com/success",

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 · SKILL.md (reported line 300)May include surrounding context.

md
# MPP: Provision a virtual card for an agent and make a payment
import requests

MPP_API = "https://api.visa.com/mpp/v1"

# Provision a virtual card for the agent
vcn = requests.post(f"{MPP_API}/virtual-cards", json={

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 · SKILL.md (reported line 542)May include surrounding context.

md
# MPP: Provision a virtual card for an agent and make a payment
import requests

MPP_API = "https://api.visa.com/mpp/v1"

# Provision a virtual card for the agent
vcn = requests.post(f"{MPP_API}/virtual-cards", json={

External Transmission

Medium
Category
Data Exfiltration
Confidence
70% 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 303)May include surrounding context.

md
MPP_API = "https://api.visa.com/mpp/v1"

# Provision a virtual card for the agent
vcn = requests.post(f"{MPP_API}/virtual-cards", json={
    "agent_id": "agent-procurement-001",
    "funding_source": "card_fund_src_abc123",
    "spending_limit": {"amount": 10000, "currency": "USD", "period": "monthly"},

External Transmission

Medium
Category
Data Exfiltration
Confidence
70% 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 311)May include surrounding context.

md
}, headers={"Authorization": "Bearer visa_api_key"})

# Generate a one-time payment token
token = requests.post(f"{MPP_API}/tokens", json={
    "virtual_card_id": vcn.json()["id"],
    "amount": 25.00,
    "currency": "USD",

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 · SKILL.md (reported line 386)May include surrounding context.

md
# UCP: Register a service and handle a multi-rail payment
import requests

UCP_API = "https://api.ucp-protocol.org/v1"

# Register a service in the UCP registry
service = requests.post(f"{UCP_API}/services", json={

Static analysis

No suspicious patterns detected.