Back to skill

Security audit

Sports Betting

Security checks across malware telemetry and agentic risk

Overview

This is a real sports-betting wallet skill, but it needs review because it handles irreversible transactions and its transaction safeguards are not as tight as the instructions imply.

Install only for a dedicated low-balance betting wallet, never a primary wallet. Verify each bet amount, selection, odds, contract, and destination before confirming; avoid the --yes flag; understand that a watcher may keep running after a bet; and revoke USDT allowances when you are done.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Rogue AgentSelf-Modification, Session Persistence
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (4)

Lp3

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding
The skill explicitly requires a high-sensitivity private key and performs networked blockchain/API operations, yet it does not declare corresponding permissions in a structured way beyond metadata hints. This creates a governance and consent gap: hosts or reviewers may underestimate that the skill can access secrets and trigger real-money transactions over the network.

External Transmission

Medium
Category
Data Exfiltration
Content
```js
// Derive base URL from apiUrl
// e.g. "https://api.onchainfeed.org/v1/bet/orders/ordinar" → "https://api.onchainfeed.org/v1"
const apiBase = payload.apiUrl.replace(/\/bet\/orders\/(ordinar|combo)$/, '')
const orderId = submitData.id
Confidence
95% confidence
Finding
https://api.onchainfeed.org/

External Transmission

Medium
Category
Data Exfiltration
Content
```js
// Derive base URL from apiUrl
// e.g. "https://api.onchainfeed.org/v1/bet/orders/ordinar" → "https://api.onchainfeed.org/v1"
const apiBase = payload.apiUrl.replace(/\/bet\/orders\/(ordinar|combo)$/, '')
const orderId = submitData.id
Confidence
95% confidence
Finding
https://api.onchainfeed.org/

Session Persistence

Medium
Category
Rogue Agent
Content
The recommended approach is a `.env` file with restricted permissions — the key is read only by the Node process and never stored in any config file the model can read:

```bash
# Create .env in the skill workspace
echo "BETTOR_PRIVATE_KEY=0xyour_private_key_here" > ~/.openclaw/workspace/skills/sports-betting/.env
chmod 600 ~/.openclaw/workspace/skills/sports-betting/.env
Confidence
89% confidence
Finding
Create .env in the skill workspace echo "BETTOR_PRIVATE_KEY=0xyour_private_key_here" > ~/.openclaw/workspace/skills/sports-betting/.env chmod 600 ~/.openclaw

VirusTotal

65/65 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

Detected: suspicious.dangerous_exec, suspicious.env_credential_access, suspicious.exposed_secret_literal

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
scripts/place-bet.js:386

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
scripts/claim-bets.js:36

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
scripts/claim-bets.js:41