When we started our journey of building a foundation model for cybersecurity, LogLM, we were faced with a huge challenge: where do you find enough data to evaluate the model against real-world and AI-driven attacks? As labelled attack data is sparingly available, we set out to build the most exhaustive evaluation suites in cyber. I had the opportunity to build one of the most important pieces in that suite: TempoRange.
To evaluate the model’s performance honestly, you need adversarial data where you know, down to the individual log, what was malicious, when, and why. You also need a benign baseline realistic enough that the score is defensible.
That kind of data is hard to come by! You can't get it from production traffic, because there you rarely know the ground truth, and you can't run real attacks against your customers to find out (without getting in trouble). Jokes aside, you can't get it from public datasets either, since they tend to be stale, over-cleaned, sometimes mislabelled, or full of shortcuts that flatter a model in the lab and mislead you about the field.
So, I built a way to manufacture it.
The result is a self-contained cyber range whose job is to produce honestly labeled network telemetry for evaluating DeepTempo's LogLM. It stands up a realistic, segmented enterprise, runs everyday office activity and adversarial activity side by side inside it, captures every session from independent sensors, and turns the raw capture into model-ready, labeled evaluation datasets.
The Network We Model

To make the range as realistic as possible, I modeled it off a realistic company. It's a segmented enterprise built across separate network domains: an attacker zone, a corporate Active Directory LAN with domain controllers and workstations, an OT/ICS zone, an IoT zone, and a management network. The segmentation is structural, so the domains can only reach each other through paths deliberately created. That makes the boundaries behave like real network boundaries rather than firewall rules that can be misconfigured. Every crossing between zones is forced through an inspection point we own, and traffic that stays inside a zone is captured passively, so there's no blind spot where the richest attack signal usually hides.
The structure we decide to use is important, as it determines the generalizability of the data. Customer networks differ in their addresses, host counts, and branding, but they share the same underlying grammar: identity infrastructure, workstation-to-server patterns, segmentation, north-south versus east-west traffic, and OT and IoT sitting alongside IT. Because LogLM reads the behavior of network conversations rather than memorizing one specific environment, a model measured against this simulated enterprise tells us something real about how it will behave inside our future customer’s environments without ever touching their sensitive data.
That's our biggest strategic payoff. We can validate our model for a new sector by shaping the range to look like that sector, instead of having to prove the model works there.
Simulating Benign Alongside Malicious
If I were to only collect attack data, eval sets would be weak, because telling attack from benign is trivial when there's no benign to begin with. So, I configured the range to run a continuous benign baseline at the same time as every attack: domain users doing DNS lookups, authentication, directory and database queries, file shares, and web browsing. In an attack session, that ordinary activity fills the gaps around the attack, and those gaps become the labeled benign examples.
Generating realistic benign traffic alongside malicious is difficult to manage, but failing to source both from the same environment can distort downstream evaluation. So, I designed a benign baseline that emulates a real enterprise: workstations draw from their own sets of users, activity rises and falls on a daily curve with idle stretches and human-like timing instead of firing on a rigid schedule, and the traffic covers the everyday protocol mix a real corporate network produces. That realism is also what matters most for the integrating into unknown customer environments, as a model measured against convincing everyday activity is far less likely to raise false positives once it's deployed.
Three Engines of Automated Attack Emulation
On top of that network sit three engines, each producing a different flavor of attack behavior.

The scripted range runs reproducible kill chains covering the full sweep of MITRE ATT&CK techniques, driven end to end from a single command. Because the attacks are scripted, I am able to guarantee the labels are exact.
The detonation range covers the messy reality of real code. It safely runs live, open-source malware from sources like MalwareBazaar inside a sealed environment with layered egress containment, capturing genuine attack behavior. My design centers entirely on containment: letting the malware run freely enough to behave like it would in the wild, while guaranteeing it can never reach anything outside the sealed zone.
The ARTEMIS range is used to simulate novel attacks. It's built around ARTEMIS, an open-source autonomous red-team agent from Stanford's Trinity group. Rather than following a script, the agent is dropped into the network and left to plan and carry out its own attack at machine speed. The result is emergent, AI-powered attacker traffic that scripted chains simply can't produce. (I’m really excited about the applications here!)
All three engines feed our data labeling and log correlation pipeline which is designed to ensure that logs from every layer are labeled with 100% accuracy.
What the Range Leads to and Unlocks
Novel threats now emerge faster than any team can write signatures to stop them, and that is precisely the gap DeepTempo was built to close. The range enables us to constantly benchmark our models against both novel attack data as well as cover a much larger portion of the attack space than any production or research data would provide us.
When a new technique or exploit is published, we now have a capability to reproduce it in the range within the same news cycle and run it against our models. Every fresh threat report could become a test we can run the day it lands, which turns the range into a live gauge of how well we adapt to novel attacks.
Continued use and testing of ARTEMIS capabilities in this project is already showing huge value. Since many real-world attacks are no longer driven by people, attackers are deploying autonomous exploits powered by agents that plan, adapt, and improvise at machine speed. ARTEMIS enables us to put that adversary in the range everyday and test LogLM’s adaptability. Just as important, an agent that invents its own attacks can generate them at a scale no team could script by hand, giving us an endless supply of fresh, novel attacks to test against.
Additionally, the range advances our work on understanding which signals show up in which log types. Since no single log tells the whole story of an attack, I've configured the range to produce them all: network flows, DNS, HTTP, and TLS records, identity and endpoint events, authentication logs, and cloud and SaaS audit trails. Mapping real threats from Cloudflare's 2026 Threat Report against the logs that reveal them makes the point clear: DeepTempo's ability to draw insight from every log type, not just one, is proving crucial.

Longer term, all of this becomes a standing adversarial-data engine: a continuously refreshed benchmark that keeps pace with how attacks evolve and can be reshaped to fit any sector we want to enter. As attackers adopt AI, the data we measure ourselves against can't hold still. Building TempoRange was the first step.
Sources: MITRE ATT&CK, attack.mitre.org · MalwareBazaar (abuse.ch), bazaar.abuse.ch · ARTEMIS (Stanford Trinity), github.com/Stanford-Trinity/ARTEMIS · Stanford Trinity, trinity.cs.stanford.edu · "Comparing AI Agents to Cybersecurity Professionals," arxiv.org/pdf/2512.09882
