Trust Assessment
omni-stories received a trust score of 10/100, placing it in the Untrusted category. This skill has significant security findings that require attention before use in production.
SkillShield's automated analysis identified 10 findings: 7 critical, 3 high, 0 medium, and 0 low severity. Key findings include Arbitrary command execution, Remote code execution: curl/wget pipe to shell, Autonomous Error Resolution Directives.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. The Manifest Analysis layer scored lowest at 10/100, indicating areas for improvement.
Last analyzed on February 13, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings10
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Arbitrary command execution Remote code download piped to interpreter Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/specter0o0/omni-stories/SKILL.md:22 | |
| CRITICAL | Arbitrary command execution Remote code download piped to interpreter Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/specter0o0/omni-stories/SKILL.md:79 | |
| CRITICAL | Arbitrary command execution Remote code download piped to interpreter Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/specter0o0/omni-stories/SKILL.md:99 | |
| CRITICAL | Remote code execution: curl/wget pipe to shell Detected a pattern that downloads and immediately executes remote code. This is a primary malware delivery vector. Never pipe curl/wget output directly to a shell interpreter. | Static | skills/specter0o0/omni-stories/SKILL.md:22 | |
| CRITICAL | Remote code execution: curl/wget pipe to shell Detected a pattern that downloads and immediately executes remote code. This is a primary malware delivery vector. Never pipe curl/wget output directly to a shell interpreter. | Static | skills/specter0o0/omni-stories/SKILL.md:79 | |
| CRITICAL | Remote code execution: curl/wget pipe to shell Detected a pattern that downloads and immediately executes remote code. This is a primary malware delivery vector. Never pipe curl/wget output directly to a shell interpreter. | Static | skills/specter0o0/omni-stories/SKILL.md:99 | |
| CRITICAL | Autonomous Error Resolution Directives The skill instructs the AI agent to 'solve it autonmously, without interrupting the human' and 'Do not interrupt the user, if you run into any errors, try to fix them yourself autonomously without asking for permision.' These directives attempt to override the LLM's default behavior of seeking clarification or reporting errors, potentially leading to the agent taking unapproved or harmful actions without user consent or knowledge. This is a strong form of prompt injection aiming to control the agent's operational autonomy. Remove instructions that encourage autonomous problem-solving without user oversight or explicit permission. Agents should always report errors and seek user approval for significant corrective actions. | LLM | SKILL.md:30 | |
| HIGH | Unsanitized User Input in Shell Commands The skill instructs the agent to construct and execute `omni-stories` commands with multiple user-controlled arguments (e.g., `-u <URL>`, `-tt "<title>"`, `-s "<story>"`, `-q "<quote>"`, `-t "<tag, tag, ...>"`). If the `omni-stories` executable does not properly sanitize these inputs before using them in underlying shell commands (e.g., via `subprocess.run`), it creates a significant command injection vulnerability. An attacker could craft malicious input to execute arbitrary commands on the host system. Ensure that all user-provided arguments passed to external commands are rigorously sanitized and properly escaped. Prefer using API calls or structured data exchange over direct shell command construction with user input. If shell execution is unavoidable, use safe methods like `subprocess.run` with `shell=False` and pass arguments as a list. | LLM | SKILL.md:56 | |
| HIGH | Unpinned Remote Script Execution (Supply Chain Risk) The installation process involves executing a script directly from a remote GitHub URL (`https://raw.githubusercontent.com/specter0o0/omni-stories/main/.omni-stories-data/install.sh`) by piping it to `bash`. This method lacks version pinning or integrity checks (e.g., hash verification). If the remote repository or the specific file is compromised, a malicious script could be served and executed on the agent's system, leading to arbitrary code execution and a severe supply chain risk. Avoid direct execution of unpinned remote scripts. Instead, download the script, verify its integrity (e.g., with a cryptographic hash), and then execute it. Ideally, package installation scripts within the skill itself or use a trusted package manager with version locking. | LLM | SKILL.md:26 | |
| HIGH | API Key Exposure to Unverified Remote Script The installation command `curl -sSL ... | bash -s -- <API_KEY, API_KEY, ...>` explicitly passes ElevenLabs API keys as arguments to an external, unverified `install.sh` script. This creates a direct vector for credential harvesting. If the remote script is malicious or compromised, it could capture and exfiltrate these sensitive API keys, leading to unauthorized access to the user's ElevenLabs account. Never pass sensitive credentials directly to external, unverified scripts. API keys should be stored securely (e.g., in environment variables or a secure configuration file) and accessed only by trusted, locally installed components. The installation script should prompt for keys or read them from a secure source, rather than receiving them as command-line arguments from an untrusted source. | LLM | SKILL.md:26 |
Scan History
Embed Code
[](https://skillshield.io/report/81b6a091b5cdca6e)
Powered by SkillShield