Back to skill

Security audit

Radar

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly coherent for using Radar through OOMOL, but its setup instructions include unverified remote installer commands that could run arbitrary code if followed.

Install with caution. The Radar connector behavior is disclosed and purpose-aligned, but avoid running the documented one-line remote installer commands unless you trust OOMOL's installer delivery path; prefer a package manager, pinned release, checksum or signature verification, and review of the installer 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:59
Finding
Unverified Remote Installation Scripts Executed Directly by Shell Interpreters<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 59–63 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: Critical ### 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 retrieve mutable scripts from an external server and immediately pass them to `bash` or PowerShell for execution. The instructions do not pin a script version, verify a cryptographic checksum or publisher signature, save the script for inspection, or otherwise establish that the downloaded content is identical to content reviewed during the Skill audit. HTTPS provides transport protection but does not protect users if the hosting service, DNS infrastructure, deployment pipeline, or publisher account is compromised. Because the effective payload is controlled remotely and can change after review, these commands create a supply-chain code-execution channel. Although installing the required CLI is related to the Skill's functionality, immediate execution of an unverified remote payload exceeds the minimum privileges necessary for installation. A safer installation process can verify a fixed artifact before running it. ### Attack Path 1. The `oo` CLI is unavailable, causing the user or agent to consult the first-time setup instructions. 2. The user or agent runs one of the documented installation commands. 3. The command connects to `cli.oomol.com` and retrieves the current script without pinning or integrity verification. 4. If the endpoint or its delivery infrastructure has been compromised, it returns attacker-controlled shell or PowerShell code. 5. The pipe passes that code directly to the local interpreter. 6. The malicious payload executes with all permissions held by the invoking account. ### Impact Assessment Successful exploitation permits ...[truncated 977 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Remove direct `curl | bash` and `irm | iex` installation patterns. 2. Prefer a trusted operating-system package manager with a version-pinned package and established signature-verification process. 3. If direct artifact installation is necessary: - Download a fixed-version artifact to a local file. - Obtain its expected checksum through a separately authenticated release channel. - Verify a strong cryptographic checksum and, preferably, a publisher signature. - Abort installation if verification fails. - Permit inspection of the downloaded file before execution. 4. Pin the installer and CLI to an explicit release rather than retrieving a mutable generic `install.sh` or `install.ps1` endpoint. 5. Run installation without administrator or root privileges unless a documented installation step strictly requires elevation. 6. Document the files, directories, and permissions the installer modifies. 7. Keep setup conditional on an actual missing-command error, as the existing instructions already recommend, to avoid unnecessary execution of installation logic. A safer workflow would resemble: ```bash curl -fSLo oo-installer.sh "https://trusted.example/releases/<fixed-version>/install.sh" printf '%s %s\n' '<publisher-provided-sha256>' 'oo-installer.sh' | sha256sum --check - bash oo-installer.sh ``` The checksum must be pinned to the selected release and obtained from a trusted, authenticated source rather than dynamically downloaded from the same mutable location as the installer. ]]>
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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
Findings (4)

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
98% confidence
Finding
The skill instructs the agent to install software via `curl ... | bash`, which executes a remotely fetched script without verification. If the host, transport, CDN, or upstream script is compromised, the agent could run arbitrary code with the user's privileges, making this especially dangerous in a skill that may be followed automatically during setup or recovery flows.

Vague Triggers

Medium
Confidence
93% confidence
Finding
The description says to use this skill for "ANY Radar request" and "Whenever a task involves Radar," which is a very broad trigger with no narrowing conditions or exclusions. In a markdown/manifest context, this can overlap with many ordinary references to Radar and does not define clear boundaries for when the skill should or should not activate.

Intent-Code Divergence

Medium
Confidence
97% confidence
Finding
The line describes `forward_geocode` as a geocoding lookup, which is naturally a read-only operation, but also tags it `[write]`. That is not merely incomplete documentation; it actively conflicts with the stated effect of the action and can mislead an agent into treating a read as a state-changing operation.

Intent-Code Divergence

Low
Confidence
90% confidence
Finding
The safety section establishes a policy that tags accurately distinguish read versus state-changing operations. Because the action list labels a seemingly read-only `forward_geocode` lookup as `[write]`, the guidance and action documentation together present contradictory intent about what constitutes a write, which can cause incorrect confirmation behavior.

Static analysis

No suspicious patterns detected.