Back to skill

Security audit

Momentum.io

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent Momentum.io connector, but its setup instructions include unverified remote installer commands that need user review.

Install only if you are comfortable with OOMOL's oo CLI and Momentum.io account connection. Prefer a verified package or inspect and verify the installer before running the documented remote shell or PowerShell commands. Treat the skill as able to read Momentum.io data available through your connected account.

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 (2)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:60
Finding

Unverified Remote Shell Script Execution in macOS/Linux Installation Instructions

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 60
Vulnerability Type: Remote payload retrieval and immediate execution
Risk Level: Critical

Complete Code Snippet:

bash
curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux

Technical Analysis

The installation instruction pipes a remotely downloaded script directly into bash. The script is not pinned to a specific immutable version and is not subjected to checksum or cryptographic-signature verification before execution. Consequently, the code that executes may differ from the content assessed during this audit.

HTTPS protects the connection in transit under normal conditions, but it does not protect against compromise of the hosting service, publication pipeline, signing account, or the remote script itself. The repository contains no copy of the installer and provides no evidence from which its behavior or integrity can be independently verified.

Installing the oo CLI may be necessary to use the declared Momentum.io connector, but immediate execution of mutable remote content exceeds the minimum installation privilege necessary. A download, inspection, integrity-verification, and controlled-installation workflow would achieve the same purpose with less risk.

Attack Path

  1. A user or Agent attempts to invoke oo and receives an oo: command not found error.
  2. The Skill directs the user or Agent to execute the documented installation command.
  3. curl retrieves the current content of https://cli.oomol.com/install.sh.
  4. The pipe sends the response directly to bash, without local inspection or integrity verification.
  5. If the remote host, installer, DNS/TLS trust chain, or release pipeline has been compromised, attacker-controlled shell commands execute as the invoking user.
  6. Those commands can access resources available to that account and may establish further compromise.

Impact Assessment

...[truncated 696 chars]

Remediation
View remediation

Remediation Suggestions

Replace the pipe-to-shell instruction with a verifiable installation process:

  1. Reference a specific, immutable CLI release rather than a mutable installer URL.
  2. Download the release artifact to a local file without executing it.
  3. Publish and verify a cryptographic signature from a documented, trusted release key. At minimum, verify a hard-coded SHA-256 checksum obtained through an independently protected channel.
  4. Inspect the downloaded artifact or installer before execution.
  5. Run installation with ordinary user privileges unless a narrowly defined operation explicitly requires elevation.
  6. Document the files, network destinations, and configuration changes performed by the installer.
  7. Consider directing users to a trusted package manager with signed, version-pinned packages.
  8. If a bootstrap script remains necessary, pin it by digest and fail closed when verification fails.

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:64
Finding

Unverified Remote PowerShell Script Execution in Windows Installation Instructions

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 64
Vulnerability Type: Remote payload retrieval and immediate execution
Risk Level: Critical

Complete Code Snippet:

powershell
irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell

Technical Analysis

The Windows installation instruction uses Invoke-RestMethod (irm) to retrieve a mutable remote PowerShell script and pipes its content directly to Invoke-Expression (iex). This executes the response as PowerShell code without saving it for inspection, pinning it to an immutable release, or validating a checksum or digital signature.

The use of HTTPS does not establish the integrity of the publisher's current script if the hosting account, web service, release pipeline, or script content is compromised. Because the installer is not included in the reviewed project, its effective behavior cannot be determined from the Skill package and can change after review.

Installing the connector CLI supports the declared functionality, but direct execution through iex is not the least-risk method. The CLI can instead be distributed as a signed, versioned artifact and verified before installation.

Attack Path

  1. A Windows user or Agent attempts to use oo and finds that the command is unavailable.
  2. The Skill directs the user or Agent to run the documented PowerShell command.
  3. Invoke-RestMethod retrieves the current content of https://cli.oomol.com/install.ps1.
  4. The response is sent directly to Invoke-Expression.
  5. If the remote installer or its delivery infrastructure has been compromised, attacker-controlled PowerShell executes in the current session.
  6. The payload can access the invoking user's files and credentials, download additional components, alter the environment, or attempt persistence and privilege escalation.

Impact Assessment

Successful exploitation provides arbitrary PowerShell exe ...[truncated 626 chars]

Remediation
View remediation

Remediation Suggestions

Replace the irm | iex pattern with a signed and inspectable installation workflow:

  1. Publish a versioned PowerShell script, MSI, or package at an immutable release location.
  2. Download the artifact to disk without executing it.
  3. Require a valid Authenticode signature from a documented publisher and verify the signer before execution.
  4. Publish a release-specific SHA-256 checksum through an independently protected channel and verify it before installation.
  5. Avoid Invoke-Expression; invoke a verified local script or signed installer using explicit arguments.
  6. Use ordinary user privileges by default and request elevation only for clearly documented operations that require it.
  7. Document all expected filesystem, registry, environment, and network changes.
  8. Prefer a trusted Windows package manager source that supports publisher verification and version pinning.
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
96% confidence
Finding

The skill instructs the agent to install software via a remote script piped directly into a shell, which executes network-fetched code without verification. Because skill content is untrusted and the installation step is presented as a fallback workflow, this creates a realistic path to arbitrary code execution if the remote content, transport, or distribution channel is compromised.

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 Momentum.io request" and "Whenever a task involves Momentum.io," which is an expansive activation condition without boundaries or negative examples. That broad phrasing can overlap with many ordinary requests involving Momentum.io and may cause unintended invocation when a narrower trigger policy would be safer.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.