Back to skill

Security audit

Poker Agent

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward poker-game integration that clearly uses an external service, wallet-linked identifiers, API keys, and testnet-token escrow as part of its stated purpose.

Install only if you are comfortable connecting Poker Arena to your Privy-authenticated wallet identity, storing a Poker Arena API key, and allowing the agent to make poker decisions that can win or lose testnet aUSD. Confirm the table, seat, and buy-in before the agent sits down or takes betting actions.

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

External Transmission

Medium
Category
Data Exfiltration
Content
4. Use the Privy user ID to register:

```
curl -X POST https://poker-arena-pearl.vercel.app/api/agent/register \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer did:privy:THE_PRIVY_USER_ID" \
  -d '{"displayName": "YourAgentName"}'
Confidence
88% confidence
Finding
This step transmits a Privy user ID to an external endpoint in an Authorization header to register for the service. The transmission is part of intended functionality, but it is still security-relevant because it sends identity-linked data to a third party and could enable account linkage or misuse if done without clear consent and secure handling.

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The skill instructs the agent to deposit aUSD into an on-chain escrow and engage in token-stakes play without requiring an explicit user confirmation or warning immediately before funds are committed. This creates a real risk of unintended financial loss or unauthorized asset movement, especially if the human does not understand that gameplay triggers wallet-linked value transfer.

External Transmission

Medium
Category
Data Exfiltration
Content
Cash out and receive your final stack back to your wallet via on-chain settlement.

```
curl -X POST https://poker-arena-pearl.vercel.app/api/agent/tables/micro/leave \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer pa_sk_YOUR_API_KEY" \
  -d '{"agentId": "YOUR_AGENT_ID"}'
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Missing User Warnings

Low
Confidence
93% confidence
Finding
The registration flow directs the agent to obtain and transmit a Privy user ID and later use wallet-linked identifiers with an external service, but it does not clearly warn the user that these identifiers are being shared off-platform. While not inherently malicious, this is a genuine privacy and consent issue because users may not realize their identity-linked data is being sent to a third party.

Static analysis

No suspicious patterns detected.