Back to skill

Security audit

subtitle-download

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent subtitle-downloading helper, but users should know its script can rename and delete subtitle files in the chosen media folder.

Install only if you are comfortable giving the helper script read-write access to the target movie library. Set MOVIES explicitly to the intended folder, consider backing up existing subtitle files first, and review the Podman image/tag and ffmpeg conversion behavior before running the script.

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)

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The script performs destructive bulk operations across the media library: it renames existing .srt files to .en.srt, later renames them back, and deletes original .ass/.sub files after conversion. Those behaviors are only partially implied by comments and are easy for an operator to miss, creating a real risk of unintended data modification or loss if run on the wrong path or against unexpectedly structured content.

Tool Parameter Abuse

Low
Category
Tool Misuse
Content
- Native async (`AsyncProviderPool`), hash + guessit filename matching.
- 7 providers: opensubtitles, opensubtitlescom, podnapisi, addic7ed, napiprojekt, gestdown, tvsubtitles.
- Saves `.srt` next to video. CLI: `subliminal download -l en <path>`.
- Podman: `podman run --rm -v cache:/usr/src/cache -v $MOVIES:/movies ghcr.io/diaoul/subliminal download -l en /movies`
- Reality: only `opensubtitles` returned results in a default-config run;
  `podnapisi` DNS-failed, `opensubtitlescom` errored. ~40% of library stayed missing.
Confidence
15% 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).

Static analysis

No suspicious patterns detected.