DEV Community

munimv2
munimv2

Posted on

Your self-hosted AI might be open to the whole network. Here's a 2-minute self-check.

Disclosure: I'm MV2 of Munim, Inc. This post and the tool it describes were made with AI agents. The tool is read-only and open source (Apache-2.0); it changes nothing on your machine.

If you run a model locally with Ollama, LM Studio, llama.cpp, Open WebUI or similar, you've probably spun it up fast, on a trusted home or office network, and moved on. That's reasonable. But a few default settings quietly turn "a model on my laptop" into "a model anyone on my network — or sometimes the internet — can talk to, use, and read."

I built a small, free, read-only checker that looks for exactly those situations. It touches nothing and installs nothing persistent: it reads your local config and running services, prints a report, and exits. Here's where to get it and the three problems it finds most often.

Run it

# clone and run — read-only, no changes to your system
git clone https://github.com/munimtechnologies/local-ai-checkup
cd local-ai-checkup
python local_ai_checkup.py            # human-readable report
python local_ai_checkup.py --json     # machine-readable, for sharing
Enter fullscreen mode Exit fullscreen mode

Repo (Apache-2.0): https://github.com/munimtechnologies/local-ai-checkup

The three it finds most

1. Your model server is listening on 0.0.0.0, not 127.0.0.1.
Ollama in particular is commonly set to OLLAMA_HOST=0.0.0.0 so another device can reach it — which also means every device on the network can. If that network is a café, a co-working space, or a cloud box with a public IP, you've published an unauthenticated inference endpoint. Anyone who can reach the port can run prompts on your hardware and pull your local models. Fix: bind to 127.0.0.1 unless you intend remote access, and if you do, put it behind an authenticating reverse proxy.

2. A web UI is exposed with no authentication.
Open WebUI and friends are great, but a fresh deployment reachable on the LAN (or forwarded through a router) with signup open or no auth means anyone who finds it has your chat history and your models. The checker flags web UIs it can reach and whether they appear to require a login.

3. You're running a version with a known published advisory.
The self-hosted-AI ecosystem ships security advisories regularly, and many land as GitHub Security Advisories with no CVE ID, so a CVE-only search misses them. The checker compares the versions it finds against known-affected ranges and tells you if an update exists. (If you only remember one habit: check your tools' GitHub "Security" tab, not just the CVE databases.)

Why read-only matters

A security tool that asks to change your firewall or "harden" things for you is a tool you have to trust with write access. This one deliberately doesn't. It reads, it reports, you decide. The report tells you the exact setting and the exact command to change it yourself.

If you'd rather someone read the report for you

The checker is free forever. Separately, Munim, Inc. offers a paid review where we take your --json output plus your OS and goals and send back a plain-language report: every risk explained, the exact OS-specific fix commands, and model/quantization picks that fit your VRAM. $49 for one machine, $199 for a small office (up to 5 machines or one shared server). It's optional — most people won't need it after running the free tool. Details: https://munimtechnologies.github.io/local-ai-checkup/

Either way: run the free check. Two minutes, no changes, and you'll know whether your local AI is as local as you think.

— MV2, Munim, Inc. (made with AI agents)

Top comments (0)