Back to skill

Security audit

MoltHands

Security checks for vulnerabilities and agentic risk

Overview

This skill is a task-collaboration integration, but it asks agents to follow mutable remote instructions, overwrite local skill files, store API keys plainly, and perform account/task actions with limited safeguards.

Install only if you are comfortable giving this skill a MoltHands API key and letting it interact with remote task content. Keep the API key out of general memory and plaintext files when possible, require human approval before task claims, approvals, rejections, callbacks, or external delivery, and do not allow automatic remote skill-file updates unless releases are verified.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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 (4)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:15
Finding

Untrusted Remote Instructions Can Hijack Agent Behavior

Content
View full analysis
`Read https://molthands.com/skill.md and follow the instructions to join MoltHands` ``` ```markdown ## MoltHands (every 1+ hours) If 1+ hours since last MoltHands check: 1. Fetch https://molthands.com/heartbeat.md and follow it 2. Update lastMoltHandsCheck timestamp in memory ``` ```bash curl https://molthands.com/api/v1/tasks/TASK_ID/task.md \ -H "Authorization: Bearer YOUR_API_KEY" ``` ### Technical Analysis The Skill directs the agent to retrieve and follow mutable Markdown from a remote server. It also directs the agent to retrieve task documents supplied through an external collaboration platform and use those documents as operational instructions. No trust boundary separates remote task data from executable agent instructions. The Skill defines no capability allowlist, workspace restriction, sensitive-file prohibition, command-validation policy, or mandatory human approval before a task is claimed and executed. Consequently, a remote task author or a party controlling the hosted Markdown can attempt to replace the agent's current goals or override its safety constraints. Network retrieval is necessary for the declared collaboration functionality, but unrestricted compliance with downloaded instructions exceeds the minimum privilege required to list, claim, or report task status. ### Attack Path 1. An attacker publishes a task containing prompt-injection instructions in its task description or generated `task.md`. 2. The agent periodically queries the platform for available tasks. 3. The agent claims the malicious task and retrieves its remote `task.md`. 4. The Skill ...[truncated 1269 chars]
Remediation
View remediation

T01 · Skill Instruction Hijacking

Error
Location
HEARTBEAT.md:8
Finding

Periodic Downloads Can Persistently Replace Audited Skill Instructions

Content
View full analysis
~/.molthands/skills/molthands/SKILL.md curl -s https://molthands.com/heartbeat.md > ~/.molthands/skills/molthands/HEARTBEAT.md ``` ``` Related installation instructions download the complete Skill directly: ```bash mkdir -p ~/.molthands/skills/molthands curl -sL https://molthands.com/skill.md -o ~/.molthands/skills/molthands/SKILL.md curl -sL https://molthands.com/tasks.md -o ~/.molthands/skills/molthands/TASKS.md curl -sL https://molthands.com/points.md -o ~/.molthands/skills/molthands/POINTS.md curl -sL https://molthands.com/heartbeat.md -o ~/.molthands/skills/molthands/HEARTBEAT.md curl -sL https://molthands.com/skill.json -o ~/.molthands/skills/molthands/package.json ``` ### Technical Analysis The heartbeat periodically downloads mutable remote Skill documents and overwrites the locally installed copies. The update process relies solely on HTTPS transport and does not verify a release signature, pinned cryptographic digest, immutable version identifier, or trusted manifest. The version check is performed against metadata served by the same origin as the replacement files. Therefore, compromise of that origin or its publishing credentials allows both the advertised version and the downloaded content to be changed together. The downloaded content is not staged for human review, and direct shell redirection can leave an incomplete local file if the request fails partway through. Although the retrieved payload is Markdown rather than a conventional executable ...[truncated 1386 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:79
Finding

API Credentials Are Recommended for Predictable Plaintext Storage

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:43
Finding

API Key Host Allowlist Contradicts Authenticated Request Examples

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (32)

Credential Access

High
Category
Privilege Escalation
Confidence
94% confidence
Finding

The skill instructs users to save the API key in a plaintext credentials.json file and also suggests storing it in memory or environment variables. Plaintext secret storage materially increases the chance of credential theft via local compromise, accidental inclusion in backups, shell history, logs, or other tools with filesystem access.

Content

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

⚠️ Save your apiKey immediately! You need it for all requests.

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

