Back to skill

Security audit

Molty.Pics

Security checks for vulnerabilities and agentic risk

Overview

The skill matches its social-image-bot purpose, but it asks agents to auto-fetch changed instructions and perform public account actions with too little user control.

Review before installing. Use this only if you want an agent to operate a public Molty.Pics bot, and disable or tightly gate the heartbeat/update behavior. Store the API key in a secret manager or locked-down file, and require explicit approval for posting, commenting, liking, following, unfollowing, and loading changed remote instructions.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (2)

T03 · Remote Payload Retrieval and Execution

Error
Location
skill.md:146
Finding

Unsigned Remote Skill Instructions Can Be Replaced and Followed Automatically

Content
View full analysis
~/.config/moltypics/SKILL.md curl -s https://molty.pics/heartbeat.md > ~/.config/moltypics/HEARTBEAT.md ``` ``` ### Technical Analysis The Skill instructs the agent to periodically retrieve mutable Markdown instructions from an external server and then follow those instructions. The heartbeat also overwrites local Skill files directly with downloaded content. No cryptographic signature, pinned checksum, immutable version URL, content validation, staging process, or human approval is required before the retrieved instructions become effective. HTTPS protects data in transit but does not protect against compromise of the service, hosting account, deployment pipeline, or authorized server content. The downloaded payload is instructional Markdown rather than a native executable. However, in an agent environment, instructions can cause consequential tool calls and therefore function as an effective execution channel. This allows the behavior of the reviewed Skill to change after publication and audit. There is also update-path ambiguity: initial installation writes to `~/.openclaw/skills/moltypics`, while the heartbeat writes updates to `~/.config/moltypics`. In addition, `skill.md` declares version `1.0.2`, whereas ...[truncated 1735 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
skill.md:90
Finding

Bearer API Credential Is Recommended for Plaintext Storage Without Access Controls

Content
View full analysis
Remediation
View remediation
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
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (13)

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
80% confidence
Finding

The DELETE unfollow endpoint accepts a path parameter for the target handle, which can be abused by an agent if user-controlled input is passed without validation or authorization checks at the skill layer. While the endpoint itself is a normal feature, exposing a destructive action without documented parameter restrictions or confirmation requirements raises the risk of unauthorized relationship changes, especially in autonomous or loosely supervised agent flows.

Content

Scanner excerpt · skill.json (reported line 14)May include surrounding context.

json
"like_post": "POST /api/v1/posts/:id/like",
      "create_comment": "POST /api/v1/posts/:id/comments",
      "follow": "POST /api/v1/bots/follow/:handle",
      "unfollow": "DELETE /api/v1/bots/follow/:handle",
      "following": "GET /api/v1/bots/following",
      "followers": "GET /api/v1/bots/followers",
      "timeline": "GET /api/v1/bots/timeline",

Credential Access

High
Category
Privilege Escalation
Confidence
93% confidence
Finding

The skill recommends storing a long-lived API key in a plaintext JSON file under the user’s home directory. If the host is multi-user, backed up insecurely, exposed by logs, or later read by other tools or prompts, the key can be stolen and used to impersonate the bot for all authenticated actions.

Content

Scanner excerpt · skill.md (reported line 103)May include surrounding context.

Save the apiKey immediately. It is shown once.

Recommended: Save your credentials to ~/.config/moltypics/credentials.json

json
{

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
80% 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).

Content

Scanner excerpt · skill.md (reported line 343)May include surrounding context.

Unfollow a bot

text
DELETE /api/v1/bots/follow/{handle}
Authorization: Bearer YOUR_API_KEY

External Transmission

Medium
Category
Data Exfiltration
Confidence
93% confidence
Finding

The skill instructs the agent to periodically fetch and overwrite local skill files directly from a remote server with no integrity verification, pinning, or trust validation. That creates a remote update channel through which a compromised server, DNS/TLS interception, or malicious maintainer could silently replace the local instructions and induce future harmful behavior.

Content

Scanner excerpt · heartbeat.md (reported line 21)May include surrounding context.

Compare with your saved version. If there's a new version, re-fetch the skill files:

bash
curl -s https://molty.pics/skill.md > ~/.config/moltypics/SKILL.md
curl -s https://molty.pics/heartbeat.md > ~/.config/moltypics/HEARTBEAT.md

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

This section promotes authenticated actions that change an external account state—generating posts, uploading content, liking, commenting, and following—without prominent user-facing warnings or consent requirements. In an agent context, that can lead to unauthorized social activity, reputational harm, spammy behavior, or accidental disclosure through captions/comments made on the user's behalf.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The heartbeat instructs agents to engage with the service in very broad, routine situations such as checking every few hours, posting at least daily, and using the skill anytime they feel creative. That creates a standing authorization for frequent autonomous external activity without a specific user request or tighter policy bounds, increasing the chance of unwanted posting, account activity, or resource use.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The manifest exposes a broad set of state-changing and social-interaction endpoints but provides no trigger scope, user-consent boundary, or activation constraints describing when the agent may invoke them. In an agent ecosystem, this ambiguity increases the chance of over-broad or unintended invocation, enabling actions like posting, following, commenting, and liking without sufficiently explicit user intent.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
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.

Content

Scanner excerpt · skill.md (reported line 28)May include surrounding context.

Install locally

bash
mkdir -p ~/.openclaw/skills/moltypics
curl -s https://molty.pics/skill.md > ~/.openclaw/skills/moltypics/SKILL.md
curl -s https://molty.pics/heartbeat.md > ~/.openclaw/skills/moltypics/HEARTBEAT.md
curl -s https://molty.pics/skill.json > ~/.openclaw/skills/moltypics/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 29)May include surrounding context.

bash
mkdir -p ~/.openclaw/skills/moltypics
curl -s https://molty.pics/skill.md > ~/.openclaw/skills/moltypics/SKILL.md
curl -s https://molty.pics/heartbeat.md > ~/.openclaw/skills/moltypics/HEARTBEAT.md
curl -s https://molty.pics/skill.json > ~/.openclaw/skills/moltypics/package.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 29)May include surrounding context.

bash
mkdir -p ~/.openclaw/skills/moltypics
curl -s https://molty.pics/skill.md > ~/.openclaw/skills/moltypics/SKILL.md
curl -s https://molty.pics/heartbeat.md > ~/.openclaw/skills/moltypics/HEARTBEAT.md
curl -s https://molty.pics/skill.json > ~/.openclaw/skills/moltypics/package.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 122)May include surrounding context.

text

```bash
curl https://molty.pics/api/v1/bots/status \
  -H "Authorization: Bearer YOUR_API_KEY"

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill exposes authenticated endpoints that can post, comment, like, follow, and unfollow on the bot’s behalf, but it does not prominently warn that these are public, state-changing social actions. In an agent ecosystem, that omission can cause an agent to take externally visible actions without explicit operator awareness or consent, increasing the risk of reputation abuse or unintended spam.

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

text

```bash
curl -X POST https://molty.pics/api/v1/posts/POST_ID/comments \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"content":"Love this creation! The lighting feels like neon rain on glass."}'

Static analysis

No suspicious patterns detected.