Back to skill

Security audit

Wahlu — Social media automation, scheduling, publishing, and API for Instagram, TikTok, LinkedIn, Facebook, YouTube

Security checks for vulnerabilities and agentic risk

Overview

This social media automation skill is purpose-aligned, but it relies on an unpinned npm CLI that can publish or schedule public content using a Wahlu API key.

Review this skill before installing in production automation. Use a narrowly scoped, revocable Wahlu API key; pin and review the @wahlu/cli version instead of running unpinned npx commands; run it in a constrained environment with access only to intended media files; and keep explicit user approval for any publish, schedule, queue, or account-context changes.

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
SKILL.md:5
Finding

Unpinned Third-Party CLI Is Downloaded and Executed Through npx

Content
View full analysis
` 3. **List integrations** — `npx @wahlu/cli integration list` (get integration IDs for scheduling) 4. **Create a post** — `npx @wahlu/cli post create --name "Title" --instagram '{"description":"Caption","post_type":"grid_post"}'` 5. **Schedule it** — `npx @wahlu/cli schedule create --at 2026-03-15T14:00:00Z --integrations ` 6. **Upload media** — `npx @wahlu/cli media upload ./photo.jpg` (returns a media ID) 7. **Check publications** — `npx @wahlu/cli publication list` ``` ```bash npx @wahlu/cli media upload ./photo.jpg npx @wahlu/cli post create --name "New product launch" \ --instagram '{"description":"Just launched!","post_type":"grid_post","media_ids":["mid-abc123"]}' \ --tiktok '{"description":"Just launched!","post_type":"image","media_ids":["mid-abc123"]}' \ --linkedin '{"description":"Just launched!","post_type":"li_image","media_ids":["mid-abc123"]}' npx @wahlu/cli schedule create \ --at 2026-03-15T09:00:00Z \ --integrations int-123 int-456 int-789 ``` ### Technical Analysis The package reference `@wahlu/cli` has no exact version or integrity constraint. Every documented `npx @wahlu/cli` invocation can therefore resolve to a package version selected by the npm registry at execution time rather than to the version reviewed when this skill was audited. A ...[truncated 1939 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (13)

Unrestricted Tool Access

Medium
Category
Excessive Agency
Confidence
80% confidence
Finding

Skill grants unrestricted tool access without appropriate constraints. An agent with unfettered tool access can perform arbitrary actions including file modification, network requests, and code execution.

Content

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

export WAHLU_API_KEY=wahlu_live_...

text

No global install needed — use `npx @wahlu/cli` to run any command.

---

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The skill repeatedly instructs agents to invoke npx @wahlu/cli without pinning an exact package version. npx resolves and executes the latest published package at runtime, so a malicious update, dependency compromise, or typosquatted package resolution event could result in arbitrary code execution in the agent environment with access to WAHLU_API_KEY and local files.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

This command example uses npx @wahlu/cli without a pinned version, which means execution depends on whatever package version npm serves at runtime. In an agent context, that creates a supply-chain execution path that could expose API keys, alter scheduled posts, or execute arbitrary code on the host if the package or its dependencies are compromised.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The skill tells the agent to switch brands using an unpinned npx package execution. Because the package version is not fixed, a compromised upstream release could run attacker-controlled code before or during the brand-switch operation, potentially stealing credentials or manipulating account context.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

Listing integrations via npx @wahlu/cli without version pinning creates an avoidable remote-code-execution risk through the npm supply chain. Since this command is used to discover account integration IDs, compromise could also expose sensitive account metadata and operational details.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The post creation example executes an unpinned npm package and accepts rich JSON arguments that may include media identifiers and publish content. If the package resolution is compromised, the attacker gains a high-value execution point in a workflow that can create external-facing content and access the configured API key.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The scheduling command uses unpinned npx, allowing runtime retrieval of whatever package version is current. In this skill's context, compromise could lead not just to host-side code execution but also to unauthorized scheduling or tampering with social media publication workflows.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

Uploading media through npx @wahlu/cli without version pinning exposes the system to supply-chain risks while handling local files. A malicious package release could exfiltrate uploaded media, scan the filesystem, or misuse the API key during an operation that inherently touches local content.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The subcommand help example also relies on unpinned npx, which exposes the same npm supply-chain execution risk as operational commands. Because users often treat help commands as safe, this pattern may increase the chance of casual execution without scrutiny.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The quick example for media upload executes the package via unpinned npx, combining supply-chain risk with access to a local file path. In the context of an agent skill that automates publishing, this can facilitate both host compromise and unauthorized use of connected social accounts.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The cross-platform post creation example again relies on unpinned runtime package execution. A malicious upstream change could alter content, harvest media IDs and credentials, or execute arbitrary code while appearing to perform a normal post creation operation.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

This scheduling example uses the latest resolved npm package at execution time instead of a vetted fixed version. That is dangerous in a social media automation skill because compromise directly affects outward-facing publication timing and can execute code in the environment holding the API key.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The rule telling agents to use npx @wahlu/cli integration list normalizes unpinned package execution as expected behavior. That increases the likelihood of repeated unsafe execution in production automation where the package can access secrets and modify connected social publishing configurations.

Content

No source excerpt is available for this finding.