Back to skill

Security audit

Ollama

Security checks for vulnerabilities and agentic risk

Overview

This is a straightforward Ollama helper with disclosed local checks and optional saved setup notes, with minor privacy considerations around what users choose to store.

Install only if you want Codex-style help managing Ollama. Before enabling persistence, decide what may be written under ~/ollama/ and keep secrets, API keys, private documents, prompts, transcripts, and sensitive network details out of those notes. Do not approve remote Ollama exposure or optional cloud execution unless you understand what data leaves the machine.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (8)

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
60% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · troubleshooting.md (reported line 6)May include surrounding context.

md
## API Does Not Respond

Symptoms:
- `curl http://127.0.0.1:11434/api/tags` fails
- local apps report connection refused

Checks:

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

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

md
This skill NEVER:
- claim that every Ollama model supports the same tools, context, or JSON reliability
- recommend unauthenticated remote exposure as a default
- treat local RAG quality as solved without checking embeddings, chunking, and retrieval results
- modify its own skill files

## Related Skills

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · api-patterns.md (reported line 21)May include surrounding context.

Inspect a specific model before promising capabilities:

bash
curl -s http://127.0.0.1:11434/api/show -d '{
  "model": "MODEL:TAG"
}' | jq '{capabilities, details, model_info}'

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · api-patterns.md (reported line 31)May include surrounding context.

Prefer non-streaming when the next step needs deterministic parsing:

bash
curl -s http://127.0.0.1:11434/api/chat -d '{
  "model": "MODEL:TAG",
  "messages": [
    {"role": "system", "content": "Return one short answer."},

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · api-patterns.md (reported line 46)May include surrounding context.

Prefer non-streaming when the next step needs deterministic parsing:

bash
curl -s http://127.0.0.1:11434/api/chat -d '{
  "model": "MODEL:TAG",
  "messages": [
    {"role": "system", "content": "Return one short answer."},

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · embeddings-and-rag.md (reported line 11)May include surrounding context.

Native Embedding Check

bash
curl -s http://127.0.0.1:11434/api/embed -d '{
  "model": "embeddinggemma",
  "input": "hello world"
}' | jq '.embeddings[0] | length'

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill explicitly instructs creating a persistent ~/ollama/memory.md file and storing operational context such as environment details, model defaults, integration state, and durable notes, but it does not warn that these entries may contain sensitive local system or workflow information. In a local-model/privacy-focused workflow, users may reasonably record host details, service configuration, remote/local access patterns, or other sensitive metadata that could later be exposed through local compromise, backups, sync tools, or accidental sharing.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The activation guidance is intentionally broad, telling the skill to engage whenever Ollama, local LLMs, Modelfiles, embeddings, or local RAG are mentioned, and even to intervene proactively. This can cause over-activation outside narrowly relevant contexts, increasing the chance the skill influences conversations, gathers durable context, or steers decisions when the user did not clearly request it.

Content

No source excerpt is available for this finding.