Skip to main content
← Back to Now Watching

Local AI privacy: Kai's five fixes before you trust Ollama with shell access

After this one you can audit your own local AI setup in an afternoon: which port to close, which models stay away from tools, and where to move secrets before a local agent touches your project folder.

Local AI privacy: Kai's five fixes before you trust Ollama with shell access

Source

Creator: Kai
Duration: 26 min

Chapters

0:00Running local AI is not as private as you think
1:43Why local AI feels private
4:07The 5 layers of a local AI setup
5:05Executes vs instructs: what model scanners miss
5:52Layer 1: Hugging Face malware (fake OpenAI repo)
7:31A fake Ollama download for macOS
8:06Layer 2: chat templates are code
9:26Hidden backdoors in chat templates
11:06Layer 3: Bleeding Llama Ollama vulnerability
12:23Ollama's Windows auto-updater flaw
13:37Layer 4: OLLAMA_HOST=0.0.0.0
14:11175,108 exposed Ollama servers
15:31Your browser is inside your firewall
16:24NemoClaw: one webpage poisons your model
17:18Layer 5: the $8 ProjectDiscovery AI backdoor
19:21Sleeper agents: backdoors survive safety training
19:47Abliterated and uncensored AI models
20:40The honest picture: 24 of 130,592
21:47What your local AI agent can reach
22:265 local AI security fixes
24:24Is local AI still worth it?

Workflows

Harden a local AI stack before shell or .env access

1) Map what the agent can reach (runner, models, tools, folders). 2) Confirm the runner binds to 127.0.0.1 only (not 0.0.0.0). 3) If containerized, publish the port to loopback only. 4) For remote access use Tailscale or an authenticated proxy; enable Require Authentication in LM Studio. 5) Update the runner from the official site. 6) Split models into chat-only vs tools. 7) Read chat templates on anything that gets tools. 8) Move .env, SSH keys, and cloud credentials out of reach. 9) Split command execution from network access and log the handoff. 10) Write the result down and re-check when tools or models change.

Vet a new model before it touches your tools

1) Check the publisher, not the download count. 2) Reject model cards that ask you to run an installer script. 3) Diff the chat template against upstream. 4) Run chat-only first with no tools, mounts, or network. 5) Promote to tools only into a secret-free, split sandbox.

Tools & Links

Ollamahttps://ollama.com/

Local runner. Keep on 127.0.0.1 and keep it updated.

LM Studiohttps://lmstudio.ai/

Turn on Require Authentication.

Tailscalehttps://tailscale.com/

Encrypted device-to-device access so you do not need 0.0.0.0.

Hugging Facehttps://huggingface.co/

Where most weights and templates come from. Check the publisher.

ProjectDiscovery: abliterated modelshttps://projectdiscovery.io/research/how-abliterated-models-can-get-you-pwned

Research Kai cites.

Anthropic: small samples poisonhttps://www.anthropic.com/research/small-samples-poison

Research Kai cites.

Always / Never

Always

  • ✓Keep your runner on 127.0.0.1. Use Tailscale or an authenticated proxy when you need it from another device.
  • ✓Update the runner before you update the model.
  • ✓Use official weights for anything that gets a shell, files or network.
  • ✓Treat chat templates as code and read them.
  • ✓Keep the process that runs commands separate from the one that talks to the internet, and log the handoff.
  • ✓Write down what your agent can reach, and update that list when the setup changes.

Never

  • ✗Never leave OLLAMA_HOST=0.0.0.0 running with no auth in front of it.
  • ✗Never leave .env files, SSH keys or cloud credentials where the agent can read them.
  • ✗Never treat "it passed the Hugging Face scan" as clearance for a model with tools.
  • ✗Never give an abliterated or unknown model shell, network and secrets in the same sandbox.
  • ✗Never assume "local" means "private" once the model can act.

Our Take

This is one of the most useful security videos we've seen for teams running AI on their own hardware, and it doesn't lean on fear to get there. Kai starts by admitting he got it wrong. He's fair to the reasons people go local, and he ends by saying local is still the right call for him. That's the tone we want our teams to take in too.

What matters most for a working team: layers 4 and 5. A port left open "just to test from my phone" and an agent with your .env in its working folder are the two mistakes we'd bet are sitting on someone's machine right now. Both are free to fix. Neither needs a security team.

What to keep in proportion: the backdoored-model research is real and worth knowing, but Kai is honest at 20:40. Pillar Security's scan found 24 dangerous chat templates out of 130,592, and all 24 were research artifacts. The weights attacks show what's possible, not what's in your downloads folder today. Don't spend your afternoon worrying about sleeper agents. Spend it closing the port and moving the secrets, because those cut off the damage whatever the model does.

What we'd skip: don't take this as a reason to move everything back to the cloud. Kai covers that at 22:06. A backdoored model with shell access does the same damage on a rented server. The fix is to limit reach, not to pick a different location.

A note on the numbers: the stats here (175,108 exposed servers, trigger rates, poisoning ratios) come from the research Kai cites. We link the sources so you can read them yourself. We haven't reproduced them, and you should check versions and settings against your own install, not against a video.

If you run a team: pick one person, give them the harden workflow above, and block an afternoon. That costs a lot less than rotating every API key you own.

Get in Touch

Want to build something innovative? Let's talk about your next project.

Contact Us

Join The Dispatch

10 AI signals that matter for your business. Every week. No hype.