Back to skill

Security audit

MakePost App Growth (via makepost.com)

Security checks for vulnerabilities and agentic risk

Overview

The skill is coherent for MakePost social-media automation, but it needs Review because it can publish or delete live content, create persistent autopilot/webhook behavior, and runs an unpinned npx package with the API key.

Install only if you are comfortable giving this skill live MakePost authority over connected social accounts. Use a limited API key if MakePost supports it, test with non-production accounts first, explicitly confirm publish/delete/webhook/autopilot actions, and prefer a pinned or locally verified mcp-remote runtime before using it with important accounts.

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
openclaw.json:4
Finding

Unpinned Third-Party Package Execution Through npx

Content
View full analysis

Vulnerability Details

File Location: openclaw.json:4-10
Vulnerability Type: Unpinned runtime dependency execution
Risk Level: Medium

Vulnerable Code

json
"command": "npx",
"args": [
  "mcp-remote",
  "https://makepost.com/api/mcp/",
  "--header",
  "Authorization: Bearer ${MAKEPOST_API_KEY}"
]

Technical Analysis

The Skill invokes mcp-remote through npx without specifying an exact package version. If the package is not already available locally, npx may retrieve and execute the current registry release at runtime. The project contains no lockfile, integrity hash, vendored implementation, or other mechanism binding execution to the version that was reviewed.

This creates a supply-chain vulnerability because the effective executable can change after the Skill has been audited. Compromise of the package, its maintainer account, or the relevant package-distribution path could introduce arbitrary code into subsequent Skill executions.

The API credential is also passed to the MCP client as part of its arguments. Therefore, malicious package code executing in that process context could potentially obtain the MAKEPOST_API_KEY and access other resources available to the OpenClaw process.

Attack Path

  1. An attacker compromises the mcp-remote package, its publisher account, or its dependency chain.
  2. The attacker publishes a malicious release under the package name used by the Skill.
  3. A user installs or starts the Skill in an environment where the audited package version is not locally pinned.
  4. npx resolves, downloads, and executes the malicious package release.
  5. The malicious code runs with the operating-system privileges and environment access of the OpenClaw process.
  6. It may read or intercept MAKEPOST_API_KEY, communicate with attacker-controlled infrastructure, or access files and services permitted to that process.

Impact Assessment

Successful ex ...[truncated 556 chars]

Remediation
View remediation

Remediation Suggestions

  1. Pin mcp-remote to an exact, reviewed version rather than resolving an unspecified release.
  2. Install dependencies during a controlled build or installation phase using a lockfile with registry integrity metadata.
  3. Invoke a locally installed, verified executable at runtime, or use npx --no-install so execution fails rather than downloading an unreviewed package.
  4. Enable automated dependency monitoring while requiring review and testing before version updates.
  5. Run the MCP client under least privilege with restricted filesystem and network access.
  6. Expose only the required API credential to the child process and avoid placing unrelated secrets in its environment.
  7. Rotate MAKEPOST_API_KEY immediately if dependency compromise is suspected, and review MakePost activity for unauthorized publishing, scheduling, webhook, or account operations.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • System Prompt LeakageDirect Leakage, Indirect Extraction, Tool-Based Exfiltration
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (11)

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

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

md
### Platform Info

**get_platform_rules** — Get per-platform posting rules so you post correctly.
- `platform` (string) — Optional. A single platform to look up; omit to return rules for all 9.
- Returns: caption character limits, supported media types (video/image/carousel/text), and carousel min/max sizes for each platform.
- Use this before drafting captions or building carousels so content fits each platform's constraints.

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
87% confidence
Finding

The skill exposes webhook deletion and creation capabilities that can modify or remove external integrations. In an agent setting, insufficient confirmation or target validation can let an unintended prompt delete monitoring hooks or register attacker-controlled endpoints, causing data leakage or operational disruption.

Content

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

