Back to skill

Security audit

Memberstack

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly coherent for managing Memberstack through OOMOL, but its setup instructions include unverified remote installers that execute immediately on the user's machine.

Review this before installing. The Memberstack connector behavior is disclosed, but use safer CLI installation steps than the documented pipe-to-shell commands: prefer a signed or package-manager install, pinned release, or manually downloaded installer with checksum or signature verification. Confirm exact payloads before any member updates or deletions.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:62
Finding
Unverified Remote Installer Downloaded and Executed Directly## Vulnerability Details **File Location**: `SKILL.md`, lines 62-66 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code ```bash curl -fsSL https://cli.oomol.com/install.sh | bash # macOS / Linux ``` ```powershell irm https://cli.oomol.com/install.ps1 | iex # Windows PowerShell ``` ### Technical Analysis The first-time setup instructions download mutable scripts from `cli.oomol.com` and immediately execute them through Bash or PowerShell. The commands do not pin a release, verify a cryptographic signature or checksum, or provide an inspection step before execution. Consequently, the code that runs may differ from the content available when the Skill was audited. HTTPS protects data in transit but does not establish that the remote publishing system or delivered script is trustworthy. Compromise of the hosting account, release pipeline, server, DNS infrastructure, or another trusted delivery component could replace the installer with arbitrary code. Installing the declared CLI may be necessary for the Skill, but direct pipe-to-shell execution exceeds the minimum safe mechanism needed to perform installation. A downloaded, version-pinned, integrity-verified package would achieve the same functionality with substantially less risk. The Windows command has the same weakness: `Invoke-RestMethod` retrieves the script and `Invoke-Expression` executes the returned text without integrity verification. ### Attack Path 1. The `oo` CLI is absent, and an attempted connector action fails with `oo: command not found`. 2. The agent or user follows the documented first-time setup instructions. 3. An attacker compromises or gains control over the installer endpoint or its software-delivery pipeline. 4. The endpoint returns an altered Bash or PowerShell installer. 5. The shell executes the response immediately, without validating its version, signature, checksum, or contents. 6. The malicious installer perf ...[truncated 1106 chars]
Remediation
## Remediation Suggestions 1. Remove both direct execution patterns: - Do not pipe `curl` output into `bash`. - Do not pass network responses directly to `Invoke-Expression`. 2. Pin installation to a specific, reviewed CLI release rather than a mutable installer URL. 3. Download the installer or package to a local file without executing it. 4. Publish and verify a cryptographic signature from a separately protected signing key. At minimum, publish a trusted SHA-256 checksum and compare it before execution. 5. Abort installation if signature, checksum, expected version, or publisher verification fails. 6. Prefer a trusted platform package manager or signed native package with explicit version constraints. 7. Show the verified local path and request explicit user approval before executing installation code. 8. Run the installer with ordinary user privileges unless a documented installation step strictly requires elevation. 9. Document the installer source, expected publisher identity, version, checksum, and files or permissions modified during installation. A safer conceptual workflow is: ```bash curl -fL -o oo-installer.sh "https://trusted.example/oo/releases/<pinned-version>/install.sh" echo "<trusted-sha256> oo-installer.sh" | sha256sum --check - less oo-installer.sh bash ./oo-installer.sh ``` The checksum must come from a trusted, independently protected release channel; merely downloading the checksum from the same mutable endpoint does not adequately mitigate compromise.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (2)

External Script Fetching

High
Category
Supply Chain
Content
- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):

  ```bash
  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux
  ```

  ```powershell
Confidence
97% confidence
Finding
The skill instructs users to install software via a direct network fetch piped into a shell (`curl ... | bash`). This pattern executes remote code without prior verification, so a compromised host, MITM in a weakened environment, or malicious update could lead to arbitrary code execution on the user's machine.

Vague Triggers

Medium
Confidence
94% confidence
Finding
The description says to use this skill for ANY Memberstack request and instead of calling the API directly, which is an overly broad routing trigger. Broad triggers can cause the agent to invoke this skill in situations it does not fully understand, increasing the chance of unintended data access, updates, or destructive operations against Memberstack.

Static analysis

No suspicious patterns detected.