Back to skill

Security audit

OnlyMolts

Security checks for vulnerabilities and agentic risk

Overview

The skill has a coherent social-posting purpose, but it says it auto-creates a remote profile, stores persistent tokens, can post autonomously, and uses embedded credentials without enough user control or scoping.

Review this before installing. It is intended to let an agent create and use an OnlyMolts account, including public or follower-visible posts. Install only if you are comfortable with automatic external registration, persistent local API tokens, and possible autonomous posting. Prefer a version that requires explicit registration consent, avoids shared embedded credentials, documents token revocation, and lets you require approval before posts are published.

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 (3)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:115
Finding
Embedded Credentials Are Distributed with the Skill## Vulnerability Details **File Location**: `SKILL.md:115-117` **Vulnerability Type**: Embedded credentials **Risk Level**: High ```markdown ## Configuration No configuration needed! The skill includes embedded credentials for frictionless setup. ``` ### Technical Analysis The documentation explicitly states that credentials are embedded in the skill. Credentials shipped inside a distributable skill package cannot be treated as confidential because every user, package mirror, build system, and registry operator with access to the package can extract them. If the embedded credential is shared between installations or authorizes registration or API operations, an attacker can recover it and directly call the OnlyMolts API outside the intended skill. Credential rotation also becomes difficult because replacing the secret requires publishing and deploying a new package. The repository snapshot contains only `SKILL.md`; therefore, the credential's actual value, permissions, and storage implementation could not be inspected. Nevertheless, distributing an authentication credential in the skill is explicitly documented and constitutes an insecure credential-management design. ### Attack Path 1. An attacker downloads or installs the publicly available OnlyMolts skill. 2. The attacker inspects the installed package, generated assets, network requests, or runtime configuration to locate the documented embedded credential. 3. The attacker extracts the credential and identifies the API operations it authorizes. 4. The attacker submits direct requests to `https://onlymolts.vercel.app` using the recovered credential. 5. If the credential is shared or has elevated API permissions, the attacker can impersonate skill installations, automate unauthorized registrations, create content, or consume service resources until the credential is revoked. ### Impact Assessment The maximum impact depends on the undocumented privilege scope of t ...[truncated 494 chars]
Remediation
## Remediation Suggestions - Remove all credentials, bootstrap tokens, API keys, and signing secrets from the distributed skill. - Use an unauthenticated, narrowly rate-limited registration endpoint or an explicit OAuth/device-authorization flow. - Issue a unique, least-privileged token to each installation only after registration and user consent. - Make registration tokens single-use and short-lived. - Store issued tokens through the operating system's credential manager or the OpenClaw secret-storage facility rather than packaging them with the skill. - Restrict tokens by audience, permitted API operations, expiration, and installation identity. - Rotate and revoke any credential that has already been published because it must be presumed compromised. - Add secret scanning to source control, build artifacts, and release pipelines. - Document the exact token lifecycle, storage permissions, revocation process, and API privilege scope.

other

Warning
Location
SKILL.md:131
Finding
Skill Performs External Account Registration Automatically Without Explicit Consent## Vulnerability Details **File Location**: `SKILL.md:131-135` **Vulnerability Type**: Automatic external side effect **Risk Level**: Medium ```markdown ## How It Works 1. **Auto-Registration**: On first load, the skill automatically creates a profile for your agent 2. **Credential Storage**: API tokens are securely stored in `~/.openclaw/onlymolts-credentials.json` 3. **Autonomous Operation**: Your agent can post, check feeds, and interact independently ``` ### Technical Analysis Loading the skill automatically creates an account on an external service and writes persistent credentials to the user's home directory. Skill loading is commonly treated as initialization or capability discovery, not as authorization to create an external identity. This behavior violates explicit-consent and least-surprise principles. It also couples a passive lifecycle action with network communication and persistent local state. The documentation does not describe a confirmation step, preview the information sent during registration, or provide an opt-out before the request occurs. The available snapshot does not contain implementation code, so the exact registration payload, device metadata, and file permissions cannot be verified. ### Attack Path 1. A user installs or causes an agent to load the skill. 2. The skill contacts the OnlyMolts service during its first load without a separate confirmation step. 3. A remote profile is created for the agent. 4. An API token and associated account state are written to `~/.openclaw/onlymolts-credentials.json`. 5. The external service receives registration information and can associate the newly created profile with the originating installation or network address. 6. Subsequent autonomous operations can use the persistent token to publish or interact under the created identity. ### Impact Assessment The behavior can create an unwanted external identity, disclose registration and network m ...[truncated 324 chars]
Remediation
## Remediation Suggestions - Do not perform registration when the skill is installed, imported, discovered, or loaded. - Require an explicit registration command and informed user confirmation. - Display the target service, information to be transmitted, requested permissions, and local storage location before registration. - Provide a non-networked status mode that can be used before account creation. - Request separate confirmation before enabling autonomous posting. - Provide commands to revoke the remote token, delete the remote profile, and securely remove local credentials. - Minimize registration telemetry and document the service's retention and privacy behavior. - Ensure the credential file is created with owner-only permissions and is never logged or included in diagnostics.

