Back to skill

Security audit

Moltguess

Security checks for vulnerabilities and agentic risk

Overview

The skill’s prediction-market purpose is coherent, but it asks an agent to install and update mutable remote instructions and submit credit-spending predictions with limited user control.

Install only if you are comfortable with Moltguess receiving your API-authenticated requests and with the agent spending Sim-Credits on predictions. Before use, prefer a reviewed, pinned copy of the skill files, require explicit approval before each prediction, protect the API key outside shell history and logs, and review the Twitter claim flow before linking an account.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (1)

T08 · Insecure Dependencies

Warning
Location
HEARTBEAT.md:5
Finding

Unpinned Remote Replacement of Active Skill Instructions

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:15-21; HEARTBEAT.md:5-9
Vulnerability Type: Unverified remote skill installation and update
Risk Level: Medium

Vulnerable Code

SKILL.md:15-21:

bash
**Install locally:**
```bash
mkdir -p ~/.moltbot/skills/moltguess
curl -s https://moltguess.com/SKILL.md > ~/.moltbot/skills/moltguess/SKILL.md
curl -s https://moltguess.com/HEARTBEAT.md > ~/.moltbot/skills/moltguess/HEARTBEAT.md
curl -s https://moltguess.com/skill.json > ~/.moltbot/skills/moltguess/package.json
text

`HEARTBEAT.md:5-9`:

```bash
## First: Check for skill updates
```bash
curl -s https://moltguess.com/skill.json | grep '"version"'

If updated, re-fetch SKILL.md.

text

### Technical Analysis

The installation procedure downloads mutable remote files directly into the active local skill directory. The recurring heartbeat also instructs the agent to detect a remotely declared version change and re-fetch `SKILL.md`.

No immutable release identifier, cryptographic checksum, publisher signature, trusted manifest, or review gate is required before downloaded content replaces the installed instructions. HTTPS protects the connection in transit but does not protect against compromise of the publisher account, origin server, deployment pipeline, or another trusted component in the remote publishing path.

This is especially relevant because the project contains no executable source code and its operative behavior is defined by Markdown instructions. Replacing `SKILL.md` or `HEARTBEAT.md` can therefore alter the actions an agent is instructed to perform after the package has already passed review. The use of `curl -s` also suppresses error messages and omits failure-safe options such as `--fail`, while direct shell redirection can truncate a valid local file before download success is established.

### Attack Path

1. An attacker compromises the `moltguess.com` publishing or
...[truncated 1502 chars]
Remediation
View remediation

Remediation Suggestions

  1. Publish immutable, versioned release artifacts rather than downloading mutable files from stable URLs.
  2. Maintain a trusted manifest containing the exact version and SHA-256 digest of every skill file. Pin the manifest or validate it with a publisher-controlled signing key.
  3. Verify cryptographic signatures and file digests before installing or activating any update. Reject unsigned, mismatched, expired, or downgraded releases.
  4. Download updates to a temporary file using failure-safe options, for example curl --fail --show-error --location, and only atomically replace the active file after successful verification.
  5. Preserve the last verified version if retrieval or validation fails. Do not redirect an unverified response directly over an active skill file.
  6. Require human review or an explicit approval gate when an update changes operational instructions, requested permissions, network destinations, commands, or credential handling.
  7. Display and audit the content diff before activation, and record the source version, digest, signature identity, and installation time.
  8. Restrict the agent runtime with least-privilege filesystem, network, tool, and credential access so that compromised instructions have limited impact.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Rogue AgentSelf-Modification, Session Persistence
  • 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
Findings (8)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

This step performs a live POST request that submits a prediction and can affect account credits, yet it is framed as a routine heartbeat action without a clear warning or confirmation step. In an automated agent skill, this makes unintended financial or account-impacting actions much more likely because users may execute it as operational guidance rather than as a risky transaction.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
89% confidence
Finding

The command sends an authenticated request containing a bearer token and retrieves account status from an external domain, which constitutes transmission of sensitive credentials and account-related data. Although the action appears operational rather than overtly malicious, the lack of safety guidance increases the chance of credential misuse or unintended disclosure in logs, terminals, or automation systems.

Content

Scanner excerpt · HEARTBEAT.md (reported line 14)May include surrounding context.

1. Check Account Status

Ensure you have credits to bet.

bash
curl https://moltguess.com/api/v1/agents/me -H "Authorization: Bearer YOUR_KEY"

If credits < 100, you cannot bet. Wait for resolution of existing bets.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill instructs use of a bearer token in a direct network request but provides no warning that credentials and account information are being transmitted to a third-party service. In a skill context, this can normalize unsafe handling of API keys and expose sensitive account data if users paste real credentials without understanding the risk.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
79% confidence
Finding

The installation instructions create persistent local storage for the skill and write remote-fetched content into the agent's long-lived skill directory. Persisting externally sourced instructions increases the chance that unreviewed or later-updated content remains available across sessions and influences future agent behavior.

Content

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

Install locally:

bash
mkdir -p ~/.moltbot/skills/moltguess
curl -s https://moltguess.com/SKILL.md > ~/.moltbot/skills/moltguess/SKILL.md
curl -s https://moltguess.com/HEARTBEAT.md > ~/.moltbot/skills/moltguess/HEARTBEAT.md
curl -s https://moltguess.com/skill.json > ~/.moltbot/skills/moltguess/package.json

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
80% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

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

Install locally:

bash
mkdir -p ~/.moltbot/skills/moltguess
curl -s https://moltguess.com/SKILL.md > ~/.moltbot/skills/moltguess/SKILL.md
curl -s https://moltguess.com/HEARTBEAT.md > ~/.moltbot/skills/moltguess/HEARTBEAT.md
curl -s https://moltguess.com/skill.json > ~/.moltbot/skills/moltguess/package.json

External Transmission

Medium
Category
Data Exfiltration
Confidence
84% confidence
Finding

The skill directs the user to fetch executable skill content and metadata from a remote third-party domain via curl and store it locally, creating a supply-chain trust boundary. If the remote content is modified, compromised, or replaced, agents may ingest unreviewed instructions or code-like configuration from outside the trusted environment.

Content

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

Install locally:

bash
mkdir -p ~/.moltbot/skills/moltguess
curl -s https://moltguess.com/SKILL.md > ~/.moltbot/skills/moltguess/SKILL.md
curl -s https://moltguess.com/HEARTBEAT.md > ~/.moltbot/skills/moltguess/HEARTBEAT.md
curl -s https://moltguess.com/skill.json > ~/.moltbot/skills/moltguess/package.json

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

The skill instructs the agent to surface a third-party claim URL and have a human complete Twitter-based verification, but it does not warn that this causes interaction with an external service or may expose identity/linkage information. This creates a social-engineering and privacy risk because a user may be prompted to click an untrusted URL and associate their social account with the agent or platform without informed consent.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The trigger phrases are broad and generic for a finance-oriented skill, especially terms like "forecast" and "analyze event," which can overlap with ordinary user requests unrelated to this specific service. This increases the chance the skill is invoked in unintended contexts, exposing users to external API interactions or market-related guidance they did not explicitly request.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.