Back to skill

Security audit

Arbitrage Finder

Security checks for vulnerabilities and agentic risk

Overview

This is a straightforward arbitrage-analysis skill that fetches odds from named market data APIs and calculates stake splits, with no hidden persistence or destructive behavior found.

Install only if you are comfortable sending market queries to the named third-party APIs and storing an Odds API key in the environment. Treat any betting or prediction-market output as time-sensitive analysis, verify prices directly before risking money, and follow the laws and platform rules that apply where you live.

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
  • System Prompt LeakageDirect Leakage, Indirect Extraction, Tool-Based Exfiltration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · SKILL.md (reported line 195)May include surrounding context.

md
Replace the `odds_1`, `odds_2`, and `bankroll` values with the actual arb opportunity found in Operations 1-3. For three-way markets (e.g., soccer), extend the calculation to three outcomes.

## Output Rules

1. Always show the event, both sides, and which platform/book has the best price per side
2. Display the arb margin as a percentage (e.g., "3.5% margin")

External Transmission

Medium
Category
Data Exfiltration
Confidence
95% confidence
Finding

The skill instructs the agent to send requests to an external third-party API and includes a secret-bearing query parameter (apiKey=$ODDS_API_KEY) in the URL. This creates real data exfiltration and credential exposure risk because the key may be logged in shell history, proxies, process listings, or telemetry, even though the endpoint itself appears to be the intended service.

Content

Scanner excerpt · SKILL.md (reported line 37)May include surrounding context.

Scan a sport for two-way moneyline arbs across bookmakers. Replace SPORT_KEY with the appropriate key (e.g., basketball_nba, americanfootball_nfl):

bash
curl -s "https://api.the-odds-api.com/v4/sports/SPORT_KEY/odds?apiKey=$ODDS_API_KEY&regions=us&markets=h2h&oddsFormat=american" \
  | jq '[.[] | {
    game: "\(.away_team) @ \(.home_team)",
    start: .commence_time,

External Transmission

Medium
Category
Data Exfiltration
Confidence
88% confidence
Finding

This skill directs the agent to fetch data from an external service (Kalshi), which is a genuine external transmission path. While no credential is shown in this specific request, outbound network access to third-party services can leak user intent, query context, metadata, and potentially be abused if the skill is invoked in sensitive environments.

Content

Scanner excerpt · SKILL.md (reported line 104)May include surrounding context.

Fetch Kalshi markets for comparison:

bash
curl -s "https://api.elections.kalshi.com/trade-api/v2/events?status=open&limit=50&with_nested_markets=true" \
  | jq '[.events[] | {
    title: .title,
    category: .category,

Static analysis

No suspicious patterns detected.