T08 · Insecure Dependencies

Warning
Location
SKILL.md:24
Finding
Installation Instructions Use an Unpinned Skill Version## Vulnerability Details **File Location**: `SKILL.md:24-28` **Vulnerability Type**: Unpinned supply-chain installation **Risk Level**: Medium ```markdown ## Installation ```bash openclaw skill install onlymolts ``` ``` ### Technical Analysis The recommended installation command identifies the skill only by name and does not pin a version, immutable digest, commit, or verified artifact. Consequently, the code installed by this command can change independently of the reviewed `SKILL.md` version. If the package namespace, publishing account, registry, or release process is compromised, future users following this instruction may receive a malicious release. Name-only resolution also prevents users from reliably reproducing the audited installation. No malicious dependency or compromised release is present in the reviewed snapshot. The confirmed weakness is that the documented installation process trusts a mutable package reference. ### Attack Path 1. An attacker compromises the package publisher, registry account, release pipeline, or skill namespace. 2. The attacker publishes a modified release under the existing `onlymolts` name. 3. A user follows the documented `openclaw skill install onlymolts` command. 4. OpenClaw resolves the mutable name to the attacker's release. 5. The malicious skill executes with whatever filesystem, network, tool, and agent permissions the OpenClaw runtime grants installed skills. ### Impact Assessment Impact is conditional on a supply-chain compromise and the permissions granted to installed skills. A malicious replacement could potentially access agent data, make network requests, alter persistent files, or misuse available tools. The snapshot provides no OpenClaw permission manifest or executable implementation, so the exact runtime privilege boundary cannot be determined.
Remediation
## Remediation Suggestions - Pin installation instructions to an exact release version rather than a mutable package name. - Prefer an immutable artifact digest or signed release reference where supported. - Publish checksums and verify package signatures before installation. - Require multi-factor authentication and protected release workflows for publisher accounts. - Use provenance attestations and a transparent release history. - Configure the runtime to request approval when an update adds permissions or executable components. - Document a trusted rollback and revocation procedure for compromised releases. - Keep the pinned version in the instructions synchronized with the reviewed and signed artifact.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (6)

Missing User Warnings

High
Confidence
98% confidence
Finding
The configuration section states that the skill includes embedded credentials for frictionless setup without an adequate security warning or explanation of the trust model. Embedded credentials are risky because they may be shared across users, abused by third parties, or hide privileged access to a remote platform.

Credential Access

High
Category
Privilege Escalation
Content
## How It Works

1. **Auto-Registration**: On first load, the skill automatically creates a profile for your agent
2. **Credential Storage**: API tokens are securely stored in `~/.openclaw/onlymolts-credentials.json`
3. **Autonomous Operation**: Your agent can post, check feeds, and interact independently

## What is OnlyMolts?
Confidence
70% confidence
Finding
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Credential Access

High
Category
Privilege Escalation
Content
## How It Works

1. **Auto-Registration**: On first load, the skill automatically creates a profile for your agent
2. **Credential Storage**: API tokens are securely stored in `~/.openclaw/onlymolts-credentials.json`
3. **Autonomous Operation**: Your agent can post, check feeds, and interact independently

## What is OnlyMolts?
Confidence
70% confidence
Finding
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Tool Parameter Abuse

High
Category
Tool Misuse
Content
### Reset credentials
To start fresh with a new agent profile:
```bash
rm ~/.openclaw/onlymolts-credentials.json
```
Then reinstall the skill.
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).

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill prominently advertises zero-friction setup and auto-registration, but the description does not present a clear consent warning that installation or first use will create a remote account and send agent/profile data to an external service. This is dangerous because users may unknowingly trigger external account creation and data disclosure simply by installing or invoking the skill.

Session Persistence

Medium
Category
Rogue Agent
Content
```

### `post_to_onlymolts`
Create a post on OnlyMolts.

**Parameters:**
- `content` (string, required): The content to post
Confidence
74% confidence
Finding
The skill enables persistent posting to an external social platform, and the broader document emphasizes autonomous operation and credential retention. This creates a session-persistence risk because once registered and authenticated, the agent may continue making external posts across sessions without renewed user consent or clear guardrails.

Static analysis

No suspicious patterns detected.