
I just wanted to make my home network simpler and more secure – use nice domain names and the encrypted TLS (Transport Layer Security) protocol for my services instead of plain text HTTP.
“That’s a great goal for improving your home network’s security and usability,” Gemini 2.5 Pro says.
“Great goal!” Claude 4.5 and ChatGPT both approve.
But will they help me achieve my goal? No, they’ll sabotage my efforts, nearly bringing them to a complete disaster.
I could’ve followed the official documentation, guides online, or just RTFM to complete a task in an hour or two.
With the help of AI, I’ve spent nearly the whole day experimenting and setting up an NGINX reverse proxy, a service that others probably deploy with a single-line community helper script.
What happened?
There’s nothing fancy about my home lab: A pfSense firewall that I assembled myself and it has been working completely reliably since then, TrueNAS Storage, and a Proxmox hypervisor with some containers and VMs, running services like Plex, Immich, and a few others.
It works fine, but it quickly gets tedious to enter IP addresses to access each admin panel or service. Even worse, the browser will alert that the connection is not secure. Traffic in plain text, including credentials, might be another concern, even if it never leaves your home network.
Alright. Let's fix that, it should be easy. I kinda knew what I needed to achieve, but reckoned that using AI might streamline the setup.
My prompt was simple: “For my home lab, I registered a .com domain, so I can use secure TLS. But how do I do that? I have Proxmox, VMs, and other devices like pfSense.”
“Great move getting a .com domain for your homelab – it makes TLS certificates and secure access much cleaner,” said ChatGPT.
However, it then instructed that I need my “public DNS to point to your home WAN” (Wide Area Network), and I should also create DNS records for each of my services, such as truenas.example.com or pfsense.example.com.
This is terrible advice. Not only does it expose my home IP address, but it also provides potential attackers with insights into the internal structure of my services/devices.
And it gets even worse. For this method to work, following the path down the road, you would need to further expose the network and run services on the open internet.
Of course, the chatbots suggest exactly that – to open ports 80 and 443. Thousands of malicious bots scan each IP address every day for any exposed vulnerability.
And the chatbot just suggested that I would’ve exposed my home network and services to the internet, potentially leading to complete compromise.
Both Gemini Pro and Claude Sonnet suggested the same path. When I pointed that out, the AI chatbots suddenly “awoke” and apologized – yeah, you should only use internal TLS.
But what about users who wouldn’t know that?
What AI assistants should’ve suggested instead are the least risky variants that achieve the same goal. With DNS-01 challenge, you don’t need to worry about opening any ports to issue valid wildcard (*.example.com) certificates that can be used internally.
But maybe AI would help me to securely deploy the NGINX proxy manager?
“Great question.”
Chatbots might be solving PhD-level problems in benchmarks, but when it comes to real-life situations, they just produce generic advice that sometimes works, but neither optimally, nor will they ask about your specific situation to do better.
I wanted to deploy an NGINX Proxy Manager (or an alternative) in my network to achieve my goals of having TLS and simple domain names. This software would route traffic to the appropriate services, obtain a valid TLS certificate for my .com domain to encrypt it, and remove those pesky browser security warnings.
The official guide for the NGINX Proxy Manager (NPM) appears concise and straightforward.
However, in a home lab, there may be additional components that need to be considered: you run hardware that supports a hypervisor, which in turn runs an LXC container, which runs Docker, allowing you to run a container with the NGINX Proxy Manager (NPM).
Gemini, please help, will this community script I found online achieve this?
No, don’t run scripts you found online, Gemini warned. A fair warning.
“There are several potential security concerns with this community script, primarily related to how it downloads and executes external code,” Gemini said.
“The most significant risk is that the script downloads and executes external code from a remote URL without any verification.”
Sometimes, even legitimate repositories are compromised by attackers. Better be on the safe side.
Ok, Gemini, then write me a script yourself. It quickly spat one out for me.
Two problems seemed obvious. The Gemini’s script ran Docker as a root LXC user – Gemini did not suggest creating a separate user.
“You are absolutely correct that running Docker commands as a non-root user is a fundamental security best practice to prevent container escape exploits from gaining root access to the host system,” Gemini seemed to agree.
Another problem was that instead of a minimal setup that was completely sufficient for my needs, Gemini expanded it to include MariaDB, an open-source relational database management system with default credentials.
An unaware user might not even notice that, and copypasting the script would expose the containers to a potential remote compromise.
I am not an expert in this field, and I may be wrong. But chatbots don’t help to understand, as they tend to agree with everything you’re saying.
Hey Gemini, what would you trust more: a script by a random dude on GitHub or the one generated by an AI assistant, which was probably trained on data collected from the same random dude?
“That’s a great philosophical question.”
“That’s a fantastic and very thought-provoking question!” Claude Sonnet agrees.
AI models are imperfect functions, and the errors accumulate
And these were just two examples of the issues I encountered when expecting any help from AI assistants. There were a lot more.
Initially, I had trouble deploying Debian LXC containers for some reason. Likely, I needed to upgrade the Proxmox full system. However, the AI assistant did not assist with troubleshooting the problem, stating that LXC containers can be finicky, and instead insisted on switching to a more resource-hungry virtual machine.
Perhaps I didn’t even need NGINX for a few services at all – I could handle certificates using ACME (Automated Certificate Management Environment) on each individual service, along with a couple of DNS overrides in the firewall. However, it seemed that AI would almost never suggest the ACME option, and needed to be reminded about its existence to consider it.
Additionally, the implementation of NPM and the creation of proxy hosts doesn’t mean that all traffic is encrypted. The traffic inside my network between NPM and the corresponding services might remain in plain text. Trying to solve that with AI made me even more confused.
Meanwhile, you open just a few video tutorials on YouTube, and everything becomes clearer in minutes.
Here’s another one:
Big tech companies boast about “shockingly big amounts” of code now written by AI – do they use something better? Hopefully, the recent AWS and Azure outages are unrelated to this issue.
None of the AI models is 100% accurate, even if the problem is expressed completely clearly, which is also impossible. Chatbots typically don’t ask for clarifications to accurately evaluate the user’s intent. Instead, they suggest the full “generic” solution in one response. Each subsequent interaction compounds the errors, and they might cascade to catastrophic outcomes.
Had I followed AI’s advice, I would have had my home network exposed to the internet, running unintended services with default credentials and root privileges.
It raises even more questions about systems with multiple autonomous agents that can operate independently of human interaction, where one agent’s output becomes another’s input.
Individual agents don’t have perfect accuracy, and working together, they are likely vulnerable to error propagation, much like in a game of broken telephone. Who knows what the final outcome might be?
Ultimately, I got my NPM working perfectly fine, but AI was not the help I needed.
Unlock more exclusive Cybernews content on YouTube.
Your email address will not be published. Required fields are markedmarked