Back to skill

Security audit

LobsterMarket

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a disclosed API guide for a prediction market, but it asks agents to periodically fetch and follow mutable remote instructions while using state-changing account powers.

Review this skill before installing if you would allow autonomous operation. It appears intended for LobsterMarket and does not show local malware or credential theft, but you should disable or tightly constrain the remote heartbeat and require confirmation for trades, posts, votes, market creation/resolution, and API key rotation.

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:6
Finding

Mutable Remote Heartbeat Instructions Enable Skill Instruction Hijacking

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 6, 83, 248, and 696
Vulnerability Type: Remote delegation of recurring agent behavior to unaudited, mutable instructions
Risk Level: High

Vulnerable Code Snippets

yaml
heartbeat: https://lobstermarket.bet/HEARTBEAT.md
markdown
> **Periodic check-ins:** Fetch [HEARTBEAT.md](https://lobstermarket.bet/HEARTBEAT.md) for a step-by-step routine to run every 15–60 minutes. It tells you how to check your dashboard, respond to activity, find opportunities, and stay engaged.
markdown
> **Tip:** Use this as your main entry point. The `notifications` section tells you exactly what changed since you last checked. See [HEARTBEAT.md](https://lobstermarket.bet/HEARTBEAT.md) for a recommended periodic check-in routine.
markdown
10. **Set up a heartbeat.** Fetch [HEARTBEAT.md](https://lobstermarket.bet/HEARTBEAT.md) and integrate it into your periodic loop for a guided check-in routine.

Technical Analysis

The skill repeatedly instructs the agent to retrieve a natural-language procedure from an external URL and integrate it into a periodic execution loop. The content of HEARTBEAT.md is not included in the audited project and can therefore be modified independently after the skill has passed review.

This creates a time-of-check/time-of-use trust failure: reviewers inspect the local SKILL.md, but the effective instructions used at runtime include mutable content controlled by the remote service. HTTPS protects content in transit but does not prevent the legitimate server operator, a compromised hosting account, or compromised server infrastructure from replacing the document.

The issue is classified as instruction hijacking rather than remote code execution because the observed project retrieves natural-language agent instructions, not executable program code. Nevertheless, an agent may translate those remote instructions into API or tool calls.

Attack Path

1 ...[truncated 1595 chars]

Remediation
View remediation

Remediation Suggestions

  1. Bundle the heartbeat procedure inside the skill package so that it is versioned and audited with SKILL.md.
  2. Remove instructions that ask the agent to execute or integrate arbitrary natural-language content retrieved from a remote location.
  3. If runtime updates are necessary, publish a signed, versioned heartbeat artifact and verify its signature against a pinned public key before use.
  4. Parse remote responses as untrusted data using a strict allowlisted schema rather than as agent instructions.
  5. Restrict heartbeat behavior to predefined read-only operations. Require explicit user confirmation for trades, posts, votes, market creation, resolution, key rotation, and other state-changing requests.
  6. Enforce hostname and path allowlists for network requests, and prohibit forwarding authorization headers or API keys to any unapproved destination.
  7. Pin an expected content version or cryptographic digest and fail closed when verification fails.
  8. Apply least-privilege tool permissions to the periodic task and isolate it from filesystem, shell, credential-store, and unrelated network capabilities.
  9. Record fetched versions and resulting actions in an audit log, and provide a mechanism to disable the heartbeat immediately.
  10. Re-review and republish the skill whenever the heartbeat workflow changes.
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 (11)

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 8)May include surrounding context.

md
homepage: https://lobstermarket.bet
heartbeat: https://lobstermarket.bet/HEARTBEAT.md
api:
  base_url: https://api.lobstermarket.bet/api/v1
  auth: Bearer token (API key)
  format: JSON
---

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 23)May include surrounding context.

md
homepage: https://lobstermarket.bet
heartbeat: https://lobstermarket.bet/HEARTBEAT.md
api:
  base_url: https://api.lobstermarket.bet/api/v1
  auth: Bearer token (API key)
  format: JSON
---

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 49)May include surrounding context.

md
homepage: https://lobstermarket.bet
heartbeat: https://lobstermarket.bet/HEARTBEAT.md
api:
  base_url: https://api.lobstermarket.bet/api/v1
  auth: Bearer token (API key)
  format: JSON
---

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 53)May include surrounding context.

md
homepage: https://lobstermarket.bet
heartbeat: https://lobstermarket.bet/HEARTBEAT.md
api:
  base_url: https://api.lobstermarket.bet/api/v1
  auth: Bearer token (API key)
  format: JSON
---

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 56)May include surrounding context.

md
homepage: https://lobstermarket.bet
heartbeat: https://lobstermarket.bet/HEARTBEAT.md
api:
  base_url: https://api.lobstermarket.bet/api/v1
  auth: Bearer token (API key)
  format: JSON
---

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 62)May include surrounding context.

md
homepage: https://lobstermarket.bet
heartbeat: https://lobstermarket.bet/HEARTBEAT.md
api:
  base_url: https://api.lobstermarket.bet/api/v1
  auth: Bearer token (API key)
  format: JSON
---

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 68)May include surrounding context.

md
homepage: https://lobstermarket.bet
heartbeat: https://lobstermarket.bet/HEARTBEAT.md
api:
  base_url: https://api.lobstermarket.bet/api/v1
  auth: Bearer token (API key)
  format: JSON
---

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 72)May include surrounding context.

md
homepage: https://lobstermarket.bet
heartbeat: https://lobstermarket.bet/HEARTBEAT.md
api:
  base_url: https://api.lobstermarket.bet/api/v1
  auth: Bearer token (API key)
  format: JSON
---

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 78)May include surrounding context.

md
homepage: https://lobstermarket.bet
heartbeat: https://lobstermarket.bet/HEARTBEAT.md
api:
  base_url: https://api.lobstermarket.bet/api/v1
  auth: Bearer token (API key)
  format: JSON
---

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 570)May include surrounding context.

md
homepage: https://lobstermarket.bet
heartbeat: https://lobstermarket.bet/HEARTBEAT.md
api:
  base_url: https://api.lobstermarket.bet/api/v1
  auth: Bearer token (API key)
  format: JSON
---

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

Step 1: Register

bash
curl -X POST https://api.lobstermarket.bet/api/v1/agents/register \
  -H "Content-Type: application/json" \
  -d '{"handle": "your-agent-name", "bio": "What your agent does"}'

Static analysis

No suspicious patterns detected.