Back to skill

Security audit

multi-account-operator

Security checks for vulnerabilities and agentic risk

Overview

The skill is coherent for bulk social publishing, but it needs Review because it can run an unpinned third-party CLI that controls many public accounts.

Review carefully before installing. Use only if you trust Post Bridge and the postbridge-cli supply chain, prefer a pinned or locally verified CLI version, run it in an isolated environment with only the needed media and account access, and require human review before commands that publish or schedule content across 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
SKILL.md:10
Finding

Unpinned Third-Party CLI May Execute Unreviewed Package Code

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 10, 146–152, and 180
Vulnerability Type: Unpinned third-party dependency execution
Risk Level: Medium

Vulnerable Code

yaml
allowed-tools: Bash(npx postbridge-cli:*), Bash(postbridge-cli:*)
bash
npx postbridge-cli accounts                      # list connected accounts and ids
npx postbridge-cli upload --file ./clip.mp4      # returns a media id
npx postbridge-cli post \
  --caption "..." \
  --accounts <id1>,<id2>,<id3> \
  --media <media-id> \
  --schedule "2026-09-01T14:00:00Z"
bash
npx postbridge-cli results --post-id <post-id>   # omit --post-id for all recent results

Technical Analysis

The skill authorizes and repeatedly instructs the agent to execute postbridge-cli through npx without specifying an exact package version or verifying package integrity. When a suitable local package is unavailable, npx can resolve and execute a package obtained from the configured package registry. Consequently, the code executed during a future skill run is not necessarily the code that existed when the skill was audited.

The project contains no package manifest, lockfile, checksum, vendored implementation, or provenance policy that fixes the CLI to a reviewed artifact. The alternative permitted form, postbridge-cli, also relies on an externally installed executable whose identity and version are not established by this project.

This creates a supply-chain trust boundary: compromise of the registry package, its maintainer account, a transitive dependency, or the package-resolution environment could result in arbitrary package code being executed under the agent's local privileges.

Attack Path

  1. An attacker compromises the postbridge-cli package, one of its install-time dependencies, or the registry account used to publish it.
  2. The attacker releases a malicious version w ...[truncated 1406 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin the CLI to a reviewed exact version rather than resolving the latest available release, for example by declaring an exact dependency version without a range.
  2. Commit a package manifest and lockfile, and install dependencies with a deterministic frozen-lockfile command such as npm ci.
  3. Invoke the lockfile-controlled local executable instead of allowing ad hoc registry resolution through an unversioned npx command.
  4. If npx must be retained, specify an exact audited package version and configure it not to accept unexpected installation prompts.
  5. Verify package provenance and registry integrity metadata before upgrades. Review both direct and transitive dependency changes.
  6. Remove or narrow the generic Bash(postbridge-cli:*) permission unless the executable's trusted path, ownership, and version are validated.
  7. Run the CLI with least privilege in an isolated environment containing only the media and credentials required for the current operation.
  8. Prevent unnecessary exposure of environment variables and credential stores, and scope API credentials to the minimum accounts and operations required.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (9)

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

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

md
## Recovery

**Dead token** ("access token expired", "session has been invalidated"): the
account needs reconnecting. Use the Refresh action on that account rather than
disconnecting and reconnecting, because disconnecting orphans anything already
scheduled to it.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The manifest's allowed-tools permits Bash(npx postbridge-cli:*) and Bash(postbridge-cli:*) without version pinning or integrity constraints. This broadens the attack surface because the agent is explicitly authorized to execute a tool whose implementation may drift over time or be replaced upstream, enabling arbitrary code execution through supply-chain compromise.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

The skill allows execution of npx postbridge-cli:* without pinning an exact package version, so a future or compromised release could change behavior and run attacker-controlled code when the tool is invoked. Because npx fetches and executes package content dynamically, this creates a supply-chain execution risk rather than a mere reliability issue.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

This example command uses unpinned npx postbridge-cli, which can cause the agent or operator to download and execute whatever version is current at runtime. If the upstream package is compromised or a breaking release is published, the skill may execute unexpected code with access to connected social accounts and local environment data.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

The upload example relies on an unpinned npx package fetch and execution path. That exposes media-handling workflows to supply-chain compromise, which is especially sensitive because uploaded files and account credentials may be accessible during execution.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

The posting example fans out actions across multiple social accounts using an unpinned remotely fetched CLI. A malicious or altered release could abuse that broad access to post unauthorized content, exfiltrate data, or tamper with scheduling/results.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The results-reading command again depends on unpinned npx execution, extending supply-chain risk into operational monitoring and possibly exposing account status and metadata. Repeated unsafe examples normalize insecure use and increase the chance that operators copy them directly into production workflows.

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

md
upload media, create posts across a subset of accounts, read per-account results,
and alert only on the accounts that need a human.

API reference: [api.post-bridge.com/reference](https://api.post-bridge.com/reference)

## Economics: why account count is the unit

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

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

md
Say so early rather than letting someone waste a trial:

- No approval queues, no per-client sign-off, no client-facing reporting.
- No unified inbox, no comment management, no social listening.
- Scheduled posts cannot attach trending audio on Instagram or TikTok. No
  third-party tool can; that lives inside those apps. Post those natively.

Static analysis

No suspicious patterns detected.