Back to Talks 2025
Talk

CTI-Agent: Automated battlecards from CTI reports

Recon Village @ DEF CON 338th, 9th and 10th August 2025

Abstract

Threat intelligence reports from reputed parties contain a wealth of OSINT including threat actor details, campaign information, IOCs (indicators of compromise), and TTPs (Tactics, Techniques and Procedures). Such threat intelligence is predominantly consumed with a human in the loop due to several challenges posed: Threat intelligence is often in natural language and difficult to extract automatically; These reports may have incomplete information and may require synthesizing multiple reports to construct a better view of the attack; Some intelligence such as TTPs are often implicit in the report and requires language comprehension; Not all indicators in a report are malicious and further they could have different degrees of confidence on the level of maliciousness and what they define as malicious.

The labor intensive manual process not only makes it difficult/error prone to identify actionable threat intelligence in the form of battlecards but also leave users vulnerable to mentioned attacks due to the increased time gap threat reports and manual extraction of intelligence. The problem is exacerbated by the fact that many similar threat reports with different pieces of intelligence scattered across reports especially for emerging attacks.

We build an agentic system to automate the collection and synthesis of cyber threat intelligence from threat reports using LLM Agents and unsupervised machine learning techniques into battlecards. At a high-level, CTI-Agent first extracts threat actor, campaign, TTPs and IOCs from recently published threat reports from reputed parties using specially crafted prompts on LLMs (Large Language Models) as well as using regular expressions/known knowledge which we refer to as signature based techniques. The agent also generates concise summaries for each threat report using LLMs. After performing a round of validation, the agent uses the summaries and extracted intelligence to synthesize multiple reports together and provide a battlecard with easily digestible threat intelligence. The agent follows the proven ReAct (Reason Action) framework to plan tasks autonomously and achieve the final goal of producing accurate battlecards by reasoning and then acting (i.e. calling various tools) multiple times. We plan to share our experience and lessons learnt during the process of build the CTI-Agent.

The outline of the presentation is as follows:

CTI to Battlecards

How battlecards are used to help protect networks

Manual, time consuming, error-prone

Multiple threat reports with inconsistent descriptions

May contain conflicting IOCs/TTPs

Modeling CTI Reports

Converting unstructured or semi-structured data into structured threat information

Challenges involved

Three key LLM patterns

Prompting LLMs (simple and CoT prompting)

RAG (Retrieval Augmented Generation)

Agents

Prompting LLMs

How to effectively prompt LLMs to elicit best output

Examples

RAG

Describe a RAG system using a diagram

Agents

Describe an magnetic system using a diagram

Evals

Evaluating LLM/Agentic systems is a challenging task

Show how one can incrementally build an eval dataset to evaluate

Agent Tool Calling

Introduce Agent tool calling

Introduce MCP protocol

Multi-Agent Systems

Common patterns

Introduce A2A protocol

Popular Agent Planning Techniques

Introduce what agent planning is

Introduce patterns like Reflection and ReAct

Guardrails

Explain the need to have guardrails

Provide examples

Multi-Agentic System Overview

Monitor and collect recent threat reports from reputed parties

Agentic System to extract Threat Actor, Campaign, TTPs and IOCs

Extract using CoT prompted LLMs

Extract using signature based methods

Validate the collected threat intelligence information via reflection and LLM-as-a-Judge

Create threat report summaries for each threat report prompting LLMs

Collect additional IOCs related to campaigns using in-house intelligence

Save reports, summaries, threat intelligence data to a database

Cluster threat reports to identify related threat reports (i.e. those reports discussing the same threat or campaign)

Generate language embeddings for the threat summaries for threat reports

Generate graph embeddings by modeling threat reports and threat intelligence extracted as a graph and using unsupervised graph learning algorithm

Combine both embeddings together and perform unsupervised learning to cluster embeddings together

The embeddings in the same cluster correspond to threat reports discussing the same threat or campaign

Generate battlecards that can be readily used by security operations professionals

Note: The above steps will be visualized into multiple slides and showed how to realize them in practice.

Agentic System Evaluation

Dataset

Experimental results

Lessons Learned

Various lessons learned during the construction and evaluation of this system plus several other agentic systems that the author built

Summary

Key take aways from the presentation

Speaker

Mohamed Nabeel
Mohamed Nabeel

Principal Security Researcher, Palo Alto Networks

Mohamed Nabeel, PhD, is a cyber security veteran leading the efforts on proactive detection and graph based threat intelligence research and development. He is an open-source enthusiast and a member of Apache Software Foundation. Currently, he is a principal security researcher at Palo Alto Networks. He is passionate about securing AI, and building AI powered tools and systems to help defenders stay one step ahead of Internet miscreants. During his spare time, he teaches AI/Cyber Security to graduate students and mentors cyber security research students at National University. He has authored and presented 25+ US patents and 25+ papers at top security conferences including RSAC, VirusBulletin, IEEE S&P and Usenix Security. Some of his inventions are patented by a rising cyber security firm named bfore.ai and some are successfully productized and deployed at PANW.

View full speaker profile →