md
**New endpoint groups:**
- AI generation: `POST /v1/ai/caption`, `POST /v1/ai/hashtags`, `POST /v1/ai/ideas`, `POST /v1/ai/title`, `POST /v1/ai/image`, and `GET /v1/ai/usage`.
- Platform rules: `GET /v1/platforms` — per-platform caption limits, supported media, and carousel sizes.
- Webhooks: `GET /v1/webhooks`, `POST /v1/webhooks`, `DELETE /v1/webhooks/{id}`, and `POST /v1/webhooks/{id}/test`. Deliveries are signed with an `X-MakePost-Signature` (HMAC-SHA256) header.
- Recurring schedules: `GET /v1/schedules`, `POST /v1/schedules`, `DELETE /v1/schedules/{id}`, `POST /v1/schedules/{id}/pause`, `POST /v1/schedules/{id}/resume`, and `POST /v1/schedules/{id}/queue`.

**Direct file upload** (REST API only — not available via MCP):

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
88% confidence
Finding

The recurring schedule deletion and pause/resume endpoints can change persistent automation state, making them high-impact parameters in a conversational interface. If invoked accidentally or through ambiguous prompts, they can silently stop campaigns or delete configured plans, affecting multiple downstream social accounts over time.

Content

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

  • AI generation: POST /v1/ai/caption, POST /v1/ai/hashtags, POST /v1/ai/ideas, POST /v1/ai/title, POST /v1/ai/image, and GET /v1/ai/usage.
  • Platform rules: GET /v1/platforms — per-platform caption limits, supported media, and carousel sizes.
  • Webhooks: GET /v1/webhooks, POST /v1/webhooks, DELETE /v1/webhooks/{id}, and POST /v1/webhooks/{id}/test. Deliveries are signed with an X-MakePost-Signature (HMAC-SHA256) header.
  • Recurring schedules: GET /v1/schedules, POST /v1/schedules, DELETE /v1/schedules/{id}, POST /v1/schedules/{id}/pause, POST /v1/schedules/{id}/resume, and POST /v1/schedules/{id}/queue.

Direct file upload (REST API only — not available via MCP):

text

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The README prominently advertises outbound webhooks, recurring autopilot schedules, and automatic publishing across multiple social platforms without clearly warning users that the skill can transmit data to external endpoints and perform autonomous public actions. In an agent-driven environment, this can lead to unintended data disclosure, reputational harm, or unauthorized posting if users do not understand the external side effects before enabling the skill.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The top-level description emphasizes conversational management and automation across many platforms but does not clearly warn that the skill can perform irreversible external actions such as immediate publishing, scheduling, recurring autopilot posting, webhook registration, and deletion. This omission can mislead users or agents about the consequence of invoking the skill.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

The skill declares a dependency on npx without pinning the exact package/version that will be executed. In agent environments, this creates a supply-chain risk where a different or newly published package version could be fetched and run, leading to arbitrary code execution with access to the MakePost API key and the agent runtime.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The documentation describes permanent deletion of scheduled posts without presenting a nearby warning or a confirmation requirement. Because this skill controls production social media content, destructive operations can cause business disruption, loss of planned campaigns, and difficult-to-recover mistakes.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The example trigger phrases are very broad and map to common natural-language requests like posting, uploading, scheduling, and canceling content. In a shared assistant context, this increases the chance of accidental invocation and unintended execution of high-impact actions such as publishing, deleting drafts, or changing schedules without explicit user confirmation.

Content

No source excerpt is available for this finding.

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

md
## REST API

The MCP tools above also have equivalent REST API endpoints at `https://api.makepost.com/v1/`. Full interactive docs at `https://api.makepost.com`.

**New endpoint groups:**
- AI generation: `POST /v1/ai/caption`, `POST /v1/ai/hashtags`, `POST /v1/ai/ideas`, `POST /v1/ai/title`, `POST /v1/ai/image`, and `GET /v1/ai/usage`.

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

md
## REST API

The MCP tools above also have equivalent REST API endpoints at `https://api.makepost.com/v1/`. Full interactive docs at `https://api.makepost.com`.

**New endpoint groups:**
- AI generation: `POST /v1/ai/caption`, `POST /v1/ai/hashtags`, `POST /v1/ai/ideas`, `POST /v1/ai/title`, `POST /v1/ai/image`, and `GET /v1/ai/usage`.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The manifest exposes an MCP server with no explicit trigger scope, activation constraints, or guardrails on when the connected remote service may be invoked. Because this skill can manage social posting, scheduling, publishing, autopilot behavior, and webhooks across multiple platforms, unrestricted availability increases the chance of unintended or prompt-injected actions reaching an authenticated remote API.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.