T09 · Insecure Skill Coding Practices
- Location
export.py:26- Finding
Reversible Plex token obfuscation is presented as secure encryption
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill appears to export Plex libraries as advertised, but it handles a Plex token in ways users should review carefully before installing.
Review this skill before installing if your Plex token has broad access. Prefer normal HTTPS with valid certificates, avoid --insecure unless you understand the interception risk, and treat the stored token as obfuscated rather than strongly encrypted. Rotate the Plex token if the config file may have been exposed.
export.py:26Reversible Plex token obfuscation is presented as secure encryption
export.py:241Optional TLS verification bypass can expose the Plex authentication token
The skill documentation indicates capabilities to read and write files, make network requests to a Plex server, and invoke shell commands, but the manifest does not declare any corresponding tool scope or permissions. This creates a transparency and least-privilege problem: users and hosting platforms cannot accurately constrain what the skill may do, increasing the risk of overbroad execution if the implementation is compromised or behaves unexpectedly.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
- Use `--insecure` flag only for self-signed certificates (not recommended)
**File Permissions:**
- Config file is automatically set to `chmod 600` (owner read/write only)
- After first run, verify: `ls -la ~/.openclaw/workspace/data/plexmedia2html-export/config.json`
---
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
- Use `--insecure` flag only for self-signed certificates (not recommended)
**File Permissions:**
- Config file is automatically set to `chmod 600` (owner read/write only)
- After first run, verify: `ls -la ~/.openclaw/workspace/data/plexmedia2html-export/config.json`
---
Code scans file system directories looking for sensitive files. This could be reconnaissance for credential theft.
**File Permissions:**
- Config file is automatically set to `chmod 600` (owner read/write only)
- After first run, verify: `ls -la ~/.openclaw/workspace/data/plexmedia2html-export/config.json`
---
The file-level documentation claims 'Secure Token Storage', but the implementation only uses reversible XOR obfuscation with a predictable machine-derived key. This can mislead users into trusting the storage mechanism as cryptographically secure when anyone with filesystem access and the script can recover the Plex token.
The comment and behavior indicate the token is 'encrypted' before storage, but XOR with a static machine-bound string is only obfuscation and is trivially reversible. This weak protection exposes the Plex token to recovery by a local attacker or any code able to read the config and reproduce the key derivation.
This code prompts the user for a Plex token, decrypts it from local storage, and sends it in the X-Plex-Token HTTP header to the Plex server. While there is logging about secure storage and insecure SSL mode, there is no explicit user-facing warning that the token will be used for authenticated network transmission and that library metadata will be fetched from the server.
Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.
- By default, SSL certificate verification is enabled (secure)
- Use `--insecure` flag only for self-signed certificates (not recommended)
**File Permissions:**
- Config file is automatically set to `chmod 600` (owner read/write only)
- After first run, verify: `ls -la ~/.openclaw/workspace/data/plexmedia2html-export/config.json`
No suspicious patterns detected.