Back to skill

Security audit

Reelier

Security checks for vulnerabilities and agentic risk

Overview

The skill is coherent and not overtly malicious, but it asks users to run an unpinned npm tool in recurring jobs and to scan broad agent-history directories that may contain sensitive data.

Review before installing. Use a pinned, reviewed `reelier` version instead of `npx -y reelier`, avoid scanning whole agent-history directories, prefer an explicitly selected transcript, and run recurring jobs under a least-privileged account with only the MCP tools and files needed for that job.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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 (2)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:11
Finding

Unpinned Third-Party Package Is Downloaded and Executed

Content
View full analysis
--name ``` ```sh npx -y reelier mcp --wrap "" npx -y reelier compile -o .skill.md ``` ```sh npx -y reelier init ``` ```sh npx -y reelier run .skill.md ``` ```sh npx -y reelier diff ``` ```sh npx -y reelier run .skill.md && npx -y reelier diff ``` ### Technical Analysis The installation metadata identifies `reelier` only by package name, while the command examples use `npx -y reelier` without an exact version or integrity constraint. Although the documentation states that it was written against the 0.12.x series, that statement does not constrain package resolution. When the package is not already available locally, `npx -y` can automatically retrieve and execute the version selected by the configured npm registry. The `-y` option suppresses the interactive installation confirmation. Consequently, the code executed by these commands can change after the Skill has been reviewed. This creates a supply-chain trust boundary: compromise of the package publisher, npm account, package dependencies, registry, or local registry configuration could cause attacker-controlled JavaScript to execute with the permissions of the user or service running the Skill. ### Attack Path 1. An attacker compromises the `reelier` npm package, one of its transitive dependencies, its publisher account, or a registry used by the target. 2. A malicious package version is published or returned during dependency resolution. 3. A user or scheduled heartbeat invokes an unpinned command su ...[truncated 1054 chars]
Remediation
View remediation

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:58
Finding

Directory-Wide Agent History Scan Exposes Unrelated Sensitive Session Data

Content
View full analysis
--name ``` ``` ### Technical Analysis The default scanning instruction directs a third-party executable to inspect broad agent-history locations, explicitly including `~/.openclaw`, `~/.claude`, and unspecified “other agent dirs.” These directories can contain transcripts and configuration associated with tasks unrelated to the replay job. Agent histories may include private prompts, source code, filesystem paths, tool arguments, API responses, credentials accidentally recorded in conversations, MCP endpoints, and other sensitive operational context. The Skill does not specify an allowlist, exclusion rules, redaction controls, data-retention boundaries, or a requirement to obtain explicit consent before scanning unrelated histories. The documentation also offers the narrower `from-session ` workflow, but presents directory-wide scanning as the first command in the preferred approach. No project evidence establishes that the accessed data is transmitted externally; the confirmed issue is broad local access and possible incorporation of sensitive content into generated artifacts. ### Attack Path 1. The user follows the preferred recording workflow and executes `npx -y reelier scan`. 2. The executable enumerates `~/.openclaw`, `~/.claude`, and other recognized agent directories. 3. It reads session files beyond the transcript needed for the intended recurr ...[truncated 1059 chars]
Remediation
View remediation
``` 2. Require informed user approval before scanning an entire agent-history directory. 3. Document every directory, filename pattern, and data field the scanner may read. 4. Support explicit directory and file allowlists, with all unlisted locations denied by default. 5. Add exclusion rules for credentials, environment captures, unrelated projects, private conversations, and configuration files. 6. Perform secret detection and redaction before data is written to traces, generated Skills, or receipts. 7. Store generated artifacts with restrictive permissions and define a retention and deletion policy. 8. Run scanning in a sandbox with read access only to a temporary copy of the selected transcript. 9. Clearly disclose whether any scanned content is transmitted externally; if network access is unnecessary, deny it during scanning and compilation. ]]>
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (13)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
Reelier compiles a run that *worked* into a `SKILL.md` file that replays

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

The skill manifest as a whole promotes a workflow centered around npx -y reelier but does not present version-pinned execution despite emphasizing deterministic replay. At the manifest level this is a real integrity and supply-chain concern because users may trust the skill as stable while actually executing mutable upstream code.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The skill repeatedly instructs users to execute npx -y reelier without a version pin, which causes code to be fetched and executed from the npm registry at runtime. This creates a supply-chain risk: a compromised latest release, account takeover, or malicious dependency update could lead to arbitrary code execution in the agent environment.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
72% confidence
Finding

The manifest install metadata references a Node package/binary setup without an explicit version pin, which can result in different code being installed over time. In an automation skill that is meant for recurring execution, unpinned package resolution weakens reproducibility and increases exposure to malicious or breaking upstream changes.

Content

No source excerpt is available for this finding.

Behavior Manipulation

Medium
Category
Prompt Injection
Confidence
75% confidence
Finding

Subtle instructions detected that may alter agent decision-making or introduce hidden biases.

Content

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

md
non-deterministic (varying search results, LLM-generated content,
unparameterized timestamps).

**Never tell the user "I'll replay this session" about a coding session.**
If a session was mostly edits and greps, `reelier scan` /
`reelier from-session` will honestly report nothing replayable (an empty
result, not an error) — that is expected. Only freeze jobs that were

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

This line directs users to run npx -y reelier scan, which downloads and executes the current package version at invocation time. Because the skill targets recurring workflows and may be used in privileged environments with access to local session history, an unpinned package materially increases supply-chain compromise risk.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The from-session invocation uses npx -y reelier without a version constraint, meaning the tool code is not fixed at review time. Since this command processes transcript/session artifacts that may contain sensitive data, executing an unpinned package could expose those artifacts or run arbitrary code.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

Wrapping an MCP server via npx -y reelier mcp --wrap ... executes the latest resolved package version and places it in the path of tool/server communication. That amplifies supply-chain risk because a compromised package could intercept credentials, requests, or responses flowing through the wrapper.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The compile command is also unpinned, so the behavior of skill generation depends on whatever package version npm resolves at run time. In a system intended to produce deterministic, auditable replay artifacts, this undermines integrity and opens the door to malicious changes in generated outputs.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The guided initialization command uses an unpinned transient package execution. While less directly sensitive than proxying or transcript scanning, it still permits arbitrary upstream code changes to run in the user's environment and can alter generated configuration or workflow behavior.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The core recurring-job replay command is unpinned, which is particularly risky because it is intended to run on every heartbeat/cron execution. That turns a one-time supply-chain weakness into a repeated automatic code-execution path, increasing the blast radius of any compromised release.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The diff command also executes an unpinned package at runtime. Because this command is used as a gate for drift detection, a compromised or changed upstream package could falsify pass/fail outcomes or manipulate receipts, weakening the trust model of the automation.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding

The second unpinned npx -y reelier invocation on the same line has the same unattended supply-chain exposure as the first. Because it participates in the decision logic for whether to wake the LLM or accept a replayed run, compromised upstream code could both execute arbitrarily and subvert monitoring outcomes.

Content

No source excerpt is available for this finding.