Back to skill

Security audit

Download AIO

Security checks for vulnerabilities and agentic risk

Overview

This downloader is not overt malware, but it needs Review because it can use browser login cookies and automatically send downloaded files to Telegram without tight consent or safe handling.

Install only if you are comfortable with downloaded media being sent to Telegram. Avoid using browser-cookie options for private accounts unless you explicitly intend to grant the agent access to that logged-in session, and review or replace the PowerShell command templates before using untrusted URLs.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (4)

T09 · Insecure Skill Coding Practices

Error
Location
references/commands.md:14
Finding

PowerShell Command Injection Through Untrusted URL Substitution

Content
View full analysis
" ``` Equivalent command templates containing the same unsafe URL substitution pattern also appear throughout `references/commands.md` and in `SKILL.md`. ### Technical Analysis The skill instructs the agent to replace the quoted `` placeholder with a user-provided URL and execute the resulting PowerShell command. Placing an untrusted value inside a double-quoted PowerShell string does not make it safe. PowerShell evaluates subexpressions such as `$()` inside double-quoted strings. Backticks and embedded quotation marks may also change how a generated command is parsed. If the agent constructs command text by textual substitution, a URL containing PowerShell syntax can therefore cause commands to be evaluated before `yt-dlp` receives the argument. For example, a value conceptually containing: ```text https://example.invalid/video?q=$(Start-Process calc.exe) ``` would cause the `$()` expression to be evaluated when embedded directly into the documented command template. The exact payload can be replaced with file operations, process execution, credential access, or network activity. This risk applies to every documented command that places a user-controlled URL directly into executable PowerShell text. ### Attack Path 1. An attacker sends the agent a URL containing PowerShell metacharacters or a `$()` subexpression. 2. The skill recognizes the message as a download request. 3. The agent replaces `` in the documented PowerShell template with the attacker-controlled text. 4. PowerShell parses the resulting command. 5. PowerShell evaluates the injected expression before invoking `yt-dlp`. 6. Th ...[truncated 760 chars]
Remediation
View remediation
` with raw user input. - Pass the URL as a discrete process argument through a structured process API. - If PowerShell must be used, store the URL as data and invoke the process with an argument array: ```powershell $arguments = @( "-m", "yt_dlp", "-f", "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best", "--merge-output-format", "mp4", "-o", "$OUT\%(title)s.%(ext)s", "--", $UserUrl ) & $PYTHON @arguments ``` - Obtain `$UserUrl` through a data boundary rather than generating a script containing its contents. - Validate the URL with `System.Uri`, allowing only required schemes such as `https` and, if necessary, `http`. - Reject control characters, line breaks, NUL characters, and malformed absolute URLs. - Use `--` before the URL so a value beginning with a hyphen cannot be interpreted as a `yt-dlp` option. - Apply the same correction to every video, audio, playlist, subtitle, thumbnail, and metadata command template. - Run the downloader under a non-administrative account with restricted filesystem and network permissions. ]]>

T09 · Insecure Skill Coding Practices

Error
Location
references/commands.md:150
Finding

Unreliable Output Selection Can Send an Unrelated Local File to Telegram

Content
View full analysis
Remediation
View remediation
`. - Open or copy temporary files using exclusive semantics where possible. - Avoid `-Force` unless the destination was securely created by the same invocation. - Bind the exact file path to the originating request and intended Telegram chat before transmission. - Place cleanup in a `finally` block and delete only files created by that invocation. ]]>

T08 · Insecure Dependencies

Warning
Location
references/commands.md:173
Finding

Unpinned Runtime Dependency Installation

Content
View full analysis
Remediation
View remediation

other

Note
Location
README.md:103
Finding

Package Documentation References Missing Executable Scripts

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • YARA SignaturesMalware Match, Webshell Match, Cryptominer Match
Findings (19)

YARA rule 'info_stealer': Information stealer patterns (credential harvesting, browser data theft) [malware]

High
Category
YARA Match
Confidence
84% confidence
Finding

