Course contentModule 1 · Lesson 2
Module 1 · Lesson 2
The security situation, framed honestly
You frame the real security situation of a self-hosted assistant honestly, as the calm rationale behind later hard defaults, not alarm.
MODULE 1 / SECURITY SITUATION
What we are talking about
You are building something that did not exist in your life before: an assistant running on your own server around the clock, reachable from anywhere. That is a good step. It does have a downside that most tutorials stay quiet about, and this is where we clear it out of the way before it becomes a problem.
This lesson does one thing: it shows you honestly what the security situation looks like around self-hosted assistants like this one. Not to alarm you, but so you understand why the next modules insist so firmly on clean default settings. If you take away one sentence from this lesson, you have hit the goal. That sentence is: never open, always current.
The unlocked workshop on a busy street
Imagine you have a small workshop. Inside are your tools, your documents, maybe also things belonging to clients you are currently working on. As long as that workshop sits in your backyard and only you have a key, you are not particularly worried.
When your assistant is reachable over the open internet, what that means in plain terms is: this workshop is no longer in your backyard. It is now on a busy street, and the door is unlocked. Anyone walking past can try the handle. Being reachable over the open internet means exactly that, your server has an address that anyone in the world can in principle reach, not just you.
That is not a disaster, it is a fact about the situation. A workshop on the street is not a bad thing. It is simply a place where you cannot rely on luck. And the key difference from a real street is this: on the internet nobody wanders past by chance. Automated programs drive past every address continuously, trying every door handle without any particular intent toward you. They simply sweep everything reachable, looking for whatever is open.
Who is actually rattling the handle
You do not need to picture this as a person with malicious intent specifically targeting you. These are programs that systematically comb through the open internet around the clock, the way someone might walk down an entire street and try every door once, only doing it millions of times over, automatically.
When one of these programs finds an open, unsecured door, it tries to see what lies behind it. And here an assistant deserves more caution than an ordinary website. An assistant cannot only write text, it can act: read files, run commands on the server, send messages. If it gets taken over, someone has not just captured a chat window, they have captured a helper with hands on your server. What lies behind the open door is not an empty room, it is access to your tools and your data.
Exactly how many assistants like this are sitting open on the internet cannot be stated to the last digit, and any specific figure goes stale quickly. Security firms that scan the network for openly reachable services consistently find large numbers of them. If you want to know the current state, look it up yourself at a credible primary source rather than trusting a number at second hand. The number itself is not the point anyway. The point is: you are not alone in this situation, and it is widespread, not exotic. That is precisely why we treat a clean door not as a bonus but as a requirement.
Two ways a door comes open
There are roughly two paths by which an unsecured workshop becomes a problem, and both are worth looking at calmly.
The first path is the broken door. Sometimes the software itself has a flaw through which someone from outside can take control, even without a key. The most dangerous variety is called RCE, short for Remote Code Execution, a vulnerability through which an outsider can run their own code on your server from a distance. Anyone who achieves that is effectively sitting at your keyboard. Vulnerabilities like this are regularly discovered and then closed for self-hosted assistants of this kind, the developers release a new, patched version. A known vulnerability gets an official number, a CVE, under which it is publicly tracked so everyone is talking about the same issue, along with a severity rating that indicates how urgently it needs to be fixed. Which specific vulnerability currently applies to your tool is best checked yourself in the official registry; the principle holds regardless of the specific number. This is exactly where the second half of our guiding sentence comes in: always current. Running an old version means leaving a door open that is already known to have a broken lock.
The second path is the planted instruction. An assistant is built to follow instructions. When it reads text from the internet or from extensions written by others, those texts can contain a hidden command that the assistant treats as a genuine instruction. This is called prompt injection, a planted command that hijacks the assistant and makes it do things you never wanted. It is as if someone slipped a note into your job folder, and your diligent, trusting team member processes it because they cannot tell who the note came from. This becomes especially sensitive with extensions you add to the assistant from outside, often called skills: small building blocks that give it new capabilities. Every third-party skill is unverified input, because "found on the internet" is not a trust certificate. That is why we later treat everything that enters the assistant from outside as untrusted by default.
Caution: The one thing you already know now
If you take only one thing away from this lesson, take this: an assistant should never be placed openly on the internet, and it should always be kept up to date. Everything that follows in the next modules is simply the clean implementation of these two sentences. You do not need to be able to act on them today, you only need to understand that they are the reason behind every strict default setting.
Why this is no reason for panic
Now the calm part, because the situation sounds worse than your actual circumstances are. The entire security situation described above applies to assistants that are sitting open and unmaintained on the internet. That is the unlocked workshop on the busy street. What you are building here is exactly the opposite.
In the next modules you will set up your assistant so that it is not even standing on the busy street in the first place. It will get a door that only you can open, and you will learn how to keep it current. The automated program sweeping down the street will simply find no handle to try. It moves on to the next open door, and that is not yours.
That is the actual reason this course works the way it does. Other tutorials teach you how to build the workshop and leave you with an open door. Here the locked door is part of the blueprint from the start, not something you are supposed to think about later. You do not need to become a security expert. You just need to follow the default settings we put in place step by step.
Assess your own situation
Before you read on, make the situation concrete for yourself. The following prompt walks you through a few honest questions and tells you how exposed your planned setup would be. Copy it into your AI tool.
I am planning a self-hosted assistant on my own server that should be
reachable over the internet. Ask me these questions one at a time and
give me a calm, honest assessment at the end of how exposed my planned
setup would be and what I should pay particular attention to:
1. Should the assistant be reachable from the internet over an open
port directly, or only through a private, closed network?
2. Do I plan to install updates regularly and deliberately, or will
the version just keep running as it was installed?
3. Do I want to load extensions or skills from the internet without
reading and reviewing them first?
4. Will the assistant have access to real, third-party personal data,
or only to my own test data?
For each answer, explain briefly why it raises or lowers the risk.
Do not judge me, just frame it.
If one of the questions gives you a slightly uneasy feeling, that is not a bad sign. It means you have understood the situation. Exactly these points are what the next modules clear away, one by one.
Knowledge Check
The honest assessment
Be skeptical toward any specific number you encounter on this topic, including numbers from sources that seem reputable. How many assistants are currently sitting open and which vulnerability is current right now changes constantly and is outdated within weeks. Never treat such figures as proof of danger, treat them as a prompt to look up the current state at a primary source yourself. What does not go stale is the principle underneath, and that is all you are building on: never open on the internet, always kept current, everything from outside treated with caution.
Just as honestly: no setup promises one hundred percent security. We are reducing the risk to a calm, manageable level by closing the open door and keeping it closed. That is achievable, and it is enough for an assistant you can run with a clear conscience. Anyone selling you absolute security is selling you something that does not exist.
One more limit: this lesson frames the situation, it does not yet secure anything. You now have the why. The how comes next. In Module 2 you set up your own server, a VPS, a rented virtual computer that runs around the clock for you, with the right default settings from the very first minute. In Module 3 the actual hardening follows, the careful locking of every individual door.