T08 · Insecure Dependencies
- Location
SKILL.md:27- Finding
Security-Sensitive SDK Installation Is Not Version-Pinned
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a disclosed sports simulation SDK, but paid simulations can automatically spend USDC from a configured Solana wallet without a clear per-transaction confirmation step.
Review before installing. Use only a dedicated low-balance Solana wallet, avoid raw private keys for a primary wallet, pin the exact package version, and require the agent to confirm amount, recipient, network, and game parameters before every paid simulation.
SKILL.md:27Security-Sensitive SDK Installation Is Not Version-Pinned
src/services/simulation.ts:50Simulation Requests Trigger Irreversible USDC Payments Without Explicit Per-Transaction Confirmation
vitest 1.6.1 is flagged for arbitrary file read and execution when the Vitest UI server is listening. Although this is a dev dependency, the consequence is severe: if developers or CI run the vulnerable UI server in a reachable environment, an attacker may gain access to sensitive files or execute code.
The skill also retrieves daily picks and track records from external APIs, which differs from a pure simulation role. While less severe than wallet signing, capability mismatch still matters because it broadens data flows and user expectations beyond what the description advertises.
The skill also retrieves daily picks and track records from external APIs, which differs from a pure simulation role. While less severe than wallet signing, capability mismatch still matters because it broadens data flows and user expectations beyond what the description advertises.
The skill also retrieves daily picks and track records from external APIs, which differs from a pure simulation role. While less severe than wallet signing, capability mismatch still matters because it broadens data flows and user expectations beyond what the description advertises.
The skill also retrieves daily picks and track records from external APIs, which differs from a pure simulation role. While less severe than wallet signing, capability mismatch still matters because it broadens data flows and user expectations beyond what the description advertises.
The skill also retrieves daily picks and track records from external APIs, which differs from a pure simulation role. While less severe than wallet signing, capability mismatch still matters because it broadens data flows and user expectations beyond what the description advertises.
The skill also retrieves daily picks and track records from external APIs, which differs from a pure simulation role. While less severe than wallet signing, capability mismatch still matters because it broadens data flows and user expectations beyond what the description advertises.
The skill also retrieves daily picks and track records from external APIs, which differs from a pure simulation role. While less severe than wallet signing, capability mismatch still matters because it broadens data flows and user expectations beyond what the description advertises.
The skill also retrieves daily picks and track records from external APIs, which differs from a pure simulation role. While less severe than wallet signing, capability mismatch still matters because it broadens data flows and user expectations beyond what the description advertises.
The skill also retrieves daily picks and track records from external APIs, which differs from a pure simulation role. While less severe than wallet signing, capability mismatch still matters because it broadens data flows and user expectations beyond what the description advertises.
bigint-buffer 1.1.5 is flagged for a buffer overflow issue in toBigIntLE(). Even though it is a transitive dependency, memory-safety flaws in parsing/serialization code can become dangerous when attacker-controlled binary data reaches affected paths, especially in blockchain-related libraries that process structured binary inputs.
Dependency has known vulnerabilities (CVEs). Using packages with unpatched security flaws exposes the environment to known exploits.
postcss 8.5.8 has multiple advisories including arbitrary file-read and XSS-related issues. In this package-lock it is a dev/build dependency, which reduces exposure, but exploitation could still matter in CI, local development, or any workflow that processes attacker-influenced CSS or source map inputs.
ws 8.20.0 is associated with memory disclosure and memory exhaustion issues. Because this package supports Solana/websocket-based communication through rpc-websockets, the dependency is more relevant than a dormant dev-only package, and malformed remote websocket traffic could potentially affect confidentiality or availability.
vite 5.4.21 has several advisories involving path traversal, deny-list bypass on Windows, and hash disclosure behavior. Since vite is a dev dependency, exploitation is mainly relevant during local development or CI, but can still expose files or credentials if a vulnerable dev server is run in an unsafe environment.
ws 7.5.10 has a memory exhaustion DoS issue. This older websocket library appears in the jayson branch, and if reachable through network-facing RPC/websocket operations, an attacker could potentially degrade availability through crafted fragmentation patterns.
This file implements real payment processing, including wallet handling, balance checks, and USDC transfers to a treasury wallet, which materially exceeds a sports betting simulation/analysis capability. In an agent-skill context, hidden or weakly justified payment code creates a strong risk of unauthorized fund movement or deceptive monetization, especially when users may not expect on-chain transfers from a simulation tool.
The skill has direct capability to sign and send Solana USDC transfers using either a Keypair or wallet adapter, sending funds to a hard-coded treasury wallet. For a skill described as Monte Carlo sports betting simulation, this capability is not justified by the stated purpose and is dangerous because it enables monetary loss if invoked unexpectedly, abused by surrounding code, or insufficiently disclosed to the user.
The README instructs users to load a Solana wallet secret key directly from a local file, but provides no warning about the sensitivity of that material or safer handling practices. In the context of a package that initiates paid blockchain transactions, normalized copy-paste handling of raw private keys increases the chance of wallet compromise, accidental exposure in logs, repos, screenshots, or agent environments.
The skill declares network-dependent behavior, wallet handling, and paid API interactions but does not declare any explicit tool scope or allowed-tools. This creates a transparency and governance gap: an agent could invoke networked or payment-capable behavior without clear sandboxing or user-visible permission boundaries.
The skill advertises simulation actions without a prominent warning that they trigger a $0.50 USDC on-chain payment using a configured Solana wallet. In a conversational agent setting, insufficient cost and transaction disclosure can lead to unauthorized spending, especially when users think they are requesting simple analysis.
Broad trigger phrases such as 'What should I bet on today?' can capture ordinary user requests and route them into a skill that has associated payment and gambling-related workflows. In context, this is more dangerous because the skill also supports paid simulations and wallet-based transactions, increasing the chance of accidental invocation or escalation.
The skill transmits user-driven requests to an external API endpoint, which is expected for this service but still constitutes external data exposure. In context, risk is elevated because requests may be associated with wallet-linked activity, betting interests, and potentially payment workflow metadata.
## Links
- Website: https://edgebets.fun
- API Docs: https://api.edgebets.fun/api/v1/x402
- OpenAPI Spec: https://api.edgebets.fun/api/v1/x402/openapi.json
- npm Package: https://www.npmjs.com/package/edgebets-sdk
The OpenAPI spec endpoint indicates additional external retrieval from a third-party domain, which expands the attack surface and may expose metadata about the skill's operation. While not inherently malicious, undisclosed or unnecessary external fetches can leak usage patterns and increase trust dependence on a remote service.
- Website: https://edgebets.fun
- API Docs: https://api.edgebets.fun/api/v1/x402
- OpenAPI Spec: https://api.edgebets.fun/api/v1/x402/openapi.json
- npm Package: https://www.npmjs.com/package/edgebets-sdk
The manifest frames the skill as providing AI-powered sports betting simulations with Monte Carlo analysis. However, the declarations show the skill requires a Solana wallet adapter or keypair and supports signing blockchain transactions, which is a materially broader behavior than simulation/analysis alone.
No suspicious patterns detected.