Skip to main content
← All posts
6 min read

Your CTI Pipeline Is Already Contaminated

Threat intelligence was built on the assumption that your analysis layer is neutral. LLMs trained on public CTI reports aren't neutral — they've absorbed adversarial narratives, attribution biases, and threat actor disinformation before you wrote a single query.

Share

The threat intelligence industry is moving fast to integrate LLMs into CTI workflows. Automated IOC enrichment. Natural-language querying of threat databases. AI-assisted report generation. Summarization pipelines that distill thousands of alerts into actionable intelligence in seconds.

The pitch is compelling. The scale advantage is real. But there's a contamination problem embedded in the foundation that most teams haven't fully reckoned with, and it changes the reliability guarantees of everything built on top.

How LLMs absorbed your threat database

Frontier LLMs were trained on the public internet. The public internet includes: NVD, MITRE ATT&CK, CVE databases, published threat actor profiles, every public malware analysis report, every vendor blog post attributing a campaign to APT28 or Lazarus Group, every research paper on TTP evolution, every OSINT report discussing nation-state operations.

When you query an LLM about a threat actor, a malware family, or an attack pattern, the model is not consulting a clean, curated threat database. It's drawing on a training corpus that absorbed all of that content — including the parts that were wrong, the parts that were politically motivated, the parts that were vendor hype cycles, and potentially the parts that were adversarially placed.

CTI has always had a quality problem. Reporting varies widely in reliability. Attribution is hard and frequently contested. Vendor threat reports have commercial incentives that influence their framing. OSINT is noisy. The analyst's job is to evaluate sources, weight evidence, and form calibrated assessments.

LLMs collapse this process. They present confident, fluent responses that blend high-quality intelligence with vendor marketing with contested attribution with potentially adversarial narratives — without surfacing the source quality or the confidence level behind any of it. The output looks authoritative in the same way a confidently wrong analyst looks authoritative.

The adversarial narrative problem

This is where it gets more specific to threat intelligence as a domain.

Threat actors know that public reporting influences how defenders understand them. This isn't paranoid speculation — it's documented. Nation-state actors have published disinformation through front organizations designed to create false attribution trails. APT groups have seeded analysis reports with deliberate TTPs to mislead defenders. Ransomware groups have issued public statements specifically designed to influence how their operations are understood.

All of that is in the training data.

When you use an LLM to reason about threat actor behavior, your model has absorbed years of adversarial narrative management alongside legitimate intelligence. You can't query it for a clean separation of those signals. There is no flag in the training data that marks a piece of content as adversarially placed.

The traditional response to this problem is source evaluation: you weight intelligence by the credibility and methodology of the source. You don't treat a vendor blog post with the same confidence as a technically detailed malware analysis. You note when attribution claims are contested across sources.

An LLM synthesizes across sources without that weighting. Every piece of information it absorbed during training has equal standing in its context window. High-quality analysis and adversarial narrative sit beside each other, blended into a response you receive as unified.

Where this shows up in real workflows

Attribution queries. Ask an LLM which threat actor is behind a campaign and you'll get a confident response. That response reflects the dominant attribution narrative in the training data — which reflects the most-published view, not necessarily the most accurate view. If a well-resourced actor has been successfully seeding false attribution for two years, that narrative is in the training data.

TTP enrichment. When you feed an LLM observed TTPs and ask it to identify the likely threat actor or campaign, it pattern-matches against its training. If the observed TTPs overlap with published profiles, it will surface those. It will not tell you that the overlap might be deliberate — that a threat actor is mimicking another group's patterns specifically to confuse attribution.

Historical context queries. LLMs are genuinely useful for summarizing historical context about a threat actor or vulnerability family. They're also summarizing a corpus that includes outdated, superseded, and incorrect analysis. A malware family that has been significantly retooled since its initial discovery will still be characterized partly by its original analysis, which may no longer be accurate.

Automated report generation. If your CTI pipeline uses LLMs to generate first-draft reports from raw data, those drafts will embed the model's training priors — including its absorbed narratives about attribution and actor behavior — into reports that analysts then review. The review process tends to correct errors. It's less likely to catch subtle framing inherited from training data, because the framing often sounds plausible.

What a contamination-aware CTI stack looks like

This isn't an argument against using LLMs in CTI workflows. The efficiency gains are real and the capability gaps they fill are significant. It's an argument for architectural choices that account for the contamination problem explicitly.

Separate retrieval from reasoning. Use LLMs for reasoning about intelligence you've already retrieved from sources you control — your own telemetry, your own honeypot data, curated and sourced threat databases with known provenance. Don't use them as the primary retrieval layer for external threat intelligence. The contamination risk is in the model's training priors. Keeping the model's role as a reasoning layer over clean data rather than as an information source reduces exposure.

Source that provenance. Any LLM-generated CTI output should carry a provenance note: this was generated by a model with a training cutoff of X, reasoning over data from Y. Analysts reviewing the output need to know they're reviewing model-synthesized content, not curated intelligence. This sounds obvious and is widely not done.

Build adversarial narrative evaluation into your pipeline. For attribution assessments, explicitly query for contested interpretations, not just the dominant narrative. "What's the most common attribution for this campaign?" and "What are the strongest counterarguments to that attribution?" are both useful. The second question is the one most LLM-integrated CTI tools skip.

Treat the model's confident claims about threat actors as priors, not facts. The model is confidently synthesizing its training corpus. Its confidence is a measure of how strongly represented a narrative is in that corpus, not a measure of its accuracy. Build evaluation processes that treat LLM attribution outputs as hypotheses requiring validation against first-party data.

The thing the vendor pitch doesn't mention

The CTI vendors building LLM-integrated products are solving real problems. Query latency, report generation, analyst productivity — those are genuine bottlenecks and the tools address them.

What the pitch doesn't fully address: the model at the center of these products absorbed the same public threat intelligence ecosystem that your analysts have been trying to critically evaluate for years. The scale advantage of LLMs is real. The scale of the contamination problem is proportional to that advantage.

The teams that will navigate this well are the ones who understand that LLMs in CTI workflows are reasoning engines, not ground truth. They use them to process, synthesize, and surface hypotheses over first-party data. They don't use them as authoritative sources for attribution or threat actor characterization, because the training corpus behind those outputs is not a curated intelligence database.

It's the public internet. With all the adversarial noise that implies.

Work with me

I consult with engineering teams on AI adoption, cloud architecture, and engineering effectiveness. If this post surfaced a challenge you're facing, let's talk.

Get in touch →

Explore more on these topics:

Subscribe to new posts

Get an email when I publish something new. No spam, unsubscribe any time.