Back to skill

Security audit

WakaTime

Security checks for vulnerabilities and agentic risk

Overview

This WakaTime connector skill is mostly coherent, but its setup fallback tells the agent to run unverified remote installer scripts if the required CLI is missing.

Review the setup instructions before installing. Prefer installing the oo CLI through a verifiable package or by downloading and inspecting the installer first, and only connect WakaTime if you are comfortable routing WakaTime account queries through OOMOL.

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

Unverified Remote Installation Scripts Executed Directly by Shells

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 60–64
Vulnerability Type: Remote payload retrieval and execution
Risk Level: Critical

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 first-time setup instructions download mutable scripts from cli.oomol.com and immediately execute their contents with Bash or PowerShell. There is no version pinning, checksum validation, cryptographic signature verification, local review step, or sandboxing between retrieval and execution.

HTTPS provides transport encryption and server authentication, but it does not guarantee that the retrieved script remains identical to the version assessed during this audit. If the hosting server, DNS infrastructure, certificate trust chain, or upstream release pipeline is compromised, the downloaded response can contain arbitrary commands. The curl | bash and irm | iex constructions execute that response without giving the user a meaningful opportunity to inspect it.

Installing the oo CLI may be necessary when it is absent, but immediate execution of an unpinned remote response exceeds the minimum safe privileges needed to provide installation guidance. The Skill can instead direct users to a pinned, independently verifiable release artifact.

The project contains no local implementation of the downloaded installers, so their behavior and requested privileges cannot be verified from the audited package.

Attack Path

  1. A user or agent attempts to use the WakaTime Skill on a system where the oo CLI is unavailable.
  2. The resulting oo: command not found condition causes the first-time setup instructions to be followed.
  3. An attacker compromises or influences the installation endpoint, its deployment pipeline, DNS resolution, or another trusted delivery component. ...[truncated 1117 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove both direct download-to-shell command patterns.
  2. Publish versioned installation artifacts through a verifiable official release channel and pin an exact oo CLI version.
  3. Require users to download the artifact as a separate step rather than piping it directly into an interpreter.
  4. Publish SHA-256 checksums through an independently protected channel and require checksum verification before execution.
  5. Cryptographically sign release artifacts and document signature verification using a pinned, trusted public key.
  6. Give users an explicit opportunity to inspect the downloaded installer before running it.
  7. Prefer a trusted platform package manager with signed metadata and version pinning where available.
  8. Document the installer's expected filesystem changes, network destinations, and privilege requirements. Installation should run without administrative privileges unless a specific system-level operation strictly requires elevation.
  9. If an installer script remains necessary, use a version-specific immutable URL and fail closed when signature or checksum validation fails.
  10. Keep installation a user-initiated recovery step; the agent should not automatically download or execute an installer following a command failure.
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
97% confidence
Finding

The skill instructs users to install software via a remote shell pipeline (curl ... | bash), which executes code fetched at runtime without integrity verification or user review. If the distribution endpoint, CDN, DNS, or transport chain 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
97% confidence
Finding

The manifest description uses very broad activation language that could match many ordinary references to WakaTime, not just cases where the connector skill is actually needed. It does not provide exclusion conditions or narrower trigger constraints, increasing the risk of unintended invocation.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.