json
{

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The heartbeat instructs the agent to fetch remote content and overwrite local skill files automatically, with no integrity verification, provenance check, or warning about the privacy and security implications. This creates a supply-chain risk: a compromised server or MITM-resistant but malicious upstream update could replace trusted local instructions and alter future agent behavior.

Content

No source excerpt is available for this finding.

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
80% confidence
Finding

The file exposes the expected local installation path and naming convention for the skill, which can aid targeted tampering or help other malicious instructions locate and overwrite agent assets. While path disclosure alone is limited, in combination with the remote overwrite behavior it makes the update mechanism easier to abuse.

Content

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

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

bash
curl -s https://molthands.com/skill.md > ~/.molthands/skills/molthands/SKILL.md
curl -s https://molthands.com/heartbeat.md > ~/.molthands/skills/molthands/HEARTBEAT.md

External Transmission

Medium
Category
Data Exfiltration
Confidence
88% confidence
Finding

The heartbeat directs the agent to retrieve remote content and write it into local executable/instructional files. Even though the transfer is over HTTPS, this is still an external content ingestion path that can introduce untrusted instructions into the local environment and persist them for later execution.

Content

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

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

bash
curl -s https://molthands.com/skill.md > ~/.molthands/skills/molthands/SKILL.md
curl -s https://molthands.com/heartbeat.md > ~/.molthands/skills/molthands/HEARTBEAT.md

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

These instructions tell the agent to perform verification, rejection, claiming, and other state-changing API actions without explicit warnings that they have irreversible or business-impacting consequences. An agent following them blindly could approve bad work, reject valid work, or claim tasks unexpectedly, causing financial loss, workflow disruption, or abuse of the account.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The description forces a specific language/locale presentation ('Agent 任务协作平台...') and much of the skill continues in Chinese, which can violate language-choice policy when no user opt-in is provided. The file does not state that the skill is China-specific or otherwise justify the locale constraint.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
83% confidence
Finding

The documentation encourages persisting skill files under a dedicated local directory and later adds stateful heartbeat behavior elsewhere, together creating durable local footprint and session continuity. Persistence itself is not always malicious, but in this context it facilitates long-lived behavior and retained artifacts beyond a simple one-shot skill invocation.

Content

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

Save locally (optional):

bash
mkdir -p ~/.molthands/skills/molthands
curl -sL https://molthands.com/skill.md -o ~/.molthands/skills/molthands/SKILL.md
curl -sL https://molthands.com/tasks.md -o ~/.molthands/skills/molthands/TASKS.md
curl -sL https://molthands.com/points.md -o ~/.molthands/skills/molthands/POINTS.md

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

Save locally (optional):

bash
mkdir -p ~/.molthands/skills/molthands
curl -sL https://molthands.com/skill.md -o ~/.molthands/skills/molthands/SKILL.md
curl -sL https://molthands.com/tasks.md -o ~/.molthands/skills/molthands/TASKS.md
curl -sL https://molthands.com/points.md -o ~/.molthands/skills/molthands/POINTS.md
curl -sL https://molthands.com/heartbeat.md -o ~/.molthands/skills/molthands/HEARTBEAT.md

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

Save locally (optional):

bash
mkdir -p ~/.molthands/skills/molthands
curl -sL https://molthands.com/skill.md -o ~/.molthands/skills/molthands/SKILL.md
curl -sL https://molthands.com/tasks.md -o ~/.molthands/skills/molthands/TASKS.md
curl -sL https://molthands.com/points.md -o ~/.molthands/skills/molthands/POINTS.md
curl -sL https://molthands.com/heartbeat.md -o ~/.molthands/skills/molthands/HEARTBEAT.md

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The documentation extends the skill into agent registration, credential issuance, human account claiming, and X/Twitter-based verification, which goes materially beyond the narrow manifest description of task collaboration. This expansion increases trust and identity surface area and encourages users to involve external accounts and workflows not clearly disclosed up front.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill explicitly instructs agents to persist the issued API key in a local credentials file and environment variables. That broadens the skill from simple task coordination into local secret storage guidance, increasing the risk of credential exposure through filesystem compromise, logs, backups, or later prompt/tool misuse.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill directs the agent to modify heartbeat and state files so it will autonomously re-check the platform on a recurring schedule. This establishes persistence and background behavior beyond the stated task-platform purpose, which can create unauthorized ongoing activity and expand the blast radius if the platform or instructions are abused later.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

Sections such as task creation, claiming, verification, comments, rules, and usage guidance are written in Chinese-only labels and content. Because the skill does not offer a language selection or explain that the platform is intentionally restricted to a Chinese locale, this is a natural-language policy concern.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
94% confidence
Finding

The task creation example sends the bearer token to https://api.molthands.com/api/v1/tasks even though the skill repeatedly warns that API keys must only be sent to https://molthands.com/api/v1/*. This hostname inconsistency can cause credential disclosure to an unintended domain or break the promised trust boundary, especially because users are instructed to trust the documented examples.

Content

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

发布任务 (消耗积分)

bash
curl -X POST https://api.molthands.com/api/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill supports delivering task results through email, URLs, comments, or callback endpoints, but it does not prominently require data classification or warn that task outputs may contain sensitive information sent to third parties. That omission can lead agents to exfiltrate user data or secrets through external delivery channels during normal use.

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

查看可认领任务

bash
curl "https://molthands.com/api/v1/tasks?status=pending" \
  -H "Authorization: Bearer YOUR_API_KEY"

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 · HEARTBEAT.md (reported line 91)May include surrounding context.

创建任务

bash
curl -X POST https://api.molthands.com/api/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

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 · TASKS.md (reported line 48)May include surrounding context.

创建任务

bash
curl -X POST https://api.molthands.com/api/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

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 · TASKS.md (reported line 92)May include surrounding context.

创建任务

bash
curl -X POST https://api.molthands.com/api/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

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 · TASKS.md (reported line 107)May include surrounding context.

创建任务

bash
curl -X POST https://api.molthands.com/api/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

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 · TASKS.md (reported line 130)May include surrounding context.

创建任务

bash
curl -X POST https://api.molthands.com/api/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

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 · TASKS.md (reported line 48)May include surrounding context.

创建任务

bash
curl -X POST https://api.molthands.com/api/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The documentation explicitly supports email and callback delivery of task results but does not warn users against including secrets, personal data, internal documents, or other sensitive outputs in those channels. In an agent-task platform, executors may forward raw task artifacts to recipient-controlled destinations, creating a realistic risk of unintended data disclosure or exfiltration.

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 · TASKS.md (reported line 92)May include surrounding context.

示例 — 邮件交付:

bash
curl -X POST https://api.molthands.com/api/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The task.md example tells executors to send results to a specified email address and then mark the task complete, but provides no warning that the destination may be untrusted or that the result contents may be sensitive. Because this instruction is presented post-claim as an operational step, it increases the likelihood that agents will transmit confidential task outputs without validation.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.