The README instructs the agent to use --cookies-from-browser chrome for rate-limited or login-required content, which involves extracting browser session cookies from the user's local profile. In an agent skill that also automates downloads and sharing, this is especially dangerous because browser cookies are sensitive authentication material and their use can enable unauthorized account access or unintended access to private content.

Content

Scanner excerpt · README.md (reported line 140)May include surrounding context.

── platforms.md ← Danh sách nền tảng + lưu ý riêng └── troubleshooting.md ← Xử lý lỗi thường gặp

text

---

## Xử lý sự cố

| Lỗi | Cách fix |
|-----|---------|
| Python không tìm thấy | Chạy lại `install.ps1`, cài Python tại [python.org](https://python.org) |
| HTTP 429 / Rate limit | Agent tự thêm delay, hoặc dùng `--cookies-from-browser chrome` |
| Video cần đăng nhập | Mở Chrome, đăng nhập, agent dùng `--cookies-from-browser chrome` |
| ffmpeg not found | Chạy `choco install ffmpeg` hoặc tải tại [ffmpeg.org](https://ffmpeg.org) |
| File > 50MB | File được lưu tại `Downloads\yt-dlp\`, agent thông báo đường dẫn |

---

## Update yt-dlp

Các nền tảng thay đổi thường xuyên, nên update yt-dlp định kỳ:

```powershell
python -m pip install -U yt-dlp

MCB AI  · 

Missing User Warnings

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The description advertises that files are automatically sent to Telegram, but it does not present this as a material privacy warning or require explicit opt-in. Users may reasonably expect local download behavior only, while the skill performs an external transfer of downloaded content to a messaging platform.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
94% confidence
Finding

The guidance to use browser cookies for private content omits any warning that this relies on authenticated browser state and may expose private account access, sensitive session context, and personal content. In a skill intended for broad consumer use, this omission materially increases the risk of unsafe credential-adjacent behavior.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

Directing the agent to use browser cookies from a private account to download private content is a significant security and privacy issue because it operationalizes authenticated access to non-public data. In this skill's context, that risk is amplified by automation and the subsequent workflow that can forward the retrieved files to Telegram.

Content

No source excerpt is available for this finding.

YARA rule 'info_stealer': Information stealer patterns (credential harvesting, browser data theft) [malware]

High
Category
YARA Match
Confidence
75% confidence
Finding

YARA rule matched a known malware signature (reverse shell, backdoor, ransomware, C2 framework, or info stealer).

Content

Scanner excerpt · SKILL.md (reported line 113)May include surrounding context.

md
ỗi

Xem `references/troubleshooting.md` để xử lý các lỗi thường gặp:
- Lỗi cài đặt / không tìm thấy Python
- HTTP 429 (rate limit)
- Bot detection / cần đăng nhập
- ffmpeg not found
- File quá lớn

## Lưu ý quan trọng

- Playlist > 50 video: hỏi user muốn tải bao nhiêu trước khi chạy
- Nội dung private (Instagram, Twitter): dùng `--cookies-from-browser chrome`
- Rate limit: thêm `--sleep-interval 3 --max-sleep-interval 8`
- Update yt-dlp thường xuyên: `python -m pip install -U yt-dlp`

YARA rule 'info_stealer': Information stealer patterns (credential harvesting, browser data theft) [malware]

High
Category
YARA Match
Confidence
91% confidence
Finding

The matched content includes direct instructions for extracting browser cookies from Chrome/Firefox and using exported cookie files. In isolation this resembles information-stealer behavior because browser cookies are reusable authentication artifacts; in this downloader context it is presented as a convenience feature, but it still meaningfully enables credential/session abuse if misused.

Content

Scanner excerpt · references/commands.md (reported line 122)May include surrounding context.

�ng tải)

powershell
# Thông tin cơ bản
& $PYTHON -m yt_dlp --dump-json "<URL>" | ConvertFrom-Json | `
  Select-Object title, duration, view_count, like_count, upload_date, uploader

# Liệt kê tất cả format có sẵn
& $PYTHON -m yt_dlp -F "<URL>"

Dùng cookie (cho content cần đăng nhập)

powershell
# Dùng cookie từ Chrome (phổ biến nhất)
--cookies-from-browser chrome

# Dùng cookie từ Firefox
--cookies-from-browser firefox

# Export cookie thủ công (nếu auto không được)
# Dùng extension "Get cookies.txt LOCALLY" trên Chrome
# Export ra cookies.txt rồi dùng:
--cookies path/to/cookies.txt

Options hữu ích

powershell
--no-playlist              # Chỉ tải 1 video, bỏ qua playlist
--yes-playlist             # Force tải cả playlist
--download-archive "$OUT\downloaded.txt"  # Lưu lịch sử, skip đã tải
--concurrent-fragments 4   # Tải nhanh hơn (4 luồng song song)
-

YARA rule 'info_stealer': Information stealer patterns (credential harvesting, browser data theft) [malware]

High
Category
YARA Match
Confidence
84% confidence
Finding

The repeated --cookies-from-browser chrome pattern matches credential-access behavior because it directs the tool to read authenticated browser cookies from the local Chrome profile. In this skill context, that can expose active session tokens and enable downloading content available only through the user's authenticated accounts, which is sensitive even if the intent is not malware deployment.

Content

Scanner excerpt · references/platforms.md (reported line 27)May include surrounding context.

md
| bilibili.com/video/BV... | Video Trung Quốc |
| Rumble | rumble.com/... | Full support |
| Odysee/LBRY | odysee.com/@... | Full support |
| Streamable | streamable.com/... | Short clips |
| Imgur | imgur.com/... | GIF/Video |

## Cần đăng nhập (dùng cookie)

| Nền tảng | Yêu cầu | Lệnh |
|----------|---------|------|
| Instagram | Đăng nhập để xem private | `--cookies-from-browser chrome` |
| Twitter/X | Một số video cần login | `--cookies-from-browser chrome` |
| YouTube (private) | Video private/members | `--cookies-from-browser chrome` |
| Twitch (sub-only) | Kênh subscription | `--cookies-from-browser chrome` |
| Facebook (private) | Group/profile riêng tư | `--cookies-from-browser chrome` |

## Lưu ý theo nền tảng

### YouTube
- Shorts: URL dạng youtube.com/shorts/VIDEO_ID
- Playlist: youtube.com/playlist?list=PLAYLIST_ID
- Channel toàn bộ: youtube.com/c/ChannelName/videos
- Live (đang phát): thêm `--live-from

YARA rule 'info_stealer': Information stealer patterns (credential harvesting, browser data theft) [malware]

High
Category
YARA Match
Confidence
90% confidence
Finding

The troubleshooting guide repeatedly instructs users to use --cookies-from-browser chrome and to ensure Chrome is open and logged into YouTube, which leverages authenticated browser cookies. In the context of a download skill, this creates a real risk of unauthorized access to private or account-bound content and normalizes extraction of sensitive browser session data, which could be abused or expanded into credential/session theft behavior.

Content

Scanner excerpt · references/troubleshooting.md (reported line 22)May include surrounding context.

l yt-dlp

text

### ERROR: Requested format not available

Nguyên nhân: Format/quality không tồn tại cho video này Fix: Chạy -F để xem format có sẵn, chọn format ID phù hợp Hoặc dùng: -f "best"

text

### ERROR: Unable to download webpage (HTTP 429)

Nguyên nhân: Bị rate limit Fix: Thêm --sleep-interval 3 --max-sleep-interval 8 Hoặc dùng --cookies-from-browser chrome

text

### ERROR: Sign in to confirm you're not a bot

Nguyên nhân: YouTube bot detection Fix: --cookies-from-browser chrome Đảm bảo Chrome đang mở và đã đăng nhập YouTube

text

### ERROR: Private video / Login required

Fix: --cookies-from-browser chrome Hoặc export cookies: xem references/auth.md

text

### ERROR: ffmpeg not found (khi merge video+audio)

Nguyên nhân: ffmpeg chưa cài Fix 1: choco install ffmpeg Fix 2: Dùng format không cần merge: -f "best[ext=mp4]"

text

### Video tải về nhưng kh�

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README advertises automatic transmission of downloaded files to Telegram but does not clearly warn users that downloaded content will be sent to a third-party service. In an agent skill context, this creates a real privacy and data-sharing risk because users may paste sensitive or private media URLs and not realize the resulting files are automatically exfiltrated off-device.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The installation instructions tell users to run a PowerShell script with ExecutionPolicy Bypass and describe automatic installation of dependencies without meaningful warnings. This lowers host protections and encourages users to execute privileged automation from the skill package, increasing the risk of arbitrary code execution or unsafe system changes if the script is modified or compromised.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
86% confidence
Finding

The skill is designed to autonomously decide whether to send downloaded files to Telegram based on file size, without requiring an explicit confirmation at the point of transfer. Autonomous external transmission of user-requested downloads can cause unintended disclosure, especially when the content source or sensitivity is not revalidated.

Content

Scanner excerpt · SKILL.md (reported line 3)May include surrounding context.

md
---
name: download-aio
description: Download videos, audio, playlists, subtitles, and thumbnails from ANY platform (YouTube, TikTok, Instagram, Facebook, Twitter/X, Twitch, Vimeo, SoundCloud, Reddit, and 1000+ more) using yt-dlp. After download, automatically send file to Telegram if under 50MB. Use this skill when the user wants to download video, audio, playlist, reel, short, clip, subtitle, or thumbnail from any website or social media platform. Triggers on phrases like "tải video", "download video", "tải nhạc", "download audio", "tải playlist", "download từ YouTube/TikTok/Facebook/Instagram", "lưu video", "save video", or when user pastes a URL from a video platform.
---

# Download AIO Skill

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger conditions are extremely broad, including generic phrases like 'download video' and even automatic activation when a user pastes a supported URL. This increases the chance of unintended invocation and accidental downloads or exfiltration to Telegram without a sufficiently explicit user request.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill explicitly instructs use of --cookies-from-browser chrome to access private Instagram/Twitter content, which expands its capability from public media downloading into authenticated access using a user's browser session. This can expose private account data and session-derived access beyond the minimally necessary scope, especially when paired with automatic file transfer to Telegram.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The documentation explicitly instructs use of --cookies-from-browser and manual cookies.txt export to access authenticated content. While this can be a legitimate yt-dlp feature, exposing browser-session extraction in a general-purpose download skill materially increases the chance of unauthorized access to private media and mishandling of sensitive session data.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The cookie-access section lacks any warning that browser cookies are highly sensitive session credentials that may grant account access. Users could follow these instructions without understanding they are exposing authentication data, potentially enabling account misuse, privacy violations, or leakage through logs/files.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The Telegram workflow copies downloaded content into a workspace path and transmits it to an external channel without any explicit user warning about that transfer boundary. This creates risk of unintentional exfiltration of copyrighted, private, or sensitive media and leaves an extra copy in an intermediate location if cleanup fails.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The documentation explicitly instructs use of --cookies-from-browser chrome to access private, login-gated, members-only, or subscription-only content. While this is framed as a convenience feature of yt-dlp rather than overt credential theft, it encourages pulling authenticated browser session data into the workflow and expands the skill beyond general public media downloading into access of restricted content.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This markdown file presents all user-facing instructions in Vietnamese, including headings, error explanations, and remediation steps. Under the language/locale policy rule, forcing a specific language without user opt-in or documented regional justification is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The manifest presents the skill as an end-user media downloader, but these instructions also perform pip install -U yt-dlp, which changes the local Python environment. Updating installed packages is an administrative or maintenance action rather than a direct downloading function, so it exceeds the stated user-facing purpose.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.