Adversary Brains: Hypothesis-Based Logical Signatures for Threat Actor Detection with LLMs
Organizations: Knostic
Abstract
An adversary brain is an LLM-based model of a threat actor's behavior, held as an evolving logical signature: a hypothesis with enough structure that data can test it continuously, without a person re-interpreting it each time. Rather than any single observation, such as an IoC (Indicator of Compromise), it is the arrangement that becomes a detection, or intelligence, mechanism. Where YARA matches a file and Sigma matches a log line, an adversary brain matches the activity pattern of a campaign or threat actor. This is based on an intelligence analysis technique called Analysis of Competing Hypotheses (ACH), which the design lifts from the limitation of a few hypotheses at a time, to thousands, and then also operationalizes it for continuous detection purposes. Language models make the concept, and scale, practical: they turn prose reports into brains, judge matches, and drive the loop that keeps brains current. A partial pattern in a brain can also match a new value, such as a fresh C2 (command and control) domain name, assisting with the discovery of new indicators, and turning unknown unknowns into known unknowns, and potentially into knowns. The author would like to thank Ryan Moon for the collaboration, and Sounil Yu, Chris Inglis, Thomas Roccia, Marius Benthin, Israel Grimberg, Michal Kamensky, Justin Borland, Brandon Levene, John Hultquist, and John Bambenek for their feedback and assistance.
Figures & tables
| Field | Type | Required | Notes |
|---|---|---|---|
| schema | string | required | Fixed: "brain/0.1" |
| id | string | required | UUIDv4, stable for the brain’s life |
| title | string | required | Max 256 chars, sentence case |
| status | enum | required | experimental | test | stable | retired |
| scale | enum | required | link | technique-set | attack-chain | campaign | threat-actor |
| representation | enum | required | graph | list | chain | centroid | embedding |
| Field | Type | Required | Notes |
|---|---|---|---|
| id | string | required | Local ref, unique in file, e.g. "e1" |
| type | string | required | A STIX SCO type where one exists (domain-name, ipv4-addr, file, process, user-account, …), else a namespaced custom type, e.g. "x-vendor-thing" |
| value | string | optional | A concrete value ( "evil.example" ) |
| pattern | map | optional | Field constraints when no concrete value, e.g. {name: "powershell.exe", command_line|contains: "-enc"} |
| Field | Type | Required | Notes |
|---|---|---|---|
| id | string | required | Local ref, unique in file, e.g. "L1" |
| type | enum | required | state | activity |
| source | string | required | An entity id |
| target | string | required | An entity id; may equal source for an action an entity takes on itself |
| relation | string | required | Verb from the recommended vocabulary (shared-registrant, resolves-to, spawned, connected-to, wrote, authenticated-to, …) or a namespaced custom verb |
| role | enum | required | required | supporting |
Cyber Threat Intelligence
Cyber threat intelligence turns evidence about adversaries, campaigns, and vulnerabilities into knowledge that helps defenders anticipate and respond to attacks.
See all 42 papers