Back to skill

Security audit

Film Production Assistant

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent film pre-production assistant, but its optional DOCX export instructions use unsafe shell commands and its call-sheet workflow handles sensitive people and location details with limited privacy guidance.

Review this skill before installing. It appears useful for film pre-production, but do not run the provided DOCX export shell commands as written; export through safer tooling that avoids shell interpolation and uses unique temporary files. Treat generated call sheets as confidential because they may include phone numbers, addresses, access instructions, transport details, and safety-sensitive notes.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:80
Finding

Shell Command Injection and Unsafe Temporary-File Handling in DOCX Export

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 80–81
Vulnerability Type: Shell command injection and insecure predictable temporary file
Risk Level: High

Vulnerable Code

bash
echo "{{output}}" > /tmp/film-output.md
pandoc /tmp/film-output.md -o "{{user-specified-path}}/{{ProjectTitle}}-{{DocumentType}}.docx"

Technical Analysis

The documented export workflow interpolates generated or user-controlled values directly into shell commands. The output, user-specified-path, ProjectTitle, and DocumentType placeholders may contain quotes, command substitutions, shell metacharacters, or control operators. If the agent constructs and executes this command through a shell without strict escaping, crafted input can terminate the quoted value and introduce arbitrary commands.

The workflow also uses the fixed, globally predictable path /tmp/film-output.md. An attacker with local access may create a symbolic link at that location before export. The shell redirection could then overwrite another file writable by the agent. Concurrent exports can also collide, overwrite one another, or expose residual production data to other local users.

Attack Path

  1. An attacker supplies crafted scene content, project metadata, document type, or an export destination containing shell syntax.
  2. The attacker asks the agent to export the generated document to DOCX.
  3. The untrusted value is substituted into the documented shell command.
  4. When the command is evaluated by a shell, the crafted syntax escapes the intended argument and executes an attacker-selected local command.
  5. The injected command runs with the operating-system privileges of the agent process.

A local symlink attack is also possible:

  1. A local attacker predicts the fixed path /tmp/film-output.md.
  2. The attacker creates that path as a symbolic link to another file writable by the agent.
  3. The export operation executes th ...[truncated 736 chars]
Remediation
View remediation

Remediation Suggestions

  1. Do not build export commands by interpolating values into shell command strings.
  2. Write generated Markdown through a filesystem API rather than echo.
  3. Create a unique temporary file using a secure facility such as mktemp or the host language's temporary-file API.
  4. Set restrictive permissions on the temporary file and directory, such as owner-only access.
  5. Invoke pandoc through a process API with an argument array and shell evaluation disabled.
  6. Validate ProjectTitle and DocumentType against a conservative filename allowlist, rejecting path separators, control characters, shell metacharacters, and traversal sequences.
  7. Canonicalize the requested destination and verify that it remains inside the exact directory approved by the user.
  8. Avoid overwriting existing output files unless the user explicitly confirms it.
  9. Remove temporary files in guaranteed cleanup logic, including failure and cancellation paths.
  10. If a shell is unavoidable, pass data through positional parameters and apply robust platform-specific escaping; however, direct process and filesystem APIs remain the preferred solution.
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (10)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill's trigger section explicitly references 'David (or any user),' indicating tailoring to a named individual without opt-in. Personalized routing rules can bias behavior, expose assumptions about user identity, and make the skill behave differently for one person in ways other users did not request.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger guidance ends with a broad catch-all for 'Any film pre-production planning request,' which can cause the skill to activate on loosely related requests without clear user intent. Over-broad activation increases the chance of inappropriate routing, unexpected data handling, or applying this skill when a different workflow would be safer or more appropriate.

Content

No source excerpt is available for this finding.

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

Requires: pandoc must be installed on the host (brew install pandoc on Mac). If not available, deliver the output as text only.

Only export when the user asks. Do not automatically save files without confirmation.

bash
# Only run this when user explicitly requests a file export

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

md
- Production Schedule: `ProjectTitle-Schedule.docx`
- Budget: `ProjectTitle-Budget.docx`

**Ask the user for save location.** Do not default to `~/Desktop` without asking first.
Always confirm the file was saved and provide the full path.

---

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The 'David's Film Background Note' instructs the agent to alter behavior for a specific named individual by skipping basics and assuming professional expertise. This can lead to undisclosed profiling, inappropriate assumptions, and reduced safety/usability if the identity or expertise is wrong or if similar treatment leaks into interactions with other users.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The document recommends including precise addresses, GPS, access codes, parking instructions, and alternate routes without any warning that these details are sensitive or should be restricted. For active filming locations, broad distribution of site-access information could enable unauthorized access, theft, stalking, or disruption of production operations.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The reference explicitly instructs inclusion of sensitive contact categories such as key phone numbers, cast/crew names, emergency contacts, and hospital/police details, but provides no guidance on limiting circulation, redacting fields, or handling the document as confidential. In a film-production context, call sheets are commonly distributed broadly to cast and crew, so omission of privacy and need-to-know controls increases the risk of unnecessary exposure of personal and operational information.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

This output exposes sensitive operational details including full names, phone numbers, a residential filming address, hotel pickup location, building access instructions, and emergency contact information. In a generative skill context, emitting realistic call sheets without privacy controls can enable stalking, harassment, doxxing, social engineering, or unauthorized access to people and locations if the output is based on real productions or reused as a template.

Content

No source excerpt is available for this finding.

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 · references/test-outputs/03-call-sheet.md (reported line 143)May include surrounding context.

md
┌─────────────────────────────────────────────────────────────────────┐
│ SPECIAL NOTES — READ BEFORE ARRIVING ON SET                          │
├─────────────────────────────────────────────────────────────────────┤
│ 1. DO NOT MOVE FURNITURE without checking with Set Decorator first   │
│                                                                       │
│ 2. ESPRESSO MACHINE is a HERO PROP — handle only through Props Dept. │
│    Do not operate, move, or touch without Props Master present.      │

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

The file includes stunt activity involving breakaway mugs and operational instructions around potential hazards. Although there are inline notes for crew, the markdown as a skill output does not provide a user-facing warning that the generated document may contain safety-critical production instructions requiring qualified supervision.

Content

No source excerpt is available for this finding.