Agent skill · security · aradotso
drm-pentesting-toolkit
Plugin-based DRM pentesting toolkit with GUI for device management, PSSH extraction, license key retrieval, and content downloading
Why this skill is useful
Adds a comprehensive toolkit for DRM pentesting with executable plugins and specific commands for extracting keys and managing devices.
What it needs
Requires brotli, customtkinter, protobuf, pyplayready, pywidevine, requests installed locally. About 7k tokens when loaded. Last updated 2026-08-04. 11 stars on the source repository.
What this skill does
DRM Pentesting Toolkit Skill Skill by ara.so — Security Skills collection. This skill enables AI agents to assist with DRM pentesting using a modular, plugin-based toolkit. The project provides a CustomTkinter GUI for managing DRM devices (Widevine .wvd, PlayReady .prd), extracting PSSH from MPD manifests, communicating with license servers, and downloading protected content. What It Does The DRM Pentesting Toolkit is a comprehensive framework for: Loading and validating Widevine/PlayReady device files Parsing PSSH (Protection System Specific Header) data from DASH/MPD manifests Extracting decryption keys from license servers Generating M3U playlists with embedded keys Downloading and decrypting content via Nm3u8DL-RE Managing credentials, proxies, and HTTP configurations Chaining multiple operations through a plugin stack system Installation Required dependencies (from requirements.txt): Additional setup: 1. Place DRM device files in devices/widevine/.wvd or devices/playready/.prd 2. Download Nm3u8DL-RE and shaka-packager executables to Nm3u8DL-RE/ 3. Create credential files in credentials/ (format: username:password) 4. Create proxy files in proxies/ (format: host:port:user:pass) Running the Application The GUI provides tabs for: MPD Data: Configure manifest URLs, headers, cookies License Data: Set license server URLs and authentication Logs & Output: Monitor plugin execution Downloads: Track Nm3u8DL-RE download progress Core Architecture Plugin System Plugins are Python files in plugins/ that define a run() function. The plugin manager uses introspection to: 1. Auto-detect required parameters 2. Map UI context to function arguments 3. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills aradotso/drm-pentesting-toolkit