Lion Cipher Lab

Audit your security eval's answer extraction and measure how much score the parser invents (deterministic stub models)

Why it matters

Security teams choose models from multiple-choice evals: which one maps behaviour to ATT&CK tactics best, which one picks the right CWE. Those scores come from a model writing free text and a few lines of code pulling 'the answer letter' out of it. When that code is naive it can give a model credit for a hedge, read the 'A)' at the top of its reasoning as its answer, or score a correct model zero because it wrapped the letter in bold. Hugging Face found the same MMLU benchmark scored LLaMA 65B at 0.637 or 0.488 depending only on how the answer was read and scored. If you never measure your…

What you'll learn

Steps in this lab

  1. The words first: eval, answer key, answer extraction, parser, unparseable - and the fact that the models here are STUBS
  2. Open a terminal, check Python, and make a scratch folder (Windows, macOS, Linux)
  3. Build 300 answer-keyed ATT&CK-tactic items
  4. Meet the five STUB models and the five response styles they write
  5. Write four parsers, from naive to careful
  6. Score 5 models x 300 items with every parser, and watch five leaderboards appear
  7. Read the two failure modes: the parser that invents score and the parser that hides it
  8. Honest negative one: the careful parser still misreads, and it does it silently
  9. The fix, part one: constrain the format in the prompt, then parse it strictly
  10. The fix, part two: an unparseable column, a stated policy, and a random audit
  11. Honest negatives two and three: the format instruction changes the model, and the unparseable policy changes the ranking
  12. Why this, not that - and when NOT to bother auditing the extractor
  13. The way a pro does it: log raw replies, version the parser, and report extraction as a first-class number
  14. Optional appendix: the same four parsers on a free local model with Ollama
  15. Ship it: the reporting checklist, one experiment, and clean-up

Open the full interactive lab →