Back to skill

Security audit

Fellow

Security checks for vulnerabilities and agentic risk

Overview

This Fellow connector skill is mostly coherent, but its setup instructions tell users to execute unverified remote installer scripts directly in a shell.

Review the installer step carefully before installing. Prefer installing the oo CLI through a verified, versioned, or checksum-validated method, and only connect Fellow if you are comfortable with OOMOL-mediated access to your Fellow workspace; confirm write actions before they run.

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:58
Finding
Unverified Remote Installation Scripts Are Executed Directly## Vulnerability Details **File Location**: `SKILL.md`, lines 58–67 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High The first-time setup instructions execute remotely hosted installation scripts directly in the user's shell: ```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 Both commands combine retrieval and execution in a single operation. The effective code is hosted outside the reviewed project and can change after this Skill has been audited. The instructions do not pin a script or CLI version, verify a cryptographic signature or checksum, or provide an opportunity to inspect the downloaded content before execution. The download domain is consistent with the declared OOMOL service, and installation is presented as a conditional first-time setup step rather than routine execution. Nevertheless, trusting the current content of a mutable URL exceeds the minimum privilege and trust necessary to install a CLI. A compromise of the hosting infrastructure, publication pipeline, domain or DNS controls, or relevant TLS trust chain could turn these documented setup commands into an arbitrary-code execution channel. ### Attack Path 1. An attacker compromises the remote installation script, its publishing infrastructure, or another component capable of controlling the response from the documented URL. 2. The `oo` command is unavailable, causing the user or agent to follow the first-time setup instructions. 3. On macOS or Linux, `curl` retrieves the attacker's current payload and pipes it directly to `bash`; on Windows, `irm` retrieves it and `iex` evaluates it immediately. 4. The payload executes without artifact pinning, integrity verification, or prior inspection. 5. The payload performs arbitrary actions using the permissions of the account ...[truncated 970 chars]
Remediation
## Remediation Suggestions - Replace pipe-to-shell and download-to-`iex` instructions with installation through a reputable platform package manager or a documented, versioned release process. - Pin the CLI to a specific reviewed version rather than retrieving mutable installation content from an unversioned URL. - Instruct users to download the artifact without executing it, then verify a publisher-provided cryptographic signature or a checksum obtained through a separately secured channel. - Publish the expected signing identity, verification commands, and failure-handling procedure in the setup documentation. - Require installation to abort if signature or checksum verification fails. - Run installation with ordinary user privileges unless a narrowly defined operation demonstrably requires elevation. - If an installer script remains necessary, save it locally for inspection and execute the verified file as a separate step rather than piping network output directly into a shell. - Protect the release pipeline with restricted publication permissions, multi-factor authentication, reproducible builds where practical, and auditable release provenance.
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
95% confidence
Finding
The skill instructs the agent/user to install software via `curl ... | bash`, which executes a remote script directly without integrity verification, pinning, or review. If the distribution endpoint, TLS chain, or upstream content is compromised, arbitrary code could run on the host with the user's privileges.

Vague Triggers

Medium
Confidence
96% confidence
Finding
The description says to use this skill for 'ANY Fellow request,' which is an extremely broad trigger phrase for a markdown skill description. It does not provide exclusions, negative examples, or contextual constraints, increasing the chance of unintended invocation whenever Fellow is merely mentioned.

Static analysis

No suspicious patterns detected.