Back to skill

Security audit

Linkly

Security checks for vulnerabilities and agentic risk

Overview

The skill’s Linkly connector behavior is coherent, but its fallback setup tells users or agents to run unverified remote installer scripts directly in a shell.

Before installing, review the Linkly actions and use the skill only if you are comfortable with OOMOL-mediated access to your Linkly account. Do not run the provided remote installer commands blindly; prefer an official, version-pinned installation method with checksum or signature verification, and explicitly approve any write or delete action before it runs.

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:57
Finding
Unverified Remote Installation Scripts Executed Directly by Shells<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 57–65 **Vulnerability Type**: Unverified remote payload retrieval and execution **Risk Level**: Critical ### Vulnerable Code ```markdown - **`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 irm https://cli.oomol.com/install.ps1 | iex # Windows PowerShell ``` ``` ### Technical Analysis The installation instructions download mutable content from `cli.oomol.com` and immediately execute the response with Bash or PowerShell. They do not pin an installer version, verify a cryptographic checksum or signature, inspect the downloaded content, or establish that the received payload matches a reviewed artifact. The commands therefore transfer control of the local shell to externally hosted content whose effective behavior can change after this Skill has been audited. HTTPS protects the connection in transit but does not mitigate compromise of the hosting service, publication account, installer pipeline, DNS/TLS trust chain, or upstream infrastructure. Installation is only presented as a fallback when `oo` is unavailable, and routine tool access is otherwise constrained to `Bash(oo *)`. Nevertheless, executing an unverified installer exceeds the minimum privilege necessary to describe or operate the Linkly connector. The installer’s actual filesystem, network, credential, and persistence behavior is not visible in the audited project. The project also sends Linkly action data through the OOMOL connector. That network behavior is consistent with the declared integration, and the audited file does not show raw credential harvesting or unrelated exfiltration. The confirmed issue is specifically the direct execution of unverified remote installer content. ### Attack Path 1. The `oo` CLI is missing from the environment, ...[truncated 1706 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Remove both pipe-to-shell installation commands. 2. Direct users to a documented, version-pinned release artifact or trusted operating-system package manager. 3. Download the installer to a local file rather than executing the network response immediately. 4. Publish and require verification of a cryptographic signature or SHA-256 checksum obtained through an independently protected channel. 5. Display or inspect the downloaded script before execution. 6. Pin an explicit CLI version so the audited dependency cannot change silently. 7. Request explicit user approval before downloading or installing software. 8. Run installation with ordinary user privileges and avoid `sudo` or administrator execution unless a documented component strictly requires it. 9. Document the installer’s expected filesystem changes, network destinations, required permissions, and uninstall procedure. 10. Prefer an auditable sequence such as: ```bash curl -fSLo oo-install.sh "https://cli.oomol.com/releases/<pinned-version>/install.sh" echo "<expected-sha256> oo-install.sh" | sha256sum --check less oo-install.sh bash oo-install.sh ``` The PowerShell procedure should likewise use a pinned artifact, verify an Authenticode signature or cryptographic digest, permit inspection, and execute only after explicit approval. ]]>
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

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 to install software by piping a remotely fetched script directly into a shell (`curl ... | bash`). This creates a supply-chain execution risk: if the remote host, transport, or script content is compromised, arbitrary code would run immediately on the user's machine without prior inspection. In a skill context, this is more dangerous because the document operationalizes the command as a remediation step the agent may surface or execute when the CLI is missing.

Static analysis

No suspicious patterns detected.