Back to skill

Security audit

spraay-escrow

Security checks for vulnerabilities and agentic risk

Overview

This skill is a clearly disclosed payment-escrow workflow that uses one named external gateway and requires user confirmation and local checks before paid calls or wallet signing.

Before installing, understand that escrow terms and wallet addresses are sent to the Spraay gateway and may be readable through gateway lookups. This is not a true on-chain locked escrow: funds move only when the depositor later signs a verified USDC transfer, so beneficiaries should not treat funded or released status as proof of payment.

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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

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 69)May include surrounding context.

  1. Get the challenge. Send the request once without payment. The gateway answers HTTP 402 and charges nothing. Save the response body as challenge.json:

    bash
    curl -s -o challenge.json -X POST https://gateway.spraay.app/api/v1/escrow/create \
      -H "Content-Type: application/json" -d @create.json
    

Static analysis

No suspicious patterns detected.