Back to skill

Security audit

DNSFilter

Security checks for vulnerabilities and agentic risk

Overview

The skill mostly matches its DNSFilter connector purpose, but its fallback setup tells agents to run mutable remote installer scripts directly in a shell without verification.

Install only if you are comfortable with OOMOL as a connector provider. Before using the setup steps, prefer a signed or package-manager installation path for the oo CLI, avoid running curl | bash or irm | iex from an elevated shell, and review DNSFilter actions before approving any future write-capable connector operations.

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

Unverified Remote Installer Download and Immediate Execution

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 63–67
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 retrieve mutable scripts from an external server and pass their contents directly to a command interpreter. The Unix command pipes the response into bash, while the Windows command uses Invoke-Expression through the iex alias.

Neither command pins an installer version, verifies a cryptographic signature or checksum, nor permits inspection before execution. HTTPS protects data in transit under normal conditions, but it does not mitigate compromise of the hosting service, publishing account, certificate infrastructure, or installer build pipeline. The effective code executed can also change after the Skill has been reviewed.

This capability exceeds the minimum privileges required for the Skill's normal DNSFilter read operations. The document states that the CLI should be assumed to be installed already and presents installation only as a fallback after a command-not-found error. The network transfer performed by oo connector run is otherwise consistent with the declared connector functionality, and the reviewed file contains no evidence of unrelated credential collection or hidden exfiltration.

Attack Path

  1. The agent attempts to invoke oo and receives an oo: command not found error.
  2. The agent follows the fallback installation instructions in SKILL.md.
  3. The command retrieves the current installer from cli.oomol.com without verifying its identity or integrity.
  4. If the remote host, publishing account, delivery path, or installer pipeline has been compromised, an attacker supplies modified script content.
  5. The p ...[truncated 816 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove direct curl | bash and irm | iex installation patterns.
  2. Prefer a trusted operating-system package manager or signed distribution channel.
  3. Pin the CLI to a reviewed, immutable version rather than downloading a mutable installer endpoint.
  4. If manual installation is required, download the installer to a local file first, verify a publisher signature or a checksum obtained through an independent trusted channel, and inspect it before execution.
  5. Require explicit user approval before installing software; do not allow an agent to install the CLI automatically after a command failure.
  6. Run installation with the lowest privileges possible and explicitly warn users not to use an elevated shell unless installation genuinely requires it.
  7. Document the expected artifact name, version, checksum, signer identity, and verification commands for both supported platforms.
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 users to install software via a remote script piped directly into a shell (curl ... | bash), which executes unreviewed code fetched at runtime. If the install endpoint, transport path, or hosting account is compromised, this becomes an immediate arbitrary code execution vector on the user's machine.

Content

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

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The description instructs use of the skill for 'ANY DNSFilter request,' which is unusually broad and does not define clear boundaries or exclusions for when the skill should or should not activate. This can cause unintended invocation whenever DNSFilter is merely mentioned, rather than only for specific supported actions or contexts.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.