Back to skill

Security audit

Unsplash

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a coherent Unsplash connector, but its fallback setup tells users to run unverified remote installer scripts directly in a shell.

Install only if you are comfortable using OOMOL's oo CLI and Unsplash connector. Avoid running the documented curl-to-bash or PowerShell iex installer blindly; prefer an official, verifiable installer or inspect and verify any downloaded script before execution.

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:56
Finding

Unverified Remote Installer Download and Immediate Execution

Content
View full analysis
): ```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 retrieve mutable scripts from `cli.oomol.com` and pass their contents directly to a command interpreter. The Bash command pipes the downloaded response into `bash`, while the PowerShell command executes it through `Invoke-Expression` (`iex`). Neither instruction pins a release version, verifies a cryptographic signature or checksum, nor provides an opportunity to inspect the downloaded script before execution. Consequently, the code actually executed can differ from the content available when the Skill was audited. If the remote hosting infrastructure, publishing account, DNS resolution, or relevant TLS trust path is compromised, an attacker could replace the installer with arbitrary commands. The commands would execute with all privileges available to the user running the Skill. Although installation is presented only as a fallback when the CLI is absent, downloading and immediately executing an unverified remote payload exceeds the minimum privilege and trust necessary to provide installation guidance. ### Attack Path 1. The `oo` executable is unavailable, causing a command-not-found failure. 2. The Agent or user follows the documented first-time setup procedure. 3. The shell requests `install.sh` or `install.ps1` from the remote OOMOL endpoint. 4. An attacker controlling or compromising the delivery endpoint, publishing process, DNS path, or trusted network path substitutes malicious script content ...[truncated 956 chars]
Remediation
View remediation
/install.sh" printf '%s %s\n' "" "oo-install.sh" | sha256sum --check - less oo-install.sh bash oo-install.sh ``` Equivalent integrity and signature checks should be required for the PowerShell installation path. ]]>
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
Confidence
98% confidence
Finding

The skill instructs the agent to install software via curl ... | bash, which fetches and immediately executes a remote script without verification. If the install endpoint, transport, DNS, or hosting environment is compromised, this can lead to arbitrary code execution on the host running the skill.

Content

Scanner excerpt · SKILL.md (reported line 60)May include surrounding context.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The description says to use this skill for "ANY Unsplash request" and "Whenever a task involves Unsplash," which is a very broad activation condition for a manifest/markdown file. It does not provide constraints or negative examples to clarify when the skill should not activate, increasing the risk of collisions with general discussion about Unsplash rather than explicit requests to operate on it.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.