Lion Cipher Lab

Triage a malware sample's strings with a local LLM — then verify what it tells you

Why it matters

When a suspicious file lands on your desk, one of the fastest first moves is to pull its human-readable strings — URLs, registry keys, API names, a mutex, a config blob — because they hint at what the thing does before you ever run it. But a raw dump of hundreds of strings is a wall of noise, so the obvious 2026 move is to paste it into a language model and ask 'what is this?' That genuinely works as a triage draft: the model groups the mess into C2, persistence, anti-analysis and capabilities in seconds, and explains an API you have never seen. The trap is that a language model is a text…

What you'll learn

Steps in this lab

  1. What strings are, and why they are the fast first look — and its limits
  2. Get strings SAFELY — the graded path never runs live malware
  3. See real extraction: strings and FLOSS on a benign binary
  4. Install Ollama and a small local model — and why local is non-negotiable here
  5. Triage the strings with the model — group, explain APIs, flag IOCs
  6. Verify claim 1 — do the APIs mean what the model says? Check Microsoft's docs
  7. Verify claim 2 — is each 'IOC' actually in your strings? Catch the invention
  8. Verify claim 3 — do the ATT&CK IDs exist? Then measure what survived
  9. The judgment: when to trust strings triage by LLM — and when it lies to you

Open the full interactive lab →