Back to skill

Security audit

Orchestrator PM

Security checks for vulnerabilities and agentic risk

Overview

This orchestration skill is mostly transparent about managing work, but it can automatically expand tasks into high-impact actions like deploys, Git pushes, sub-agent work, and persistent project memory without clear user approval.

Install only if you want an aggressive project-management skill that can infer extra work, create and mutate workspace planning files, invoke other agents, and maintain persistent project insights. Before using it on repositories, deployments, outreach, payments, or account-connected workflows, require explicit approval for inferred tasks and review or disable the persistent insight and cleanup behavior.

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
Findings (2)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:65
Finding

Automatic Scope Expansion Can Trigger Unapproved External Actions

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 65-73 and 137-145
Vulnerability Type: Unrequested scope expansion and delegated external actions
Risk Level: High

Vulnerable Code

markdown
**Inference rules:**
- If BUILD → always include deploy + git push
- If OUTREACH → always check domain health + warmup state
- If PRODUCT → always include unit economics
- If CAREER → always include resume + cover letter + company research
- If BUILD + PRODUCT → include Stripe setup consideration
- If any bucket → check if it connects to an OPEN project in PROJECTS.md

**Cap inference at 3 inferred items.** More = scope creep. Ryan's rule: don't expand beyond what's useful.

The inferred jobs are subsequently delegated:

markdown
## Step 5: POST → Hand to Spawner

For each job that needs a sub-agent, create a **job posting**:

[... job-posting template omitted from this excerpt ...]

Write all postings to `workspace/JOB_BOARD.md` and invoke the **spawner** skill.

Technical Analysis

The skill explicitly requires itself to add work that the user did not request. In particular, every request classified as BUILD automatically acquires deployment and Git-push tasks. These are externally consequential operations: deployment may publish content and consume infrastructure, while a Git push may modify or disclose repository contents.

The generated tasks are not merely presented as recommendations. The workflow writes them to a job board and invokes another skill to perform them. No approval gate separates inference from delegation. The limit of three inferred tasks restricts only the number of additions; it does not restrict their privileges, destinations, data sensitivity, or side effects.

This behavior changes the effective goal of a session when the skill is loaded. It therefore best matches T01: Skill Instruction Hijacking, even though the instructions are shipped directly in the audited skill rather than dynamically injected.

...[truncated 1479 chars]

Remediation
View remediation

Remediation Suggestions

  1. Change all inferred tasks into non-executable recommendations.
  2. Require explicit, task-specific user approval before:
    • Deploying or publishing content.
    • Pushing commits or changing remote repositories.
    • Sending outreach communications.
    • Modifying payment, domain, account, or infrastructure settings.
  3. Add an approval state to every inferred job, such as PROPOSED, and prohibit delegation until it becomes APPROVED.
  4. Require the approval prompt to identify the destination, affected repository or account, data to be transmitted, expected cost, and rollback method.
  5. Enforce least privilege in downstream agents so that build agents cannot deploy or push by default.
  6. Replace rules such as “always include deploy + git push” with “suggest deploy and Git push when relevant.”
  7. Add reconciliation checks that distinguish user-requested work from inferred work and reject unapproved side effects.

T02 · Agent Memory Poisoning

Warning
Location
instructions.md:3
Finding

Mandatory Persistent Insights Can Poison Future Agent Decisions

Content
View full analysis

Vulnerability Details

File Location: instructions.md, lines 3-7 and 35-50
Vulnerability Type: Persistent generated content influencing future routing
Risk Level: Medium

Vulnerable Code

markdown
## Hard rules
- No implementation work. Delegate only.
- No direct user prompts for input. Human-gated issues route to `human-escalation`.
- One active ticket at a time.
- **Always run risk scan before routing. No exceptions.**
- **Always append at least one insight tweet per cycle. No exceptions.**
markdown
## Tweet framework protocol
Append to `workspace/insights.md` every cycle. Format:

[YYYY-MM-DD HH:MM] CATEGORY: insight (≤280 chars)

text
Categories: RISK, PIVOT, PATTERN, EDGE, ANTI, META

Every 5th cycle: scan last 20 tweets for themes → escalate recurring patterns.
Monthly: archive >30-day tweets to `memory/sessions/insights_archive_YYYY-MM.md`.
When routing to Prioritizer: include top 3 RISK/PIVOT tweets.

The same persistent-write requirement also appears in SKILL.md, lines 190-197:

markdown
## Tweet Capture (every cycle)

Append ≤280 char insight to `workspace/insights.md`:

[YYYY-MM-DD HH:MM] CATEGORY: insight

text
Categories: RISK | PIVOT | PATTERN | EDGE | ANTI | META

Technical Analysis

Every skill cycle must generate an “insight” and persist it in workspace/insights.md, regardless of whether the observation is verified or whether the user authorized a memory update. The instructions then archive older entries into session memory, analyze recurring themes, escalate those themes, and pass selected entries to the prioritizer.

Because insights are derived from current workspace content and user-provided context, attacker-controlled or simply inaccurate material can influence the generated entries. Once written, those entries become inputs to future sessions and routing decisions. Repetition can increase influence because recurring patterns are expressly escalated.

This creates a persistent feedback ...[truncated 2011 chars]

Remediation
View remediation

Remediation Suggestions

  1. Make persistent insight capture opt-in rather than mandatory.
  2. Keep generated observations in ephemeral session state unless the user explicitly approves retention.
  3. Label each stored entry with its provenance, trust level, supporting evidence, author, and verification status.
  4. Prevent unverified entries from being archived, escalated, or passed to the prioritizer.
  5. Require corroboration from trusted project artifacts before converting an observation into durable memory.
  6. Deduplicate entries and prohibit repetition alone from increasing confidence.
  7. Provide deletion, expiration, and review controls for all persisted insights.
  8. Separate raw user or workspace content from verified agent conclusions.
  9. Treat archived entries as untrusted historical context rather than authoritative instructions.
  10. Sanitize and quote memory content when passing it to another agent so it cannot be interpreted as higher-priority operational instructions.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill advertises very broad invocation conditions such as using it when starting a session, after any agent completion, when a ticket is weak, or when a blocker exists. That creates a high chance of unnecessary or repeated activation, which can cascade into scope expansion, file writes, sub-agent spawning, and other side effects without a narrowly defined trigger. In this context, the danger is increased because the skill is explicitly designed to infer additional work and orchestrate downstream actions.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

The instruction 'No implementation work' conflicts with directives to generate and maintain substantive project files, which can mask meaningful work as mere orchestration. This ambiguity increases the chance that the agent performs unreviewed actions or bypasses guardrails by treating content generation and state mutation as administrative rather than implementation activity.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The skill goes beyond simple orchestration by instructing the agent to create and update multiple artifacts such as risk registers, insight logs, portfolio analysis, and routing files. That expands its write scope and can cause unauthorized or unnecessary modifications to project state, especially when these writes occur every cycle regardless of user awareness.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill explicitly requires a silent risk scan every cycle and repeated file writes without any user-facing notice. Hidden analysis and persistent writes reduce transparency, can expose sensitive internal judgments into workspace files, and may create an audit and consent problem if the user did not request those actions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The instruction to delete or archive JOB_BOARD.md introduces a file-modification side effect without an explicit user-facing warning or retention policy. While limited to a planning artifact, silent deletion can remove auditability, interfere with debugging/recovery, and hide what work was queued or completed. The surrounding skill context makes this somewhat more concerning because the skill manages multi-step orchestration and verification, so JOB_BOARD.md may be an important operational record.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.