Back to skill

Security audit

Patsnap MCP

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a coherent Patsnap/OOMOL connector, but its setup instructions tell users or agents to execute mutable remote installer scripts without verification.

Review the install instructions before using this skill. Prefer installing the oo CLI through a verified package or downloaded artifact with checksum/signature validation, and confirm any Patsnap action tagged [write] before it runs. Be aware that connector calls may send patent, image, or business analysis data to OOMOL/Patsnap services.

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:103
Finding
Unverified Remote Installer Execution via Shell<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 103–107 **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 download mutable scripts from an external server and immediately execute them through `bash` or PowerShell's `Invoke-Expression` (`iex`). Neither command pins an installer version, verifies a cryptographic signature or checksum, nor provides an inspection step before execution. HTTPS authenticates and encrypts the connection under normal conditions, but it does not establish that the retrieved script is a previously audited artifact. Compromise of the hosting infrastructure, publishing account, DNS configuration, TLS endpoint, or installer generation process could cause these commands to execute attacker-controlled code. Installing the CLI is relevant to the Skill's operation and is presented only as a fallback when `oo` is unavailable. Nevertheless, direct remote-to-shell execution exceeds the minimum privileges and trust necessary to install a client. A downloaded, version-pinned, independently verified package would provide the required functionality with substantially less supply-chain risk. ### Attack Path 1. An attacker compromises the installer host, deployment pipeline, publishing credentials, or another component capable of changing `install.sh` or `install.ps1`. 2. A user or agent encounters the documented `oo: command not found` condition. 3. The user or agent runs the recommended installation command. 4. `curl` or `Invoke-RestMethod` retrieves the attacker-controlled script. 5. The pipe to `bash` or `iex` executes the script immediately without integrity verification or review. 6. The payload performs arbitrary actions using the permi ...[truncated 1000 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Remove all pipe-to-shell and `Invoke-Expression` installation instructions. 2. Distribute the CLI through a trusted operating-system package manager or an official release repository. 3. Pin the installer or package to a specific reviewed version rather than a mutable latest-version URL. 4. Publish cryptographic checksums and, preferably, signed release artifacts with independently verifiable signing keys. 5. Require users to download the artifact first, verify its signature or checksum, and inspect it before execution. 6. Avoid requesting administrator privileges unless a specific installation step requires them; prefer a user-scoped installation. 7. Document the expected files, destinations, and permission changes made by the installer. 8. If a bootstrap script remains necessary, use a pattern such as: ```bash curl -fSLo oo-install.sh "https://trusted.example/releases/<pinned-version>/install.sh" echo "<expected-sha256> oo-install.sh" | sha256sum --check less oo-install.sh bash oo-install.sh ``` 9. For Windows, download a signed artifact to disk, validate its Authenticode signature and expected publisher, and then execute it directly without `iex`. ]]>
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • 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 (3)

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 by piping a remote script directly into `bash`, which is a classic supply-chain and remote code execution risk. If the install endpoint, CDN, DNS, TLS termination, or publisher account is compromised, arbitrary code will run immediately on the host with the user's privileges.

Intent-Code Divergence

Medium
Confidence
94% confidence
Finding
The action description on L054 says `forward_citation` retrieves valuation patent forward citation data, which is read-only in intent, but it is tagged `[write]`. This directly contradicts the file's own safety semantics on L092-L094, where tags are meant to indicate whether an action changes state.

Intent-Code Divergence

Medium
Confidence
94% confidence
Finding
The description on L088 says `transfer_data` retrieves valuation patent transfer data for review and analysis, which implies a read operation, yet it is marked `[write]`. Because the skill defines `[write]` as changing Patsnap MCP state, this is an active contradiction between documentation and declared action behavior.

Static analysis

No suspicious patterns detected.