Back to skill

Security audit

SearXNG Local Search

Security checks for vulnerabilities and agentic risk

Overview

This is a straightforward local SearXNG search skill, with a Docker image pinning weakness users should harden before relying on it.

Before installing, pin the SearXNG image to a reviewed version or digest and bind the service to 127.0.0.1 if it is only for local use. Review the SearXNG configuration because search queries will still be sent to the configured upstream search engines.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:106
Finding

Unpinned Executable Container Dependency

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 106
Vulnerability Type: Unpinned third-party container image
Risk Level: Medium

Vulnerable Code

bash
docker run -d --name searx -p 8888:8080 -v /tmp/searxng/settings.yml:/etc/searxng/settings.yml:ro searxng/searxng

Technical Analysis

The documented command downloads and executes the searxng/searxng container image without specifying either a fixed version tag or an immutable image digest. Consequently, the image resolved by this command can change between executions, and the reviewed behavior is not reproducible.

If the mutable image reference or its registry distribution path is compromised, following the documented container recreation procedure could execute substituted code. This is a supply-chain risk rather than evidence that the current SearXNG image is malicious.

Attack Path

  1. An attacker compromises the mutable image, its publishing account, or the relevant registry distribution path.
  2. The attacker publishes a modified image under the reference searxng/searxng.
  3. An operator follows the documented recreation command.
  4. Docker resolves and downloads the modified image.
  5. Attacker-controlled code runs inside the newly created container and exposes a service through host port 8888.

Impact Assessment

Successful exploitation permits attacker-controlled code execution within the container's effective privileges and isolation boundaries. The malicious process could read the mounted SearXNG configuration file, expose a hostile service on host port 8888, access services reachable from the container network, and misuse any capabilities granted by the container runtime. No host-privileged mode or writable host-directory mount is specified, which limits the directly demonstrated scope.

Remediation
View remediation

Remediation Suggestions

Pin the container image to a reviewed immutable digest rather than relying on a mutable repository reference:

bash
docker run -d --name searx \
  -p 127.0.0.1:8888:8080 \
  -v /tmp/searxng/settings.yml:/etc/searxng/settings.yml:ro \
  searxng/searxng@sha256:<verified-image-digest>

Establish a controlled dependency-update process that verifies image provenance and signatures, reviews release changes, records the approved digest, and tests the image before updating the documentation. Binding the published port to 127.0.0.1 also prevents unintended access from external network interfaces when only local use is required. Additional container hardening should include dropping unnecessary Linux capabilities, enabling a read-only root filesystem where compatible, and running as a non-root user.

Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The skill instructs users to run searxng/searxng without a version tag or immutable digest, which means future executions may pull a different image than originally reviewed. This creates a supply-chain risk: a compromised, malicious, or simply breaking upstream image could be deployed unexpectedly with little visibility or rollback certainty.

Content

No source excerpt is available for this finding.