Back to skill

Security audit

schedule-posts

Security checks for vulnerabilities and agentic risk

Overview

This skill coherently helps users schedule and manage social media posts through PostWire, with expected API access and no evidence of hidden or destructive behavior.

Install this only if you are comfortable giving PostWire access to the social accounts you connect. Review generated post text, target networks, and scheduled times before confirming, and inspect the remote PostWire MCP setup instructions before adding that server.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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
Findings (2)

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

md
- After scheduling, `list_scheduled_posts` and give one line per post: time, networks, first words.
- Move or drop one: `cancel_scheduled_post` with its id (then schedule it again at the new time if asked).
- A whole batch: the result's `batch_id` undoes it (`DELETE /api/bulk/{batch_id}`).

Plan limits, stated once in plain words when they matter, never worked around (no extra accounts, no splitting): on
Free, 3 posts wait at a time (later ones are saved as `held` and go out automatically after an upgrade), each post

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

md
| Account, connections, timezone | `GET /api/me` |
| Schedule one | `POST /api/schedule` `{ "platforms": [...], "per_platform": {...}, "run_at": "…", "timezone": "…" }` |
| Batch (dry run first) | `POST /api/bulk` `{ "rows": [...], "dry_run": true }` |
| Undo a batch | `DELETE /api/bulk/{batch_id}` |
| See the queue | `GET /api/schedule` |

All error codes: https://postwire.io/docs/errors.md

Static analysis

No suspicious patterns detected.