Back to skill

Security audit

Play Music from YouTube

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a coherent YouTube music controller, but it asks users to grant broad macOS permissions and always uses persistent browser data without enough scoping or cleanup warnings.

Review this skill carefully before installing. It should only be used if you are comfortable with a persistent YouTube browser profile that may retain login cookies, and on macOS you should avoid blindly approving all permission prompts; grant only the specific permission you understand, verify the executable requesting it, and revoke access when finished. Treat delete-data, state-save, screenshots, close-all, and kill-all as sensitive operations because they can remove session data, save authentication material, capture page contents, or interrupt browser sessions.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:68
Finding

Blanket Approval of Excessive macOS Permissions

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 68–77
Vulnerability Type: Least-privilege violation through broad operating-system permission requests
Risk Level: Medium

Complete vulnerable snippet:

markdown
If no .yml snapshots appear here, it is almost always **MacOS permission-related**.
Ask the user to run:

playwright-cli open https://www.youtube.com --headed

text
This will trigger macOS system dialogs for:
- Screen Recording
- Automation
- Accessibility

Approve all to enable snapshot generation.

Technical Analysis

The skill tells users to approve Screen Recording, Automation, and Accessibility permissions collectively when browser snapshots are unavailable. This breaks the principle of least privilege because it does not establish that every listed permission is necessary for the narrow task of controlling YouTube in a browser.

Screen Recording may expose sensitive content displayed by other applications. Accessibility and Automation permissions may allow the authorized process to inspect user-interface elements, synthesize input, or control applications outside the intended browser workflow. The instruction also lacks per-permission justification, scope limitations, validation that the requesting executable is legitimate, and guidance for revoking permissions afterward.

No evidence in the audited files indicates that the skill itself exploits these permissions maliciously. The risk arises because the blanket instruction expands the capabilities available to playwright-cli or any compromised/spoofed process operating under the granted authorization.

Attack Path

  1. Browser snapshot generation fails or appears to fail.
  2. The skill instructs the user to execute playwright-cli open https://www.youtube.com --headed.
  3. macOS presents one or more permission prompts for Screen Recording, Automation, or Accessibility.
  4. The user follows the unconditional ins ...[truncated 900 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove the unconditional “Approve all” instruction.
  2. Determine which specific permission is required for the failing feature and request only that permission.
  3. Explain why each requested permission is needed and what data or applications it may expose.
  4. Instruct users to verify the executable identity and code signature before granting sensitive macOS permissions.
  5. Prefer browser accessibility snapshots or other mechanisms that do not require Screen Recording or system-wide Accessibility access.
  6. Offer non-privileged troubleshooting first, including checking whether the browser launched correctly, verifying the workspace snapshot directory, and restarting the named session.
  7. Provide revocation instructions through macOS System Settings after playback or troubleshooting is complete.
  8. If Automation permission is necessary, restrict it to the browser application rather than recommending broad approval for unrelated targets.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly instructs use of a persistent browser profile that stores cookies, localStorage, IndexedDB, cache, and preserved login state on disk, but it does not require informing the user or obtaining consent for that retention. In this context, the automation targets YouTube and may preserve authenticated sessions across runs, increasing privacy and account-exposure risk if the host is shared, compromised, or reused unexpectedly.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
80% 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 119)May include surrounding context.

md
- Use the original language for non-English songs (e.g. Chinese characters for Chinese songs).

**Voice transcription (ASR) and typo handling:**
- **Do NOT ask the user to confirm** potentially misheard names. YouTube has robust auto-correction and will show results for the intended query even with typos or homophones (e.g. searching "楊成林" will auto-correct to "楊丞琳").
- Always search directly with whatever text you have. After the search, check the results snapshot — if YouTube shows a "Did you mean: ..." or "顯示以下搜尋結果: ..." banner with corrected results, the correction is already applied.
- Only fall back to **web search** or asking the user if the YouTube search results are clearly unrelated or empty.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill includes a reset flow using delete-data but does not warn that this irreversibly removes stored browser/session data, including cookies and login state. A user or agent following these instructions could unintentionally destroy persisted authentication state or locally stored browsing data without understanding the consequence.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

Lines L12-L14 document delete-data, close-all, and kill-all, which can irreversibly delete session data or terminate all browser processes, but the markdown provides no caution about impact. Because these operations can affect user data and system state, the missing warning is in scope for markdown files.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

Lines L20-L25 describe state-save and state-load for cookies and localStorage, including saving to a specific JSON file, but provide no warning that these artifacts can contain authentication or other sensitive browser session data. In a markdown file, omission of a privacy or data-handling warning for such behavior matches the missing user warnings category.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

Lines L38-L39 document taking screenshots and saving them to page.png, but do not warn that screenshots can capture personal data, credentials, or other sensitive content visible in the browser. For markdown documentation, this is a user-warning omission related to privacy-impacting behavior.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.