Back to skill

Security audit

PubMed

Security checks for vulnerabilities and agentic risk

Overview

The PubMed skill is mostly coherent, but its setup instructions ask users or agents to run a remote installer directly in a shell, so it should be reviewed before installation.

Install only if you are comfortable using OOMOL’s oo CLI and PubMed connector. Before running the first-time setup installer commands, prefer official installation documentation, inspect downloaded scripts or signed packages where available, and avoid running them from an elevated shell unless you intentionally trust the installer.

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 Installation Scripts Executed Directly by Shells<![CDATA[ ## 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 installation instructions pipe content retrieved from remote HTTPS endpoints directly into Bash or PowerShell. The downloaded scripts are executed without first being saved for inspection and without verifying a pinned version, cryptographic checksum, or digital signature. HTTPS protects data in transit under normal conditions, but it does not establish that the script is immutable or safe. If the distribution server, hosting account, DNS resolution, certificate trust chain, or release process is compromised, the endpoint can return attacker-controlled commands. The effective payload can also change after the Skill has been reviewed. This behavior is broader than the Skill's declared read-only PubMed functionality. Searching and retrieving PubMed records does not inherently require arbitrary remote code execution. Although installation is presented as a fallback for a missing CLI, following these instructions gives the remote script all permissions held by the invoking user. ### Attack Path 1. The `oo` CLI is unavailable, causing the user or agent to follow the first-time setup instructions. 2. The installer endpoint or its software-delivery infrastructure is compromised, or the endpoint begins serving a malicious script. 3. `curl` or `Invoke-RestMethod` retrieves the mutable script. 4. The pipe passes the response directly to `bash` or `Invoke-Expression`, with no opportunity for validation. 5. The shell executes the attacker's commands with the invoking user's privileges. 6. The payload can access user-readable information, modify user-writable files, install additional soft ...[truncated 982 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Remove both direct remote-script execution patterns: - Do not pipe `curl` output into `bash`. - Do not pass `Invoke-RestMethod` output directly to `Invoke-Expression`. 2. Prefer a trusted platform package manager or a signed, version-pinned release artifact from the official project repository. 3. If a standalone installer is unavoidable: - Pin the installer or binary to a specific release version. - Download it to a local file without executing it. - Publish and verify a cryptographic SHA-256 or stronger checksum over an authenticated channel. - Verify a platform-appropriate digital signature from a documented publisher. - Abort installation if any verification fails. - Allow the user to inspect the downloaded content before execution. 4. Avoid requesting administrator or root privileges unless a documented installation step strictly requires them. Prefer installation into a user-owned directory with minimal filesystem access. 5. Provide manual installation instructions and clearly disclose the files, directories, environment variables, and network endpoints affected by installation. 6. Keep installation outside routine Skill execution. The Skill should report that the dependency is missing and require an explicit user decision before any installation action. ]]>
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 the agent to install software by piping a remotely fetched script directly into a shell (`curl ... | bash`). This creates a supply-chain and remote code execution risk: if the install endpoint is compromised, tampered with, or unexpectedly changed, arbitrary code could run on the host with the user's privileges.

Vague Triggers

Medium
Confidence
94% confidence
Finding
The description says to use this skill for "ANY PubMed request" and "Whenever a task involves PubMed," which is a very broad activation condition. It does not provide constraints or negative examples to distinguish when this skill should or should not be invoked, increasing the chance of unintended activation for incidental mentions of PubMed.

Static analysis

No suspicious patterns detected.