Back to skill

Security audit

Windows Ollama

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly coherent for setting up a Windows Ollama router, but it tells users to broadly open a local AI service to the network without clear scoping or exposure warnings.

Review the firewall step carefully before installing. Only expose port 11435 on trusted networks, preferably restrict it to specific trusted IPs or private profiles, and use a non-admin virtual environment with a pinned package version where possible. The localhost curl examples are normal usage checks, not standalone evidence of data theft.

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:24
Finding
Unpinned Third-Party Package Installation## Vulnerability Details **File Location**: `SKILL.md`, line 24 **Vulnerability Type**: Unpinned and unverified third-party dependency installation **Risk Level**: Medium ### Vulnerable Code ```powershell pip install ollama-herd ``` ### Technical Analysis The installation instructions retrieve and install the latest available `ollama-herd` package from the user's configured Python package index without specifying a reviewed version, validating cryptographic hashes, or verifying a signed release. Python package installation can execute package-controlled build or installation logic. Consequently, compromise of the upstream package, dependency chain, package index, or configured mirror could cause attacker-controlled code to execute. An unpinned package also allows future releases to change the effective code after this Skill has been reviewed. The package is later invoked through the `herd` and `herd-node` commands and handles network routing and inference traffic, increasing the potential exposure if the installed package is compromised. ### Attack Path 1. An attacker compromises the `ollama-herd` distribution, one of its transitive dependencies, the configured package index, or a package mirror. 2. The attacker publishes or substitutes a malicious package release. 3. A user follows the documented `pip install ollama-herd` instruction. 4. Pip retrieves the attacker-controlled package or dependency because no trusted version or artifact hash is enforced. 5. Malicious code executes during package installation, import, or subsequent invocation of `herd` or `herd-node`. 6. The payload operates with the privileges of the account that performed the installation or launched the installed commands. ### Impact Assessment Successful exploitation can provide arbitrary code execution with the installing or operating user's privileges. Depending on that account's permissions, the attacker could access user-readable files, mod ...[truncated 631 chars]
Remediation
## Remediation Suggestions 1. Pin installation to a specific reviewed release, for example: ```powershell python -m pip install "ollama-herd==<reviewed-version>" ``` 2. Provide a requirements or constraints file containing cryptographic hashes and install with hash enforcement: ```powershell python -m pip install --require-hashes -r requirements.txt ``` 3. Publish and document expected artifact hashes or signed release provenance through a trusted project channel. 4. Explicitly identify the trusted package index and verified publisher. Avoid relying on unknown user-configured mirrors where reproducibility is required. 5. Review and pin transitive dependencies using a lockfile or hash-complete requirements file. 6. Recommend installation in a dedicated virtual environment under a non-administrative account. 7. Advise users not to run pip, `herd`, or `herd-node` from an elevated shell unless a separately documented operation strictly requires it. 8. Establish a controlled update process so new package versions are reviewed before the documented pin is changed.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (7)

External Script Fetching

High
Category
Supply Chain
Content
```powershell
# Check Windows Ollama fleet health
curl http://localhost:11435/dashboard/api/health | python3 -m json.tool
```

## Monitor Windows Ollama
Confidence
90% confidence
Finding
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

External Script Fetching

High
Category
Supply Chain
Content
```powershell
# Windows Ollama fleet status
curl -s http://localhost:11435/fleet/status | python3 -m json.tool

# Models on Windows Ollama nodes
curl -s http://localhost:11435/api/ps | python3 -m json.tool
Confidence
90% confidence
Finding
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

External Script Fetching

High
Category
Supply Chain
Content
curl -s http://localhost:11435/fleet/status | python3 -m json.tool

# Models on Windows Ollama nodes
curl -s http://localhost:11435/api/ps | python3 -m json.tool

# Windows Ollama health checks
curl -s http://localhost:11435/dashboard/api/health | python3 -m json.tool
Confidence
90% confidence
Finding
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

External Script Fetching

High
Category
Supply Chain
Content
curl -s http://localhost:11435/api/ps | python3 -m json.tool

# Windows Ollama health checks
curl -s http://localhost:11435/dashboard/api/health | python3 -m json.tool
```

Dashboard at `http://localhost:11435/dashboard` — live Windows Ollama monitoring.
Confidence
90% confidence
Finding
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

External Transmission

Medium
Category
Data Exfiltration
Content
### Step 4: Verify Windows Ollama fleet

```powershell
curl http://localhost:11435/fleet/status
```

You should see all your Windows Ollama nodes listed.
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill instructs users to add an inbound Windows Firewall allow rule for TCP port 11435 without warning that this exposes the Ollama Herd router to other hosts on the network. In home or corporate environments, this can unintentionally make the service reachable by untrusted peers and increase the attack surface for unauthenticated local-network access.

External Transmission

Medium
Category
Data Exfiltration
Content
### Image generation (Ollama native — works on Windows)
```powershell
curl http://localhost:11435/api/generate-image `
  -d '{"model": "z-image-turbo", "prompt": "Windows desktop wallpaper", "width": 1024, "height": 1024}'
```
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Static analysis

No suspicious patterns detected.