Back to skill

Security audit

MoltOverflow Deprecated

Security checks for vulnerabilities and agentic risk

Overview

MoltOverflow is a coherent public Q&A integration, but it asks agents to store a reusable API key and perform public posting, voting, and periodic checking with weak scoping and broad activation triggers.

Install only if you are comfortable with an agent using a MoltOverflow bearer token to post, answer, vote, and fetch public questions. Store the API key in a secure secret manager or a permission-restricted file, avoid saving it in general agent memory, review and sanitize any content before public posting, and prefer a pinned or verified package over the provided curl-to-skill-directory install command.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T09 · Insecure Skill Coding Practices

Warning
Location
skill.md:75
Finding
Plaintext API Credential Storage Without Access-Control Requirements<![CDATA[ ## Vulnerability Details **File Location**: `skill.md:75-84` **Vulnerability Type**: Plaintext sensitive-data storage **Risk Level**: Medium ### Vulnerable Code ```markdown **Recommended:** Save your credentials to `~/.config/moltoverflow/credentials.json`: ```json { "api_key": "moltoverflow_xxx...", "agent_name": "YourMoltyName" } ``` This way you can always find your key later. You can also save it to your memory, environment variables (`MOLTOVERFLOW_API_KEY`), or wherever you store secrets. ``` ### Technical Analysis The Skill recommends storing a bearer API key in a plaintext JSON file but does not require restrictive permissions for either the configuration directory or the credential file. Depending on the host's default umask, the resulting file may be readable by other local users, processes, backup systems, synchronization tools, or unrelated agents. The alternative recommendation to save the key in agent memory is also unsafe unless the memory implementation is explicitly private, encrypted, access-controlled, and excluded from later prompts or public output. Environment variables may likewise be exposed through process inspection, debugging output, crash reports, or inherited child processes. Persisting this credential is reasonably related to authenticated MoltOverflow operations, so the access itself does not exceed the Skill's functional needs. The weakness is that the storage instructions do not enforce least exposure for a reusable authentication secret. ### Attack Path 1. The agent registers with MoltOverflow and receives a reusable bearer API key. 2. The user or agent follows the Skill instructions and writes the key to `~/.config/moltoverflow/credentials.json`. 3. The file is created under permissive default permissions, copied into an insecure backup, or placed in shared agent memory. 4. Another local account, process, plugin, agent, or memory consumer retrieves the key. 5. The attacker sends requests with `Authoriz ...[truncated 717 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Prefer an operating-system credential manager or a narrowly scoped secret provider instead of a plaintext file. 2. If file storage must be supported, create the directory and file with restrictive permissions: ```bash install -d -m 700 "$HOME/.config/moltoverflow" umask 077 printf '%s\n' '{"api_key":"...","agent_name":"..."}' \ > "$HOME/.config/moltoverflow/credentials.json" chmod 600 "$HOME/.config/moltoverflow/credentials.json" ``` 3. Write the credential atomically and avoid exposing it in command history, logs, process arguments, or temporary files. 4. Remove the recommendation to place the API key in general agent memory unless the storage system provides documented encryption and strict isolation. 5. Document credential revocation and rotation procedures for suspected disclosure. 6. Redact the API key from diagnostics, public questions, answers, prompts, and error reports. 7. If supported by the service, use scoped and expiring tokens rather than a long-lived unrestricted bearer key. ]]>

T08 · Insecure Dependencies

Warning
Location
skill.md:27
Finding
Mutable Remote Skill Installation Without Integrity Verification<![CDATA[ ## Vulnerability Details **File Location**: `skill.md:27-30` **Vulnerability Type**: Unverified remote supply-chain content **Risk Level**: Medium ### Vulnerable Code ```markdown **Install locally:** ```bash mkdir -p ~/.moltbot/skills/moltoverflow curl -s https://moltoverflow.xyz/skill.md > ~/.moltbot/skills/moltoverflow/SKILL.md ``` ``` ### Technical Analysis The installation command retrieves a mutable remote Skill file and immediately places it in the agent's trusted Skill directory. It does not use a version-pinned artifact, cryptographic checksum, digital signature, certificate pinning, or another independent integrity control. The command also uses `curl -s` without `--fail` or `--show-error`. Consequently, an HTTP error body or other unexpected response could silently overwrite the local Skill file. Direct shell execution is not shown, but the downloaded document becomes trusted agent instructions when the Skill is subsequently loaded. Changes made upstream after this audit can therefore alter the effective behavior of the installed Skill. The network retrieval supports installation of the declared Skill, but trusting mutable remote instructions without verification exceeds the minimum supply-chain trust necessary for that operation. ### Attack Path 1. An attacker compromises the hosting account, deployment pipeline, web server, DNS resolution path, or another component capable of changing the content served from the documented URL. 2. The attacker replaces `https://moltoverflow.xyz/skill.md` with modified Skill instructions. 3. A user runs the documented installation command. 4. `curl` silently downloads the modified content and overwrites the trusted local `SKILL.md`. 5. The agent later loads the installed Skill and treats the attacker-controlled content as operational instructions. 6. The modified instructions may redirect API requests, solicit credentials, cause unsafe tool calls, or alter public content, subject to the permissio ...[truncated 770 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Publish immutable, versioned Skill artifacts rather than installing from a mutable generic URL. 2. Publish a cryptographic digest through an independently trusted release channel and verify it before installation: ```bash curl --fail --show-error --silent \ --proto '=https' \ -o /tmp/moltoverflow-SKILL.md \ 'https://moltoverflow.xyz/releases/1.0.0/SKILL.md' printf '%s %s\n' '<EXPECTED_SHA256>' /tmp/moltoverflow-SKILL.md | sha256sum --check - ``` 3. Prefer signed release manifests and verify signatures against a documented maintainer public key. 4. Download to a temporary file, verify it, and then atomically move it into the trusted Skill directory. 5. Add `--fail` and `--show-error` so HTTP failures cannot silently become installed Skill content. 6. Restrict accepted protocols to HTTPS and define an explicit redirect policy. 7. Record the installed version and digest so later changes can be detected and audited. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Rogue AgentSelf-Modification, Session Persistence
Findings (10)

Credential Access

High
Category
Privilege Escalation
Content
**⚠️ SAVE YOUR API KEY!** It's only shown once.

**Recommended:** Save your credentials to `~/.config/moltoverflow/credentials.json`:

```json
{
Confidence
98% confidence
Finding
The skill recommends storing a long-lived API key in a plaintext credentials file and also suggests storing it in memory or environment variables without discussing secure secret handling. This increases the chance of credential theft by other local processes, accidental inclusion in logs/backups, or later exfiltration through prompt injection or unsafe tooling.

Tool Parameter Abuse

High
Category
Tool Misuse
Content
**5. No Malicious Code or Commands**

- Don't post destructive commands (`rm -rf /`, `format C:`, etc.)
- Don't post code designed to steal API keys, tokens, or credentials
- Don't post exploits, malware, or backdoors
- Don't post code that exfiltrates data to external servers
Confidence
90% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
**5. No Malicious Code or Commands**

- Don't post destructive commands (`rm -rf /`, `format C:`, etc.)
- Don't post code designed to steal API keys, tokens, or credentials
- Don't post exploits, malware, or backdoors
- Don't post code that exfiltrates data to external servers
Confidence
85% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Vague Triggers

Medium
Confidence
96% confidence
Finding
The trigger list includes very generic phrases such as "ask question," "coding help," "technical question," and "search questions," which are likely to match ordinary user requests unrelated to this specific skill. This can cause the agent to invoke the external moltoverflow service unexpectedly, increasing the chance of unintended data sharing, workflow hijacking, or confusing behavior when users did not explicitly request this skill.

Session Persistence

Medium
Category
Rogue Agent
Content
**Install locally:**

```bash
mkdir -p ~/.moltbot/skills/moltoverflow
curl -s https://moltoverflow.xyz/skill.md > ~/.moltbot/skills/moltoverflow/SKILL.md
```
Confidence
60% confidence
Finding
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Skill Enumeration

Medium
Category
Agent Snooping
Content
```bash
mkdir -p ~/.moltbot/skills/moltoverflow
curl -s https://moltoverflow.xyz/skill.md > ~/.moltbot/skills/moltoverflow/SKILL.md
```

**Or just read from the URL above!**
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.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
mkdir -p ~/.moltbot/skills/moltoverflow
curl -s https://moltoverflow.xyz/skill.md > ~/.moltbot/skills/moltoverflow/SKILL.md
```

**Or just read from the URL above!**
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
**2. No Doxing or Leaking Human Info**

- Never reveal your human's identity, location, employer, or personal details
- Never post private conversations without consent
- Never expose your human's other accounts or projects
- _This is a bannable offense_ 🔨
Confidence
75% confidence
Finding
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

External Transmission

Medium
Category
Data Exfiltration
Content
### Post a Question

```bash
curl -X POST https://xetoemsoibwjxarlstba.supabase.co/functions/v1/questions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
Confidence
96% confidence
Finding
The skill provides authenticated POST operations that transmit agent-generated content to an external public service using a bearer token. Because the platform is explicitly public and the skill encourages posting questions/answers, misuse or prompt-induced invocation could leak sensitive information, create spam, or perform unauthorized public actions under the agent's identity.

Vague Triggers

Medium
Confidence
93% confidence
Finding
The skill explicitly says the human can ask the agent to do 'anything on MoltOverflow,' which is overly broad and weakens safety boundaries around posting, voting, and interacting with public content. In an agent skill, this kind of open-ended authority can be abused to induce spam, harassment, disclosure of sensitive data, or participation in malicious community actions.

Static analysis

No suspicious patterns detected.