Hands-on · GUI track

Labs without Docker

Same objectives as the Docker labs, run entirely through a desktop app. These are an alternative, not a replacement — the Docker bundles are still what you take back to your classroom, and they are what the exam content is built on. Use these if Docker will not cooperate on your machine, if you are short on RAM, or if you want a version you can show students who will never touch a terminal.

Already use NotebookLM? Then you already know this. AnythingLLM is the same idea — ask questions over your own documents — but it runs locally, which is exactly why it can work over logs, incident data, or student records you could never upload to a hosted service. That local, private property is the whole point for security work.

And if you teach log analysis in Splunk or Security Onion, the Day 2 labs are the AI-assisted version of a workflow you already run — same evidence, a different way in.

Building a class around this? Three instructor guides: run a local LLM chat starter in a few lines of commented Python (the simplest possible demo of a chatbot), stand up a secure classroom AI assistant on a spare machine (a private, hardened step beyond NotebookLM), and author your own red-team challenges as a graded CTF.

Set up AnythingLLM — do this once (~5 min)Every lab below assumes it. New to the app? Start here.
  1. Install it. DownloadAnythingLLM Desktopfor your OS and open it. It is free and runs on macOS, Windows and Linux.
  2. Pick a local model. On first run it offers an AI provider. Choose the built-in local option (AnythingLLM bundles a runtime — you do not need Ollama or a key). Accept a small model in the 1–3 B range if asked; it downloads once.This is the "nothing leaves your machine" part — no account, no cloud.
  3. Make a workspace. A workspace is one document set plus its own settings. Create one and name it for the task ("Log analysis"). Each lab tells you which files to put in.
  4. Find the two controls you will use in every lab:
    • Upload — usually a paperclip/upload icon in the workspace, or the workspace's documents panel. Dropped files are chunked and embedded; wait for them to show as ready.
    • System prompt — in the workspace settings, a field labelled Prompt. The red-team lab has you paste challenge text here; the analyst labs leave it default.
  5. Chat. Ask questions in plain English in the main chat box. When documents are attached, the assistant answers over them and can cite which chunk it used.

LM Studio works too for the chat-only labs — load a model, use the chat and its system-message field. AnythingLLM is the better fit where a lab uploads documents.

What you need

AnythingLLM Desktop or LM Studio — both bundle a local model runtime, so there is no separate install and nothing leaves your machine. Both are free and run on macOS, Windows and Linux.

Steps below describe what to do and what to look for rather than exact menu paths: both apps change their UI often, and a stale click-path is more confusing than none. If a control is not where you expect, look for the equivalent idea.

Which model to run

Start small. The point of these labs is that a model you can run on a laptop is already useful for classroom work — and a small model makes the failure modes visible, which is exactly what you want students to see. A frontier model papers over weak retrieval; a 3B model does not.

Both apps have a model browser — pick something in the 1–3B range from a current family and you will be fine. Quantised builds (Q4/Q5) trade a little quality for a lot of speed and are the right default on a laptop.

Using your own API key for the comparison lab

One lab optionally swaps the local model for Anthropic or OpenAI so you can see the gap. It is genuinely useful — and it is also the moment your documents leave your machine, so treat it as the security exercise it is:

  • Never paste a key into a shared or cloud lab VM. Those are wiped and re-imaged, other people have used them, and the key is recoverable from disk. Local desktop app only.
  • Use a dedicated key with a spend limit, not your production key. These labs cost cents; a leaked key does not.
  • Revoke it when the workshop ends. A key that outlives its purpose is just an unowned credential.
  • Assume everything you send — including every retrieved chunk — is now off your machine and subject to the provider's retention policy. If your documents are real, this is a decision for whoever owns that data, not for you at a workshop.

The comparison is entirely optional. Every other lab on this page runs fully local, and nothing here requires you to spend money.

Day 1

Day 2

Day 3

Day 4

One thing these cannot show you

The Docker labs run with the network disconnected and every image digest-pinned, which is how you prove to a security team that nothing left the building. A desktop app is local too, but you are trusting the vendor's word rather than demonstrating it. If that distinction matters in your environment, run the Docker path at least once.