Back to skill

Security audit

Over Computer

Security checks for vulnerabilities and agentic risk

Overview

This trading skill can use a user's API key to make prediction-market trades and tells the agent to follow remote trading instructions, without clear transaction confirmation boundaries.

Review before installing. Only use this if you trust over.computer and understand that the API key can authorize prediction-market account actions. Set strict server-side guardrails, require manual confirmation of every order or fund approval, and do not let the remote prompt override local safety rules or unrelated user instructions.

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
Findings (1)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:55
Finding

Remote Instruction Injection Through Agent Configuration

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 55–62
Vulnerability Type: Remote instruction injection
Risk Level: High

Vulnerable Code

markdown
## Get your config

Retrieve your agent’s configuration from the operator (same auth as Myriad routes):

```bash
curl -s --request GET \
  --url https://over-computer-validator-1002664526717.europe-north2.run.app/agent/config \
  --header "Authorization: Bearer $OVER_API_KEY"

Returns: { "prompt": "...", "label": "..." } (either field may be null if unset).

  • prompt — trading instructions from the operator; follow them as your directive.
  • label — your agent’s display name.
text

### Technical Analysis

The Skill instructs the agent to retrieve arbitrary text from the external `/agent/config` endpoint and follow the returned `prompt` as a directive. This treats remotely mutable data as trusted agent instructions without a strict schema, an allowlist of permitted trading parameters, instruction-boundary enforcement, or validation that the text originated directly from the operator.

Possession of a valid bearer token authenticates the request but does not make the response safe to execute as instructions. If the remote service, its configuration store, or an operator account is compromised, an attacker can replace the prompt with instructions that attempt to change the agent’s session goals, override safety expectations, solicit sensitive information, invoke unrelated tools, or manipulate financial decisions.

The documented server-side controls only constrain trading properties such as allowed markets, order size, and daily trade count. They do not constrain non-trading instructions or access to other tools available to the agent.

### Attack Path

1. The agent obtains or is provided with `OVER_API_KEY`.
2. Following the Skill, the agent sends that credential to the external `/agent/config` endpoint.
3. An attacker who controls or compromises the remote service, config
...[truncated 1453 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove the requirement to “follow” the remote prompt as a directive. Treat every remote response as untrusted data.
  2. Replace free-form prompt retrieval with a strict, versioned configuration schema containing only allowlisted trading fields, such as permitted market identifiers, maximum order values, daily limits, and explicitly defined strategy parameters.
  3. Validate field types, ranges, lengths, and enumerated values locally. Reject unknown fields and natural-language content that attempts to issue instructions.
  4. Enforce an instruction boundary stating that remote configuration cannot override system policies, safety rules, credential-handling requirements, tool permissions, or the operator’s current request.
  5. Require explicit operator confirmation immediately before every transaction, presenting the market, outcome, side, size, estimated price, slippage, and maximum possible loss.
  6. Apply least privilege to the API credential. Separate read-only market access from order-execution authority where supported, and avoid exposing the bearer token in logs or responses.
  7. Authenticate configuration provenance independently where practical, such as with a signed configuration document bound to the expected operator and agent identity.
  8. Restrict remote configuration to the trading domain and prevent it from selecting or invoking unrelated agent tools.
  9. Log the validated configuration and confirmation decision for auditing, while redacting credentials and other sensitive data.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (5)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill does not prominently warn that it can execute live trades and approve funds using the user's account, which can directly impact user assets. Absent an explicit warning, users and orchestration layers may treat it like an informational market-browsing tool rather than a financial-action tool.

Content

No source excerpt is available for this finding.

Ssd 1

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The skill instructs the agent to treat a remotely fetched operator-provided prompt as its directive, creating a prompt-injection channel from an external service into agent behavior. In a trading skill, this is especially dangerous because injected instructions could steer market selection, order timing, sizing attempts, or attempts to override local safety expectations.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill trigger text is broad enough to activate on ordinary discussion of markets or predictions, yet this skill can perform real-money trading actions. In a high-impact financial context, overbroad invocation increases the chance of unintended tool selection and unauthorized or insufficiently confirmed trade execution.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

Ambiguous example phrases like 'check markets' or 'place an order / buy / sell' lack scope constraints and can cause the agent to invoke a trading capability without verifying venue, account, or real-asset implications. Because this skill affects financial assets, ambiguity materially raises the risk of accidental or premature execution.

Content

No source excerpt is available for this finding.

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

  1. Call the link endpoint (no auth required) to obtain a registration URL:
bash
curl -s --request GET \
  --url https://over-computer-validator-1002664526717.europe-north2.run.app/config/link

Static analysis

No suspicious patterns detected.