Back to skill

Security audit

RUNE Prompt Amplification

Security checks for vulnerabilities and agentic risk

Overview

This skill is not clearly malicious, but it needs review because it runs unpinned external Python code and sources a broad local secrets file.

Install only if you are comfortable trusting the external RUNE repository and its wand.py at run time. Prefer a pinned commit, a dedicated credential file or explicit RUNE_API_KEY environment variable, restricted file permissions, and avoid sending confidential prompts through this skill until its data flow is documented.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • 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
Findings (3)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:42
Finding

Execution of Unpinned Code from an External Repository

Content
View full analysis
> ~/.secrets # 3. Test echo "Hello" | bash main.sh ``` The downloaded implementation is subsequently selected and executed by `main.sh`: ```bash RUNE_DIR="${RUNE_DIR:-/Users/mustafa/Documents/GitHub/rune}" WAND="$RUNE_DIR/wand.py" ``` ```bash cd "$RUNE_DIR" # Strip ANSI colors from output for clean piping python3 "$WAND" inscribe "$PROMPT" \ | sed $'s/\033\[[0-9;]*m//g' ``` ### Technical Analysis The Skill does not include or implement its declared prompt-amplification engine. Instead, its setup instructions clone a mutable external Git repository and `main.sh` executes `wand.py` from that repository. The clone operation does not pin an immutable commit, verify a cryptographic checksum, validate a signature, or otherwise authenticate the exact content that will be executed. Consequently, the effective executable payload can change after this Skill has been audited. There is also a provenance inconsistency: - `SKILL.md:43` directs users to clone `github.com/mrsarac/master-prompts`. - `SKILL.md:8,55` and `README.md:75` identify repositories under `github.com/neurabytelabs`. This inconsistency makes it harder for users to determine which repository is authoritative and increases the risk of source substitution. `README.md:75` itself is only a GitHub hyperlink and does not directly execute or download anything; the actionable remote retrieval is the clone command in `SKILL.md`. ### Attack Path 1. A user installs the reviewed Skill and follows its documented setup procedure. 2. The user clones the current state of `mrsarac/master-prompts` ...[truncated 1145 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
main.sh:15
Finding

Arbitrary Shell Execution Through Sourcing of a General Secrets File

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
README.md:34
Finding

Mutable Package Execution Through npx latest

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (10)

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

The skill advertises a simple prompt-transformation capability, but the documentation reveals additional sensitive behaviors: loading credentials from ~/.secrets, requiring an API key, ingesting stdin/CLI input, and depending on a separate local repository/script to perform the real work. This mismatch reduces user visibility into trust boundaries and can cause users to execute unreviewed external code with access to local secrets, which is a genuine security concern even if not overtly malicious.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

The README instructs users to run npx clawhub@latest install ..., which fetches and executes the latest package version at install time rather than a pinned, reviewed version. This creates a supply-chain risk: if the upstream package is compromised or a breaking/malicious release is published, users may execute untrusted code simply by following the documentation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The setup instructions tell users to append an API key to ~/.secrets without explaining credential exposure, file permission requirements, or safer secret-management options. This can lead to accidental disclosure through weak file permissions, shell sourcing practices, backups, or reuse of a broadly trusted secrets file by other tools.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

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.

Content

Scanner excerpt · main.sh (reported line 9)May include surrounding context.

sh
#
# Usage:
#   echo "Write a blog post about AI" | bash main.sh
#   bash main.sh "Write a blog post about AI"
#   bash main.sh                  # prompts interactively

set -euo pipefail

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The script automatically sources $HOME/.secrets, which executes arbitrary shell code from a local file rather than safely reading only the needed variable. For a prompt-formatting skill, loading and executing a general secrets file is broader than necessary and can expose unrelated credentials or trigger unintended side effects in the user's shell context.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

Sourcing a secrets file without an explicit warning means the skill silently reads sensitive local material and executes its contents. Users invoking a simple prompt-amplification tool would not reasonably expect this level of access, which increases the risk of credential exposure and unsafe code execution from modified dotfiles.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The script sends the full user prompt to an external Python tool/API path without any explicit warning, consent flow, or data-handling notice. Because prompts may contain proprietary or sensitive information, undisclosed transmission creates confidentiality risk even if the feature is functionally expected for a remote AI-backed tool.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The manifest describes invocation/input behavior in a very broad way ('stdin or argument') and presents the skill as a generic prompt wrapper without any trigger constraints or scope limits. In an agent ecosystem, this increases the chance the skill is invoked on arbitrary user or system prompts, which can amplify prompt-injection risk and cause the skill to process sensitive context unexpectedly.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The manifest explicitly requests access to sensitive material via environment variable 'RUNE_API_KEY' and files under '~/.secrets' without any user-facing disclosure of why those secrets are needed or how they are handled. This is dangerous because a prompt-amplification skill does not obviously require broad local secret-file access, and such access could enable accidental exposure or deliberate exfiltration of credentials during skill execution.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

This markdown file tells users to place RUNE_API_KEY in ~/.secrets, which involves handling credentials, but it provides no warning about protecting that file or avoiding accidental disclosure. Under the markdown criteria for missing user warnings, credential-related behavior should be disclosed when it may affect user privacy or system security.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.